国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種基于fpga的在線生成密鑰的aes數(shù)據(jù)加密方法

      文檔序號(hào):10596987閱讀:295來源:國(guó)知局
      一種基于fpga的在線生成密鑰的aes數(shù)據(jù)加密方法
      【專利摘要】本發(fā)明涉及一種基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,包括:將預(yù)分割形成的狀態(tài)數(shù)組首先進(jìn)行第0輪輪密鑰加操作,之后再按加密算法的加密邏輯順序輸入按反饋工作模式的密鑰形成方法通過在線方式依次順序產(chǎn)生的1?10輪密鑰對(duì)上一輪加密操作后形成的狀態(tài)數(shù)組依次順序加密形成相應(yīng)密文輸出;第1輪的密鑰的生成時(shí)刻與第0輪輪密鑰加操作同步。本發(fā)明提出的基于FPGA的AES數(shù)據(jù)加密方法,通過以上的技術(shù)方案,大大提高了加密算法的加密處理的性能。
      【專利說明】
      一種基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法
      技術(shù)領(lǐng)域
      [0001]本發(fā)明屬于汽車涂裝技術(shù)領(lǐng)域,具體涉及一種基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法。
      【背景技術(shù)】
      [0002]隨著信息化的發(fā)展,計(jì)算機(jī)和互聯(lián)網(wǎng)深入到生活工作生產(chǎn)中的方方面面。對(duì)應(yīng)的,網(wǎng)絡(luò)信息安全問題也隨之成為目前至關(guān)重要的問題之一。
      [0003]網(wǎng)絡(luò)安全主是要針對(duì)網(wǎng)絡(luò)攻擊,防洪網(wǎng)絡(luò)攻擊。針對(duì)網(wǎng)絡(luò)攻擊,從網(wǎng)絡(luò)結(jié)構(gòu)上筑造堅(jiān)固的堡皇進(jìn)行防范和完善惡意行為監(jiān)測(cè)機(jī)制是一方面,另一方面數(shù)據(jù)安全,即數(shù)據(jù)傳輸、數(shù)據(jù)存儲(chǔ)的安全也至關(guān)重要。而數(shù)據(jù)的泄露主要是由于數(shù)據(jù)傳輸存儲(chǔ)過程中采用明文或是僅采用簡(jiǎn)單加密方式導(dǎo)致的信息泄露。黑客攻擊防不勝防,在數(shù)據(jù)的傳輸和存儲(chǔ)過程中,對(duì)數(shù)據(jù)選取安全有效的加密加密算法進(jìn)行加密是保證數(shù)據(jù)安全、防止信息泄露的最常見也是最重要的方式。
      [0004]對(duì)數(shù)據(jù)加密采用的算法的安全有效性方面,AES(Advanced Encrypt1nStandard)算法已久經(jīng)考驗(yàn)。Ri jndael算法是經(jīng)過五年的觀選評(píng)估測(cè)試,由美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)最終選定的新一代數(shù)據(jù)加密標(biāo)準(zhǔn),即AES JES算法指的就是Rijndael算法,它是一種開放性對(duì)稱分組加密算法。AES算法不僅對(duì)目前已知的密碼分析攻擊具備很強(qiáng)的抗攻擊性,而且在實(shí)現(xiàn)方面,算法簡(jiǎn)單明了,計(jì)算量相對(duì)較小。作為目前最優(yōu)秀的對(duì)稱加密算法,其應(yīng)用已深入各個(gè)安全領(lǐng)域,是事實(shí)標(biāo)準(zhǔn)。
      [0005]然而在針對(duì)目前大規(guī)模的高速數(shù)據(jù)流,數(shù)據(jù)加密性能方面,使用傳統(tǒng)的軟件加密來處理,不僅在實(shí)時(shí)性上會(huì)拖慢傳輸速度,而且大量占用主機(jī)的CPU,使得主機(jī)性能嚴(yán)重下降,若加密模塊的實(shí)現(xiàn)采用專用高速硬件的實(shí)現(xiàn)方式,就能夠繞開傳統(tǒng)軟件加密的缺點(diǎn),更好地實(shí)現(xiàn)性能需求。但是在國(guó)內(nèi),針對(duì)高性能的硬件加密模塊的研究卻不多,更多的研究集中于低功耗的嵌入式設(shè)備中的加密模塊設(shè)計(jì)。因此,設(shè)計(jì)能實(shí)現(xiàn)高性能硬件加密模塊,對(duì)于應(yīng)對(duì)我國(guó)目前的數(shù)據(jù)加密性能需求具有重要意義。

      【發(fā)明內(nèi)容】

      [0006]本發(fā)明的目的在于解決上述的技術(shù)問題而提供一種基于FPGA的AES數(shù)據(jù)加密方法。
      [0007]為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
      一種基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,包括以下步驟:
      將待處理的數(shù)據(jù)流按預(yù)設(shè)的處理方法預(yù)處理,分割成多個(gè)預(yù)定長(zhǎng)度的狀態(tài)數(shù)組;將所述狀態(tài)數(shù)組首先進(jìn)行第O輪輪密鑰加操作,之后再按加密算法的加密邏輯順序輸入按反饋工作模式通過在線方式依次順序產(chǎn)生的1-10輪密鑰對(duì)上一輪加密操作后形成的狀態(tài)數(shù)組依次順序加密形成相應(yīng)密文輸出;
      其中,第1-9輪的加密過程依次包括字節(jié)替換、行移位、列混合和輪密鑰加的操作,且1-9輪中每輪的列混合和輪密鑰加的步驟合并形成一個(gè)步驟,所述列混合和輪密鑰加的步驟采用三個(gè)異或門依次進(jìn)行完成每輪輪密鑰加處理;第10輪的加密過程包括字節(jié)替換、行移位和輪密鑰加的操作;
      其中,第I輪的密鑰的生成時(shí)刻與第O輪輪密鑰加操作同步。
      [0008]所述1-10輪密鑰是利用輸入的種子密鑰和密鑰擴(kuò)展算法按邏輯順序在線依次生成。
      [0009]所述種子密鑰是AES加密算法的輸入密鑰,該輸入密鑰作為輸入?yún)⑴c第O輪輪密鑰加操作。
      [0010]所述1-10輪密鑰的每一輪密鑰的生成采用以下步驟:
      維護(hù)一個(gè)密鑰調(diào)度表,用于存儲(chǔ)種子密鑰和十輪密鑰;該密鑰調(diào)度表為一個(gè)4行4 X 11列的二維數(shù)組,每個(gè)數(shù)組單元為一個(gè)字節(jié),二維數(shù)組的每一列作為一個(gè)字;所述種子密鑰被復(fù)制到密鑰調(diào)度表的前四個(gè)字中,然后第一輪密鑰擴(kuò)展生成的密鑰占據(jù)之后的四個(gè)字,依此編排,十輪擴(kuò)展之后,密鑰調(diào)度表會(huì)被填滿,密鑰擴(kuò)展過程結(jié)束,其中,每一輪密鑰生成是通過字循環(huán)移位、字節(jié)替換以及輪常量異或的步驟順序操作形成。
      [0011]每一輪的加密操作以及每一輪的密鑰擴(kuò)展操作中的字節(jié)替換均是通過S盒查找表的方式實(shí)現(xiàn)。
      [0012]所述S盒采用FPGA的的可重構(gòu)邏輯單元實(shí)現(xiàn)通過查找表的方式實(shí)現(xiàn)。
      [0013]所述1-10輪密鑰利用三個(gè)異或門依次處理后而形成。
      [0014]本發(fā)明提出的基于FPGA的AES數(shù)據(jù)加密方法,通過將預(yù)先分割形成的狀態(tài)數(shù)組首先進(jìn)行第O輪輪密鑰加操作,之后再按加密算法的加密邏輯順序輸入按反饋工作模式通過在線方式依次順序產(chǎn)生的1-10輪密鑰對(duì)上一輪加密操作后形成的狀態(tài)數(shù)組依次順序加密形成相應(yīng)密文輸出,且1-9輪中每輪的列混合和輪密鑰加的步驟合并形成一個(gè)步驟,第I輪的密鑰的生成時(shí)刻與第O輪輪密鑰加操作同步,大大提高了加密算法的加密處理的性能。
      【附圖說明】
      [0015]圖1為本發(fā)明實(shí)施例提供的基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法的加密流程示意圖;
      圖2為本發(fā)明實(shí)施例提供的基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法的密鑰的形成流程示意圖;
      圖3為本發(fā)明實(shí)施例提供的基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法的電路原理示意圖。
      【具體實(shí)施方式】
      [0016]下面,結(jié)合實(shí)例對(duì)本發(fā)明的實(shí)質(zhì)性特點(diǎn)和優(yōu)勢(shì)作進(jìn)一步的說明,但本發(fā)明并不局限于所列的實(shí)施例。
      [0017]參見圖1-3所示,一種基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,包括以下步驟:
      將待處理的數(shù)據(jù)流按預(yù)設(shè)的處理方法預(yù)處理,分割成多個(gè)預(yù)定長(zhǎng)度的狀態(tài)數(shù)組; 將所述狀態(tài)數(shù)組首先進(jìn)行第O輪輪密鑰加操作,之后再按加密算法的加密邏輯順序輸入按反饋工作模式的密鑰形成方法通過在線方式依次順序產(chǎn)生的1-10輪密鑰對(duì)上一輪加密操作后形成的狀態(tài)數(shù)組依次順序加密形成相應(yīng)密文輸出;
      其中,第1-9輪的加密過程依次包括字節(jié)替換、行移位、列混合和輪密鑰加的操作,且1-9輪中每輪的列混合和輪密鑰加的步驟合并形成一個(gè)步驟,所述列混合和輪密鑰加的步驟采用三個(gè)異或門ROX依次進(jìn)行完成每輪輪密鑰加處理;第10輪的加密過程包括字節(jié)替換、行移位和輪密鑰加的操作;
      其中,第I輪的密鑰的生成時(shí)刻與第O輪輪密鑰加操作同步。
      [0018]所述的列混合和輪密鑰加的步驟采用三個(gè)異或門R0X,如圖1所示,分別為列混合和輪密鑰加第一個(gè)異或門R0X、列混合和輪密鑰加第二個(gè)異或門R0X、列混合和輪密鑰加第三個(gè)異或門ROX。
      [0019]所述1-10輪密鑰是利用輸入的種子密鑰和密鑰擴(kuò)展算法按邏輯順序在線依次生成。
      [0020]具體在對(duì)一組狀態(tài)數(shù)組進(jìn)行加密時(shí),通過首先判斷加密輪數(shù)R是否為O依次按上述的方法步驟進(jìn)行10輪的加密處理操作,在加密輪數(shù)為11時(shí)結(jié)束,這樣一組狀態(tài)數(shù)組的加密完成,然后再按同樣的加密操作處理方法進(jìn)行下一組狀態(tài)數(shù)組的加密,最后輸出相應(yīng)的密文。
      [0021 ]所述種子密鑰是AES加密算法的輸入密鑰,該輸入密鑰作為輸入?yún)⑴c第O輪輪密鑰加操作,同時(shí)也是密鑰擴(kuò)展的唯一輸入?yún)?shù)。
      [0022]本發(fā)明中,所述1-10輪密鑰的每一輪密鑰的生成采用以下步驟:
      維護(hù)一個(gè)密鑰調(diào)度表,用于存儲(chǔ)種子密鑰和十輪密鑰;該密鑰調(diào)度表為一個(gè)4行4 X 11列的二維數(shù)組,每個(gè)數(shù)組單元為一個(gè)字節(jié),二維數(shù)組的每一列作為一個(gè)字;所述種子密鑰被復(fù)制到密鑰調(diào)度表的前四個(gè)字中,然后第一輪密鑰擴(kuò)展生成的密鑰占據(jù)之后的四個(gè)字,依此編排,十輪擴(kuò)展之后,密鑰調(diào)度表會(huì)被填滿,密鑰擴(kuò)展過程結(jié)束,其中,每一輪密鑰生成是通過上一輪密鑰的四個(gè)字經(jīng)過字循環(huán)移位、字節(jié)替換以及輪常量異或的步驟順序操作形成。
      [0023]具體的,如一個(gè)128bit長(zhǎng)度的初始密鑰被視為一個(gè)分組,按照與數(shù)據(jù)分組相同的狀態(tài)數(shù)組編排規(guī)則,將初始密鑰分組編排成狀態(tài)數(shù)組的形式,密鑰以同樣的狀態(tài)數(shù)組形式存在,這樣的設(shè)計(jì)使得密鑰能夠更加直觀簡(jiǎn)便地參與到加密過程中。
      [0024]其中,所述1-10輪密鑰利用三個(gè)異或門依次處理后而形成,如圖2所示密鑰擴(kuò)展第一異或門、密鑰擴(kuò)展第二異或門、密鑰擴(kuò)展第三個(gè)異或門,前一個(gè)異或門的輸出作為下一下異或門的輸入進(jìn)行處理,通過三個(gè)異或門最終完成該每輪的輪密鑰架的操作。
      [0025]需要說明的是,本發(fā)明中,每一輪的所述密鑰在字循環(huán)移位、字節(jié)替換后具體可采用三個(gè)異或門ROX通過輪常量異或生成。
      [0026]每一輪的密鑰形成的步驟具體是,對(duì)上一輪密鑰的最后一個(gè)字進(jìn)行循環(huán)移位,然后進(jìn)行字節(jié)替換以及輪常量異或而形成。
      [0027]字節(jié)替換就是對(duì)循環(huán)移位產(chǎn)生的結(jié)果進(jìn)行字節(jié)替換;
      輪常量異或就是字節(jié)替換產(chǎn)生的結(jié)果需要與一個(gè)常量進(jìn)行異或運(yùn)算,該常量稱為輪常量,該異或操作這里稱為輪常量異或。十輪密鑰擴(kuò)展使用的輪常量各不相同,用一個(gè)數(shù)組來
      [0028]具體的,生產(chǎn)每輪所述密鑰的三個(gè)異或門的處理過程分別分別對(duì)應(yīng)于加密操作的列混合和輪密鑰加的三個(gè)異或門的處理步驟,生成的每一輪密鑰分別用于對(duì)應(yīng)的每輪列混合和輪密鑰加的步驟(其中,第10輪中無列混合步驟,只有輪密鑰架的操作步驟)。
      [0029]具體的,本發(fā)明中,每一輪的加密操作以及每一輪的密鑰操作中的字節(jié)替換均是通過S盒查(S-B0X)找表的方式實(shí)現(xiàn)。
      [0030]所述S盒采用FPGA的的可重構(gòu)邏輯單元實(shí)現(xiàn)通過查找表的方式實(shí)現(xiàn),通過可重構(gòu)邏輯單元訪問該查找表并不經(jīng)過總線訪存,該查找表同加密算法的其他模塊之間有快速的交互通道,從而提高了處理的速度,減少了延時(shí)。
      [0031]本發(fā)明中,每一輪的加密操作以及密鑰中的字節(jié)替換采用S盒實(shí)現(xiàn),所述S盒的作用是針對(duì)狀態(tài)數(shù)組或密鑰數(shù)組的每一個(gè)字節(jié),找到它對(duì)應(yīng)的非線性變換后的結(jié)果,在狀態(tài)數(shù)組或密鑰數(shù)組中對(duì)其進(jìn)行替換。
      [0032]需要說明的是,本發(fā)明中,所述FPGA器件可以采用為Altera公司的Stratix IV系列,該系列FPGA中ALM(High_performance adaptive logic modules,可重構(gòu)單元)數(shù)量在23萬至36萬之間,一個(gè)ALM至少可以相當(dāng)于一個(gè)256的RAM,相當(dāng)于可以實(shí)現(xiàn)6-9Mbit的RAM,用于實(shí)現(xiàn)不在一個(gè)數(shù)量級(jí)的40Kbit或400Kbit的S盒,并且不影響其他設(shè)計(jì)。
      [0033]本發(fā)明方法運(yùn)用在Altera的Stratix IV系列FPGA環(huán)境中,在線密鑰生成時(shí),反饋模式的吞吐率能夠達(dá)到3.76Gbps。
      [0034]可見,本發(fā)明提出的基于FPGA的AES數(shù)據(jù)加密方法,通過將預(yù)先分割形成的狀態(tài)數(shù)組首先進(jìn)行第O輪輪密鑰加操作,之后再按加密算法的加密邏輯順序輸入按反饋工作模式通過在線方式依次順序產(chǎn)生的1-10輪密鑰對(duì)上一輪加密操作后形成的狀態(tài)數(shù)組依次順序加密形成相應(yīng)密文輸出,且1-9輪中每輪的列混合和輪密鑰加的步驟合并形成一個(gè)步驟,第I輪的密鑰的生成時(shí)刻與第O輪輪密鑰加操作同步,大大提高了加密算法的加密處理的性會(huì)K。
      [0035]以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
      【主權(quán)項(xiàng)】
      1.一種基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,其特征在于,包括以下步驟: 將待處理的數(shù)據(jù)流按預(yù)設(shè)的處理方法預(yù)處理,分割成多個(gè)預(yù)定長(zhǎng)度的狀態(tài)數(shù)組; 將所述狀態(tài)數(shù)組首先進(jìn)行第O輪輪密鑰加操作,之后再按加密算法的加密邏輯順序輸入按反饋工作模式的密鑰形成方法通過在線方式依次順序產(chǎn)生的1-10輪密鑰對(duì)上一輪加密操作后形成的狀態(tài)數(shù)組依次順序加密形成相應(yīng)密文輸出; 其中,第1-9輪的加密過程依次包括字節(jié)替換、行移位、列混合和輪密鑰加的操作,且1-9輪中每輪的列混合和輪密鑰加的步驟合并形成一個(gè)步驟,所述列混合和輪密鑰加的步驟采用三個(gè)異或門依次進(jìn)行完成每輪輪密鑰加處理;第10輪的加密過程包括字節(jié)替換、行移位和輪密鑰加的操作; 其中,第I輪的密鑰的生成時(shí)刻與第O輪輪密鑰加操作同步。2.根據(jù)權(quán)利要求1所述基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,其特征在于,所述1-10輪密鑰是利用輸入的種子密鑰和密鑰擴(kuò)展算法按邏輯順序在線依次生成。3.根據(jù)權(quán)利要求2所述基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,其特征在于,所述種子密鑰是AES加密算法的輸入密鑰,該輸入密鑰作為輸入?yún)⑴c第O輪輪密鑰加操作。4.根據(jù)權(quán)利要求3所述基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,其特征在于,所述1-10輪密鑰的每一輪密鑰的生成采用以下步驟: 維護(hù)一個(gè)密鑰調(diào)度表,用于存儲(chǔ)種子密鑰和十輪密鑰;該密鑰調(diào)度表為一個(gè)4行4 X 11列的二維數(shù)組,每個(gè)數(shù)組單元為一個(gè)字節(jié),二維數(shù)組的每一列作為一個(gè)字;所述種子密鑰被復(fù)制到密鑰調(diào)度表的前四個(gè)字中,然后第一輪密鑰擴(kuò)展生成的密鑰占據(jù)之后的四個(gè)字,依此編排,十輪擴(kuò)展之后,密鑰調(diào)度表會(huì)被填滿,密鑰擴(kuò)展過程結(jié)束,其中,每一輪密鑰生成是通過字循環(huán)移位、字節(jié)替換以及輪常量異或的步驟順序操作形成。5.根據(jù)權(quán)利要求4所述基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,其特征在于,每一輪的加密操作以及每一輪的密鑰擴(kuò)展操作中的字節(jié)替換均是通過S盒查找表的方式實(shí)現(xiàn)。6.根據(jù)權(quán)利要求5所述基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,其特征在于,所述S盒采用FPGA的的可重構(gòu)邏輯單元實(shí)現(xiàn)通過查找表的方式實(shí)現(xiàn)。7.根據(jù)權(quán)利要求1所述基于FPGA的在線生成密鑰的AES數(shù)據(jù)加密方法,其特征在于,所述1-10輪密鑰利用三個(gè)異或門依次處理后而形成。
      【文檔編號(hào)】H04L9/06GK105959100SQ201610467088
      【公開日】2016年9月21日
      【申請(qǐng)日】2016年6月23日
      【發(fā)明人】楊志欣, 李 杰, 倪紅
      【申請(qǐng)人】天津中安華典數(shù)據(jù)安全科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1