一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法
【專利摘要】本發(fā)明公開(kāi)了一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,其具體實(shí)現(xiàn)過(guò)程為:設(shè)置三個(gè)移位寄存器模塊和一個(gè)組合邏輯模塊,三個(gè)移位寄存器模塊均連接該組合邏輯模塊,組合邏輯模塊輸出S_out信號(hào),該S_out信號(hào)為密鑰序列輸出信號(hào);設(shè)置輸入接口,該輸入接口輸入CLK信號(hào)、RST信號(hào)、IV[79..0]信號(hào)和IV_load信號(hào),密鑰序列生成器開(kāi)始工作,密鑰生成。該一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法與現(xiàn)有技術(shù)相比,可以移植到不同型號(hào)的CPLD中,使得設(shè)計(jì)靈活方便,可以應(yīng)用于信息安全領(lǐng)域序列密碼系統(tǒng)中的密鑰序列的生成,實(shí)用性強(qiáng)。
【專利說(shuō)明】一種Tr i vium算法密鑰序列生成器的設(shè)計(jì)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路【技術(shù)領(lǐng)域】,具體地說(shuō)是一種實(shí)用性強(qiáng)、Trivium算法密鑰序列生成器的設(shè)計(jì)方法。
【背景技術(shù)】
[0002]序列密碼也稱為流密碼,具有實(shí)現(xiàn)簡(jiǎn)單、便于硬件實(shí)現(xiàn)、加解密處理速度快、沒(méi)有或只有有限的錯(cuò)誤傳播等特點(diǎn),在實(shí)際應(yīng)用中,特別是專用或機(jī)密機(jī)構(gòu)中保持著優(yōu)勢(shì),典型的應(yīng)用領(lǐng)域包括無(wú)線通信、外交通信等。Trivium是一種較新的序列密碼,它的密鑰長(zhǎng)度為80位,Trivium基于3個(gè)反饋移位寄存器的組合,在得到每個(gè)寄存器輸出時(shí)使用了非線性組件。
[0003]CPLD是復(fù)雜可編程邏輯器件,是從PAL和GAL發(fā)展出來(lái)的器件,規(guī)模大、結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍,是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。
[0004]基于此,如果能夠?qū)⑸鲜鯰rivium算法的密鑰序列生成器集成到CPLD中,將會(huì)大大縮小CPLD的結(jié)構(gòu)和規(guī)模,能夠?qū)崿F(xiàn)更好的完成構(gòu)造邏輯功能,且降低其制作成本。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的技術(shù)任務(wù)是針對(duì)以上不足之處,提供一種實(shí)用性強(qiáng)、Trivium算法密鑰序列生成器的設(shè)計(jì)方法。
[0006]一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,其具體實(shí)現(xiàn)過(guò)程為:
一、設(shè)置三個(gè)移位寄存器模塊和一個(gè)組合邏輯模塊,三個(gè)移位寄存器模塊均連接該組合邏輯模塊,組合邏輯模塊輸出S_out信號(hào),該S_out信號(hào)為密鑰序列輸出信號(hào);
二、設(shè)置輸入接口,該輸入接口輸入CLK信號(hào)、RST信號(hào)、IV[79..0]信號(hào)和IV_load信號(hào),且CLK信號(hào)、RST信號(hào)、IV [79..0]信號(hào)和IV_load信號(hào)均接入上述三個(gè)移位寄存器,其中
CLK信號(hào)為輸入信號(hào),是密鑰序列生成器的時(shí)鐘信號(hào);
RST信號(hào)為輸入信號(hào),是密鑰序列生成器的復(fù)位信號(hào),低電平有效;
IV[79..0]信號(hào)為輸入信號(hào),80 bit初始向量;
IV_load信號(hào)為輸入信號(hào),IV向量加載使能信號(hào),高電平有效;
三、當(dāng)RST信號(hào)為低電平時(shí)對(duì)密鑰序列生成器進(jìn)行復(fù)位,此時(shí)三個(gè)移位寄存器的值均為0,密鑰序列的輸出為O比特流;
四、密鑰序列生成器開(kāi)始工作,首先對(duì)其進(jìn)行初始化操作,即在IV_load信號(hào)為高電平時(shí),把80位的初始向量IV加載到三個(gè)移位寄存器中;
五、在O?1152個(gè)時(shí)鐘周期內(nèi),該密碼序列生成器計(jì)時(shí)4X288次,即1152次,不產(chǎn)生密碼序列輸出,保證充分隨機(jī)化密碼;
六、從第1153個(gè)時(shí)鐘周期開(kāi)始,密鑰序列從輸出端S_out輸出。
[0007]所述CLK信號(hào)通過(guò)時(shí)鐘引腳輸入,該時(shí)鐘引腳外接晶體振蕩器,其時(shí)鐘頻率與密鑰序列速度成正比,即時(shí)鐘頻率越高生成的密鑰序列速度越快。
[0008]所述三個(gè)移位寄存器具體為:
移位寄存器A:該寄存器是一個(gè)93位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;其中A_65、A_68、A_90、A_91和A_92分別是寄存器A的第65位、68位、90位、91位和92位的輸出,輸入到組合邏輯模塊中;
移位寄存器B:該寄存器是一個(gè)84位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;B_68、B_77、B_81、B_82和B_83分別是寄存器B的第68位、77位、81位、82位和83位的輸出,輸入到組合邏輯模塊中;
移位寄存器C:該寄存器是一個(gè)111位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;c_65、C_86、C_108、C_109和C_110分別是寄存器C的第65位、86位、108位、109位和110位的輸出,輸入到組合邏輯模塊中。
[0009]所述組合邏輯模塊是實(shí)現(xiàn)數(shù)據(jù)流的組合邏輯反饋和密鑰序列的輸出,具體為: A_90、A_91進(jìn)行“邏輯與and”操作后與A_65、A_92進(jìn)行“異或xor”操作,形成Con_A
信號(hào),即:
Con_A = (A_90 and A_91) xor A_65 xor A_92 ;
B_81、B_82進(jìn)行“邏輯與and”操作后與B_68、A_83進(jìn)行“異或xor”操作,形成Con_B信號(hào),即:
Con_B = (B_81 and B_82) xor B_68 xor B_83 ;
C_108、C_109進(jìn)行“邏輯與and”操作后與C_65、C_110進(jìn)行“異或xor”操作,形成Con_C信號(hào),即:
Con_C = (C_108 and C_109) xor C_65 xor C_110 ;
Con_C與A_68 “異或”后作為移位寄存器A的第O位輸入,即:
A_in[0] = Con_C xor A_68 ;
Con_A與B_77 “異或”后作為移位寄存器B的第O位輸入,即:
B_in[0] = Con_A xor B_77 ;
Con_B與C_86 “異或”后作為移位寄存器C的第O位輸入,即:
C_in[0] = Con_B xor C_86 ;
Con_A、Con_B> Con_C “異或”后作為密鑰序列的輸出,即:
S_out = Con_A xor Con_B xor Con_C。
[0010]所述步驟四中的初始化操作為:在IV_load信號(hào)為高電平時(shí),把80位的初始向量IV加載到移位寄存器A的A_in[79..0],A_in[92..80]置為O ; IV同時(shí)加載到移位寄存器B 的 B_in[79..0],B_in[83..80]置為 O ;移位寄存器 C 的 C_in[110..108]置為 1,C_in[107..0]置為 O。
[0011]本發(fā)明的一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,具有以下優(yōu)點(diǎn):
該發(fā)明的一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法本采用硬件描述語(yǔ)言VHDL和組合邏輯設(shè)計(jì)實(shí)現(xiàn)了 Trivium算法密鑰序列生成器,符合Trivium的規(guī)范,可以移植到不同型號(hào)的CPLD中,使得設(shè)計(jì)靈活方便,可以應(yīng)用于信息安全領(lǐng)域序列密碼系統(tǒng)中的密鑰序列的生成,節(jié)省成本,實(shí)用性強(qiáng),適用范圍廣泛,可應(yīng)用于多種序列密碼系統(tǒng)中,易于推廣。
【專利附圖】
【附圖說(shuō)明】
[0012]附圖1為本發(fā)明的實(shí)現(xiàn)示意圖。
【具體實(shí)施方式】
[0013]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
[0014]本發(fā)明提供一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,首先設(shè)置硬件部分,然后通過(guò)Trivium算法密鑰序列生成器實(shí)現(xiàn)密鑰序列的生成。
[0015]基于上述設(shè)計(jì)思路,如附圖1所示,其具體實(shí)現(xiàn)過(guò)程為:
一、設(shè)置三個(gè)移位寄存器模塊和一個(gè)組合邏輯模塊,三個(gè)移位寄存器模塊均連接該組合邏輯模塊,組合邏輯模塊輸出S_out信號(hào),該S_out信號(hào)為密鑰序列輸出信號(hào);
二、設(shè)置輸入接口,該輸入接口輸入CLK信號(hào)、RST信號(hào)、IV[79..0]信號(hào)和IV_load信號(hào),且CLK信號(hào)、RST信號(hào)、IV [79..0]信號(hào)和IV_load信號(hào)均接入上述三個(gè)移位寄存器,其中
CLK信號(hào)為輸入信號(hào),是密鑰序列生成器的時(shí)鐘信號(hào);
RST信號(hào)為輸入信號(hào),是密鑰序列生成器的復(fù)位信號(hào),低電平有效;
IV[79..0]信號(hào)為輸入信號(hào),80 bit初始向量;
IV_load信號(hào)為輸入信號(hào),IV向量加載使能信號(hào),高電平有效;
三、當(dāng)RST信號(hào)為低電平時(shí)對(duì)密鑰序列生成器進(jìn)行復(fù)位,此時(shí)三個(gè)移位寄存器的值均為0,密鑰序列的輸出為O比特流;
四、密鑰序列生成器開(kāi)始工作,首先對(duì)其進(jìn)行初始化操作,即在IV_load信號(hào)為高電平時(shí),把80位的初始向量IV加載到三個(gè)移位寄存器中;
五、在O?1152個(gè)時(shí)鐘周期內(nèi),該密碼序列生成器計(jì)時(shí)4X288次,即1152次,不產(chǎn)生密碼序列輸出,保證充分隨機(jī)化密碼;
六、從第1153個(gè)時(shí)鐘周期開(kāi)始,密鑰序列從輸出端S_out輸出。
[0016]所述CLK信號(hào)通過(guò)時(shí)鐘引腳輸入,該時(shí)鐘引腳外接晶體振蕩器,其時(shí)鐘頻率與密鑰序列速度成正比,即時(shí)鐘頻率越高生成的密鑰序列速度越快。
[0017]所述三個(gè)移位寄存器具體為:
移位寄存器A:該寄存器是一個(gè)93位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;其中A_65、A_68、A_90、A_91和A_92分別是寄存器A的第65位、68位、90位、91位和92位的輸出,輸入到組合邏輯模塊中;
移位寄存器B:該寄存器是一個(gè)84位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;B_68、B_77、B_81、B_82和B_83分別是寄存器B的第68位、77位、81位、82位和83位的輸出,輸入到組合邏輯模塊中;
移位寄存器C:該寄存器是一個(gè)111位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;c_65、C_86、C_108、C_109和C_110分別是寄存器C的第65位、86位、108位、109位和110位的輸出,輸入到組合邏輯模塊中。
[0018]所述組合邏輯模塊是實(shí)現(xiàn)數(shù)據(jù)流的組合邏輯反饋和密鑰序列的輸出,具體為: A_90、A_91進(jìn)行“邏輯與and”操作后與A_65、A_92進(jìn)行“異或xor”操作,形成Con_A信號(hào),即:
Con_A = (A_90 and A_91) xor A_65 xor A_92 ;
B_81、B_82進(jìn)行“邏輯與and”操作后與B_68、A_83進(jìn)行“異或xor”操作,形成Con_B信號(hào),即:
Con_B = (B_81 and B_82) xor B_68 xor B_83 ;
C_108、C_109進(jìn)行“邏輯與and”操作后與C_65、C_110進(jìn)行“異或xor”操作,形成Con_C信號(hào),即:
Con_C = (C_108 and C_109) xor C_65 xor C_110 ;
Con_C與A_68 “異或”后作為移位寄存器A的第O位輸入,即:
A_in[O] = Con_C xor A_68 ;
Con_A與B_77 “異或”后作為移位寄存器B的第O位輸入,即:
B_in[O] = Con_A xor B_77 ;
Con_B與C_86 “異或”后作為移位寄存器C的第O位輸入,即:
C_in[O] = Con_B xor C_86 ;
Con_A、Con_B> Con_C “異或”后作為密鑰序列的輸出,即:
S_out = Con_A xor Con_B xor Con_C。
[0019]所述步驟四中的初始化操作為:在IV_load信號(hào)為高電平時(shí),把80位的初始向量IV加載到移位寄存器A的A_in[79..0],A_in[92..80]置為O ; IV同時(shí)加載到移位寄存器B 的 B_in[79..0],B_in[83..80]置為 O ;移位寄存器 C 的 C_in[110..108]置為 1,C_in[107..0]置為 O。
[0020]上述【具體實(shí)施方式】?jī)H是本發(fā)明的具體個(gè)案,本發(fā)明的專利保護(hù)范圍包括但不限于上述【具體實(shí)施方式】,任何符合本發(fā)明的一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法的權(quán)利要求書(shū)的且任何所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員對(duì)其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護(hù)范圍。
【權(quán)利要求】
1.一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,其特征在于其具體實(shí)現(xiàn)過(guò)程為: 一、設(shè)置三個(gè)移位寄存器模塊和一個(gè)組合邏輯模塊,三個(gè)移位寄存器模塊均連接該組合邏輯模塊,組合邏輯模塊輸出S_out信號(hào),該S_out信號(hào)為密鑰序列輸出信號(hào); 二、設(shè)置輸入接口,該輸入接口輸入CLK信號(hào)、RST信號(hào)、IV[79..0]信號(hào)和IV_load信號(hào),且CLK信號(hào)、RST信號(hào)、IV [79..0]信號(hào)和IV_load信號(hào)均接入上述三個(gè)移位寄存器,其中 CLK信號(hào)為輸入信號(hào),是密鑰序列生成器的時(shí)鐘信號(hào); RST信號(hào)為輸入信號(hào),是密鑰序列生成器的復(fù)位信號(hào),低電平有效; IV[79..0]信號(hào)為輸入信號(hào),80 bit初始向量; IV_load信號(hào)為輸入信號(hào),IV向量加載使能信號(hào),高電平有效; 三、當(dāng)RST信號(hào)為低電平時(shí)對(duì)密鑰序列生成器進(jìn)行復(fù)位,此時(shí)三個(gè)移位寄存器的值均為0,密鑰序列的輸出為O比特流; 四、密鑰序列生成器開(kāi)始工作,首先對(duì)其進(jìn)行初始化操作,即在IV_load信號(hào)為高電平時(shí),把80位的初始向量IV加載到三個(gè)移位寄存器中; 五、在O?1152個(gè)時(shí)鐘周期內(nèi),該密碼序列生成器計(jì)時(shí)4X288次,S卩1152次,不產(chǎn)生密碼序列輸出,保證充分隨機(jī)化密碼; 六、從第1153個(gè)時(shí)鐘周期開(kāi)始,密鑰序列從輸出端S_out輸出。
2.根據(jù)權(quán)利要求1所述的一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,其特征在于:所述CLK信號(hào)通過(guò)時(shí)鐘引腳輸入,該時(shí)鐘引腳外接晶體振蕩器,其時(shí)鐘頻率與密鑰序列速度成正比,即時(shí)鐘頻率越高生成的密鑰序列速度越快。
3.根據(jù)權(quán)利要求1所述的一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,其特征在于:所述三個(gè)移位寄存器具體為: 移位寄存器A:該寄存器是一個(gè)93位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;其中A_65、A_68、A_90、A_91和A_92分別是寄存器A的第65位、68位、90位、91位和92位的輸出,輸入到組合邏輯模塊中; 移位寄存器B:該寄存器是一個(gè)84位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;B_68、B_77、B_81、B_82和B_83分別是寄存器B的第68位、77位、81位、82位和83位的輸出,輸入到組合邏輯模塊中; 移位寄存器C:該寄存器是一個(gè)111位長(zhǎng)度的并行輸入、并行輸出的移位寄存器,每個(gè)時(shí)鐘周期數(shù)據(jù)由低位向高位移位;c_65、C_86、C_108、C_109和C_110分別是寄存器C的第65位、86位、108位、109位和110位的輸出,輸入到組合邏輯模塊中。
4.根據(jù)權(quán)利要求3所述的一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,其特征在于:所述組合邏輯模塊是實(shí)現(xiàn)數(shù)據(jù)流的組合邏輯反饋和密鑰序列的輸出,具體為: A_90、A_91進(jìn)行“邏輯與and”操作后與A_65、A_92進(jìn)行“異或xor”操作,形成Con_A信號(hào),即:
Con_A = (A_90 and A_91) xor A_65 xor A_92 ; B—81、B—82進(jìn)行“邏輯與and”操作后與B—68、A—83進(jìn)行“異或xor”操作,形成Con—B信號(hào),即:
Con—B = (B—81 and B—82) xor B—68 xor Β—83 ; C_108、C_109進(jìn)行“邏輯與and”操作后與C_65、C_110進(jìn)行“異或xor”操作,形成Con_C信號(hào),即:
Con_C = (C_108 and C_109) xor C_65 xor C_110 ; Con_C與A_68 “異或”后作為移位寄存器A的第O位輸入,即:
A_in[O] = Con_C xor A_68 ; Con_A與B_77 “異或”后作為移位寄存器B的第O位輸入,即:
B_in[O] = Con_A xor B_77 ; Con_B與C_86 “異或”后作為移位寄存器C的第O位輸入,即:
C_in[O] = Con_B xor C_86 ; Con_A、Con_B> Con_C “異或”后作為密鑰序列的輸出,即:
S_out = Con_A xor Con_B xor Con_C。
5.根據(jù)權(quán)利要求4所述的一種Trivium算法密鑰序列生成器的設(shè)計(jì)方法,其特征在于:所述步驟四中的初始化操作為:在IV_load信號(hào)為高電平時(shí),把80位的初始向量IV加載到移位寄存器A的A_in[79..0], A_in[92..80]置為O ; IV同時(shí)加載到移位寄存器B的B_in[79..0],B_in[83..80]置為 O ;移位寄存器 C 的 C_in[110..108]置為 1,C_in[107..0]置為O。
【文檔編號(hào)】H04L9/06GK104202156SQ201410467233
【公開(kāi)日】2014年12月10日 申請(qǐng)日期:2014年9月15日 優(yōu)先權(quán)日:2014年9月15日
【發(fā)明者】蘇振宇 申請(qǐng)人:浪潮電子信息產(chǎn)業(yè)股份有限公司