亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種密鑰序列的獲取方法和系統(tǒng)以及fpga的制作方法_3

文檔序號:9330325閱讀:來源:國知局
口單元通過第三1引腳把密鑰長度的值傳輸給密鑰序列裝置;在進(jìn)入讀密鑰狀態(tài)時(shí),控制所述接口單元通過第四1引腳接收密鑰序列裝置傳輸來的密鑰序列。
[0093]本發(fā)明一個(gè)實(shí)施例還提出了一種密鑰序列的獲取系統(tǒng),參見圖3,包括密鑰序列裝置301以及本發(fā)明任意一種實(shí)施例的FPGA 302 ;其中,
[0094]所述密鑰序列裝置301,在所述FPGA 302的狀態(tài)機(jī)的控制下,依次執(zhí)行初始向量的加載、密鑰長度的設(shè)置、根據(jù)所述加載的初始向量及所述設(shè)置的密鑰長度來生成密鑰序列、向所述FPGA 302的狀態(tài)機(jī)返回所生成的密鑰序列。
[0095]所述密鑰序列裝置包括所述Trivium模塊,所述Trivium模塊包括:
[0096]時(shí)鐘信號引腳CLK,與所述FPGA的時(shí)鐘信號引腳相連;
[0097]復(fù)位信號引腳RST,與所述FPGA的復(fù)位信號引腳相連;
[0098]初始向量IV引腳IV [79..0],與所述FPGA的第一 1引腳相連;
[0099]IV加載信號引腳IV_load,與所述FPGA的第二 1引腳相連;
[0100]密鑰序列長度信號引腳KEY_len[31..0],與所述FPGA的第三1引腳相連;
[0101]密鑰序列輸出引腳S_out,與所述FPGA的第四1引腳相連。
[0102]圖4是本發(fā)明一個(gè)實(shí)施例中FPGA與密鑰序列裝置的連接示意圖。參見圖4,在本發(fā)明的任意一種實(shí)施例中,F(xiàn)PGA的接口單元與密鑰序列裝置的連接可以采用如下方式實(shí)現(xiàn):
[0103]在FPGA的接口單元中包括:
[0104]1、時(shí)鐘信號引腳(記為圖4中的CLK),連接到密鑰序列裝置的時(shí)鐘信號引腳CLK ;
[0105]2、復(fù)位信號引腳(記為圖4中的RST),連接到密鑰序列裝置的復(fù)位信號引腳RST,低電平有效;
[0106]3、第一 1引腳(記為圖4中的10[79..0]),連接到密鑰序列裝置的初始向量IV引腳(記為圖4中的IV[79..0]);
[0107]4、第二 1引腳(記為圖4中的10),連接到密鑰序列裝置的IV加載信號引腳(記為圖4中的IV_load),高電平有效;
[0108]5、第三1引腳(記為圖4中的10[31..0]),連接到密鑰序列裝置的密鑰序列長度信號引腳(記為圖4中的KEY_len[31..0]);
[0109]6、第四1引腳(記為圖4中的10),連接到密鑰序列裝置的密鑰序列輸出引腳(記為圖4中的S_out)。
[0110]為了更加清楚地體現(xiàn)本發(fā)明實(shí)施例中基于硬件FPGA中的狀態(tài)機(jī)對密鑰序列裝置生成密鑰序列進(jìn)行控制的過程,下面舉一個(gè)具體的例子進(jìn)行說明,參見圖5、圖6和圖7,以密鑰序列裝置為Trivium模塊為例,包括:
[0111]501:預(yù)先在FPGA中設(shè)置雙端口 RAM以及狀態(tài)機(jī),并設(shè)置狀態(tài)機(jī)的各個(gè)狀態(tài)及各個(gè)狀態(tài)的流轉(zhuǎn)關(guān)系。
[0112]這里,參見圖6,狀態(tài)機(jī)中的狀態(tài)包括:空閑狀態(tài)(IDLE)、復(fù)位狀態(tài)(RESET)、加載IV狀態(tài)(Load_IV)、寫密鑰長度狀態(tài)(Write_Len)、等待狀態(tài)(WAIT)、讀密鑰狀態(tài)(Read_Key),各個(gè)狀態(tài)之間的切換關(guān)系可以參見圖6所示。
[0113]502:將 FPGA 與 Trivium 模塊相連。
[0114]這里,參見圖4,F(xiàn)PAG的CLK連接到Trivium模塊的CLK ;
[0115]FPGA 的 RST 連接到 Trivium 模塊的 RST ;
[0116]FPGA 的 1[79..0])連接到 Trivium 模塊的 IV[79..0];
[0117]FPGA 的一個(gè) 1 連接到 Trivium 模塊的 IV_load ;
[0118]FPGA 的 Ι0[31..0]連接到 Trivium 模塊的 KEY_len[31..0];
[0119]FPGA的另一個(gè)1連接到Trivium模塊的S_out。
[0120]參見圖4,除CLK引腳外,Trivium模塊的多數(shù)引腳與FPGA的1 口連接,所有信號是時(shí)鐘同步的,在上升沿被采樣。各信號的功能如下:
[0121]CLK:輸入信號,是Trivium模塊的時(shí)鐘信號,時(shí)鐘頻率為50MHz ;
[0122]RST:輸入信號,是Trivium模塊的復(fù)位信號,低電平有效;
[0123]IV[79..0]:輸入信號,80bit初始向量;
[0124]IV_load:輸入信號,IV向量加載使能信號,高電平有效;
[0125]KEY_len[31..0]:輸入信號,設(shè)置密鑰序列的輸出長度;
[0126]S_out:輸出信號,密鑰序列的輸出。
[0127]503:FPGA的狀態(tài)機(jī)首先進(jìn)入IDLE狀態(tài)。
[0128]504 =FPGA的狀態(tài)機(jī)進(jìn)入RESET狀態(tài),將FPGA的RST置為低電平。
[0129]505 =Trivium模塊通過其RST檢測到低電平信號,進(jìn)行復(fù)位處理。
[0130]506:外部主機(jī)將初始向量IV通過雙端口 RAM的一個(gè)端口寫入雙端口 RAM。
[0131]507 =FPGA的狀態(tài)機(jī)進(jìn)入Load_IV,通過1輸出高電平信號。
[0132]508 =Trivium模塊通過其IV_load檢測到高電平信號,準(zhǔn)備接收初始向量IV。
[0133]509:FPGA從雙端口 RAM中讀取初始向量IV,通過10[79..0]向Trivium模塊輸出初始向量IV。
[0134]510 =Trivium模塊通過其Ι0[79..0]接收到初始向量IV。
[0135]511:FPGA進(jìn)入Write_Len狀態(tài),通過1[31..0]把密鑰長度的值傳輸給Trivium模塊,之后,進(jìn)入WAIT狀態(tài)。
[0136]512 =Trivium模塊通過其KEY_len[31..0]接收到密鑰長度的值。
[0137]513 =Trivium模塊根據(jù)接收的初始向量IV以及密鑰長度的值,生成密鑰序列。
[0138]514:FPGA 進(jìn)入 Read_Key 狀態(tài)。
[0139]515 =Trivium模塊通過S_out將生成的密鑰序列傳輸給FPGA。
[0140]516 =FPGA從與S_out相連的1接收到密鑰序列,通過雙端口 RAM的另一個(gè)端口,將密鑰序列保存到雙端口 RAM中。
[0141]需要說明的是,在上述本發(fā)明的實(shí)施例中,對狀態(tài)機(jī)各狀態(tài)的編碼可以采用格雷碼的方式,從而可以有效的防止毛刺的產(chǎn)生,使系統(tǒng)穩(wěn)定。
[0142]至此,則實(shí)現(xiàn)了利用FPGA的狀態(tài)機(jī)來控制密鑰序列的生成過程,硬件控制方式,大大提高了密鑰序列的獲取速度。
[0143]本發(fā)明的各個(gè)實(shí)施例至少具有如下的有益效果:
[0144]1、本發(fā)明實(shí)施例能夠利用硬件FPGA與密鑰序列裝置配合,在FPGA中設(shè)置狀態(tài)機(jī),并通過狀態(tài)機(jī)的狀態(tài)的切換,來控制密鑰序列裝置執(zhí)行生成密鑰序列的各個(gè)處理,由于采用FPGA的狀態(tài)機(jī)來控制,是一種硬件實(shí)現(xiàn)的方式,因此,相對于現(xiàn)有技術(shù)中利用軟件代碼的方式,則能夠大大提高獲取密鑰序列的速度。
[0145]2、本發(fā)明實(shí)施例中,為了緩存數(shù)據(jù)的需要,F(xiàn)PGA中設(shè)置了一雙端口 RAM,外部主機(jī)和FPGA可以通過雙端口 RAM的兩個(gè)端口對RAM進(jìn)行獨(dú)立的訪問,使得設(shè)計(jì)更加靈活。
[0146]3、本發(fā)明的實(shí)施例中,對狀態(tài)機(jī)各狀態(tài)的編碼可以采用格雷碼的方式,從而可以有效的防止毛刺的產(chǎn)生,使系統(tǒng)穩(wěn)定。
[0147]4、本發(fā)明的實(shí)施例中,可以利用硬件描述語言VHDL設(shè)計(jì)狀態(tài)機(jī)對Trivium模塊進(jìn)行控制,符合IEEE-93標(biāo)準(zhǔn),狀態(tài)機(jī)可以移植到不同型號的FPGA中,使得設(shè)計(jì)靈活方便。本發(fā)明可以滿足各種密碼設(shè)備、信息安全產(chǎn)品
當(dāng)前第3頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1