專利名稱:一種具有語(yǔ)義安全的自適應(yīng)加密系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息傳輸中的高速加密技術(shù),低功耗電路設(shè)計(jì)、加密電路設(shè)計(jì)以及加 密控制電路設(shè)計(jì)技術(shù),屬于信息安全領(lǐng)域。
背景技術(shù):
隨著計(jì)算機(jī)技術(shù),通信技術(shù)的飛速發(fā)展,信息安全問(wèn)題受到人們的廣泛重視,各種 新的加密技術(shù)不斷涌現(xiàn)。傳統(tǒng)的加密工作是通過(guò)在主機(jī)上運(yùn)行加密軟件實(shí)現(xiàn)的。這種方法 除占用主機(jī)資源外,運(yùn)算速度較慢,安全性也較差。而硬件加密是通過(guò)專用加密芯片、FPGA 芯片或獨(dú)立的處理芯片等實(shí)現(xiàn)密碼運(yùn)算。相對(duì)于軟件加密,硬件加密具有加密速度快、占用 計(jì)算機(jī)資源少、安全性高等優(yōu)點(diǎn)。但是當(dāng)前國(guó)內(nèi)外的硬件加密產(chǎn)品普遍存在以下幾個(gè)問(wèn)題1、加密系統(tǒng)對(duì)于不同速 率的明文不能進(jìn)行加密速率的自主調(diào)節(jié);2、對(duì)頻繁出現(xiàn)的明文信息若在不更換密鑰的情況 下,得到的密文相同。另外,目前還沒(méi)有利用自適應(yīng)機(jī)制完成對(duì)于不同速率明文進(jìn)行加密的加密系統(tǒng)。
發(fā)明內(nèi)容
針對(duì)上述存在的問(wèn)題,本發(fā)明的提出了一種具有語(yǔ)義安全的自適應(yīng)加密系統(tǒng)及其 實(shí)現(xiàn)方法。本發(fā)明所述的具有語(yǔ)義安全的自適應(yīng)加密系統(tǒng),其特征在于,該系統(tǒng)包括以下五 個(gè)部分A.時(shí)鐘管理模塊,該模塊由一個(gè)鎖相環(huán)PLL和一個(gè)晶振組成。晶振提供了一個(gè)頻 率為IOMhz的原始時(shí)鐘clkl,該時(shí)鐘按照接收自加密模塊的分頻系數(shù)N,通過(guò)鎖相環(huán)PLL產(chǎn) 生了一個(gè)頻率為IONMhz的時(shí)鐘clk2,并且將這兩路時(shí)鐘發(fā)送給加密模塊,供其使用。B.加密輪數(shù)調(diào)節(jié)模塊,該模塊由一路選擇信號(hào)Sel_r0imd通過(guò)一個(gè)多路器將預(yù)設(shè) 的可選輪數(shù)rl、r2……rn選擇其中一個(gè)輪數(shù)并發(fā)送給加密模塊作為加密模塊的加密輪數(shù)。 該模塊,可以通過(guò)調(diào)節(jié)按鈕來(lái)改變Sel_r0imd輸入信號(hào),從而達(dá)到調(diào)節(jié)加密輪數(shù)的目的,每 按一次,加密輪數(shù)依次循環(huán)改變。C.物理噪聲源模塊,該模塊會(huì)產(chǎn)生一組128比特的隨機(jī)序列randoml和一組16比 特的隨機(jī)序列rand0m2,分別發(fā)送給密鑰擴(kuò)展模塊和加密模塊。此處randoml的取值范圍為 16 進(jìn)制數(shù) 00000000000000000000000000000000 至 , random2的取值范圍為16進(jìn)制數(shù)0000至ffff。D.加密模塊,該模塊在接收到擴(kuò)展密鑰key、加密輪數(shù)N及隨機(jī)序列randoml后, 實(shí)現(xiàn)正常的對(duì)信號(hào)源數(shù)據(jù)Datajn的加密功能,并將密文、隨機(jī)序列randoml、隨機(jī)序列 random2通過(guò)輸出接口 Data_out輸出。此處Data_in,Data_out數(shù)據(jù)的取值范圍為16進(jìn) 制數(shù)0000至ffff οE.密鑰擴(kuò)展模塊,該模塊接受來(lái)自物理噪聲源的隨機(jī)序列randoml,并將其作為初始密鑰,進(jìn)行密鑰擴(kuò)展,并將擴(kuò)展后的密鑰key傳送給加密模塊。具體的實(shí)現(xiàn)步驟如下(流程參見(jiàn)圖5)1)產(chǎn)生隨機(jī)初始密鑰種子、語(yǔ)義安全隨機(jī)數(shù)及輪數(shù);2)生成擴(kuò)展密鑰;3)根據(jù)時(shí)鐘信號(hào)接收數(shù)據(jù)信號(hào);4)把數(shù)據(jù)信號(hào)存入寄存器,作為分頻系數(shù);5)把分頻系數(shù)進(jìn)行分頻處理,得到分頻后的時(shí)鐘信號(hào);6)根據(jù)步驟5)中所得的時(shí)鐘信號(hào)接收并加密明文數(shù)據(jù);7)加密結(jié)束。本發(fā)明的有益效果本發(fā)明可以在無(wú)人操作的場(chǎng)合下對(duì)于各種不同傳輸速率的明文信息進(jìn)行加密;具 有語(yǔ)義安全功能,保證了對(duì)于相同明文能夠產(chǎn)生隨機(jī)的不同的密文,保證了多次重復(fù)出現(xiàn) 的信息(例如指令)的安全性;同時(shí),本發(fā)明的加密輪數(shù)可調(diào),可以適應(yīng)不同安全需求。本 發(fā)明可以應(yīng)用在保密的硬件存儲(chǔ)設(shè)備的靜態(tài)加密、微波或光通信鏈路、計(jì)算機(jī)終端的接受 或者發(fā)射端口等場(chǎng)景中。
圖1為本發(fā)明的整體結(jié)構(gòu)示意圖;圖2為時(shí)鐘管理模塊的示意圖;圖3為加密輪數(shù)調(diào)節(jié)模塊的示意圖;圖4為以高級(jí)加密標(biāo)準(zhǔn)AES為基礎(chǔ)改進(jìn)得到的具有語(yǔ)義安全的加密算法示意圖;圖5為本發(fā)明提供的方法的流程圖。
具體實(shí)施例方式圖1為本發(fā)明的總體結(jié)構(gòu)示意圖。具體實(shí)施步驟如下步驟1 產(chǎn)生隨機(jī)初始密鑰種子、語(yǔ)義安全隨機(jī)數(shù)及輪數(shù)。觸發(fā)物理噪聲源模塊, 令其產(chǎn)生一組128比特的隨機(jī)序列randoml和一組16比特的隨機(jī)序列random2,分別發(fā)送 給密鑰擴(kuò)展和加密模塊。觸發(fā)加密輪數(shù)調(diào)節(jié)模塊,確定加密輪數(shù)ri,并將之傳送給加密模 塊,轉(zhuǎn)至步驟2。步驟2 生成擴(kuò)展密鑰。密鑰擴(kuò)展模塊接收到來(lái)自物理噪聲源模塊的隨機(jī)序列 randoml,將其作為初始密鑰,并將擴(kuò)展后的密鑰key傳輸給加密模塊,轉(zhuǎn)至步驟3。步驟3 根據(jù)時(shí)鐘信號(hào)接收數(shù)據(jù)信號(hào)。時(shí)鐘管理模塊發(fā)送給加密模塊一路IOMhz 的時(shí)鐘信號(hào)clkl,加密模塊按照該時(shí)鐘信號(hào)來(lái)接收來(lái)自數(shù)據(jù)源的16路并行數(shù)據(jù)信號(hào)Data_ in,若某一時(shí)鐘Datajn的16進(jìn)制表示為ffff,表征下一個(gè)時(shí)鐘Datajn所傳輸?shù)?6比特 數(shù)據(jù)為分頻系數(shù),轉(zhuǎn)至步驟4,否則轉(zhuǎn)至步驟3。步驟4 把數(shù)據(jù)信號(hào)存入寄存器,作為分頻系數(shù)。加密模塊按照IOMhz的時(shí)鐘頻率 來(lái)接收當(dāng)前時(shí)鐘的數(shù)據(jù)信號(hào)Data_in,并將之存入寄存器,作為自適應(yīng)系統(tǒng)的分頻系數(shù)N, 轉(zhuǎn)至步驟5。步驟5 把分頻系數(shù)進(jìn)行分頻處理,得到分頻后的時(shí)鐘信號(hào)。加密模塊將自適應(yīng)系
5統(tǒng)的分頻系數(shù)N發(fā)送給時(shí)鐘管理模塊,時(shí)鐘管理模塊按照該系數(shù)通過(guò)鎖相環(huán)PLL進(jìn)行分頻 處理,得到分頻后的時(shí)鐘信號(hào)clk2,該信號(hào)的時(shí)鐘頻率為10*NMhz,并將clk2發(fā)送給加密模 塊,clk2的時(shí)鐘頻率也正是明文數(shù)據(jù)的傳輸頻率,轉(zhuǎn)至步驟6步驟6 根據(jù)步驟5)中所得的時(shí)鐘信號(hào)接收并加密明文數(shù)據(jù)。加密模塊接收到來(lái) 自時(shí)鐘管理模塊的時(shí)鐘信號(hào)clk2,并且按照該時(shí)鐘來(lái)接收來(lái)自數(shù)據(jù)源的16路并行數(shù)據(jù)信 號(hào)Data_in,若某一時(shí)鐘Data_in的16進(jìn)制表示為0000,表征下一個(gè)時(shí)鐘開(kāi)始Data_in所 傳輸?shù)?6比特并行數(shù)據(jù)為所需要加密的明文數(shù)據(jù),加密模塊從下一個(gè)時(shí)鐘開(kāi)始,按照時(shí)鐘 信號(hào)clk2接收16比特并行的數(shù)據(jù)信號(hào)Datajn,每8個(gè)時(shí)鐘可接收128比特的明文數(shù)據(jù), 將這128比特?cái)?shù)據(jù)存儲(chǔ)在寄存器plain中,并通過(guò)以高級(jí)加密標(biāo)準(zhǔn)AES為基礎(chǔ)改進(jìn)得到的 具有語(yǔ)義安全的加密算法對(duì)這128比特?cái)?shù)據(jù)進(jìn)行加密得到密文cipher,加密輪數(shù)為ri輪, 加密完成之后,加密模塊按照時(shí)鐘clk2,由16比特的并行數(shù)據(jù)輸出接口 data_0Ut從高位比 特至低位比特,每16比特位一組,依次輸出16進(jìn)制數(shù)據(jù)2222、128比特隨機(jī)序列randoml、 16比特隨機(jī)序列rand0m2、128比特密文cipher,此處的16進(jìn)制數(shù)據(jù)2222用作數(shù)據(jù)頭,表 征之后所傳輸?shù)臄?shù)據(jù)為隨機(jī)序列randoml、random2及密文cipher ;若某一時(shí)鐘Datajn的 16進(jìn)制表示為1111,表征明文數(shù)據(jù)已經(jīng)傳送完畢,下一個(gè)時(shí)鐘開(kāi)始Datajn所傳輸?shù)?6比 特并行數(shù)據(jù)為無(wú)效信息,轉(zhuǎn)至步驟7。步驟7 加密結(jié)束。加密模塊停止接收16比特并行的數(shù)據(jù)信號(hào)Datajn。圖2為時(shí)鐘管理模塊的示意圖。該模塊由一個(gè)鎖相環(huán)PLL和一個(gè)晶振組成。晶振 提供了一個(gè)頻率為IOMhz的原始時(shí)鐘clkl,該時(shí)鐘按照接受自加密模塊的分頻系數(shù)N,通過(guò) 鎖相環(huán)PLL產(chǎn)生了一個(gè)頻率為IONMhz的時(shí)鐘clk2,并且將這兩路時(shí)鐘發(fā)送給加密模塊,供 其使用。圖3為加密輪數(shù)選擇模塊的示意圖。該模塊由一路選擇信號(hào)selroimd通過(guò)一個(gè) 多路器將預(yù)設(shè)的可選輪數(shù)rl、r2……rn選擇其中一個(gè)輪數(shù)并發(fā)送給加密模塊作為加密模塊 的加密輪數(shù)。該模塊,可以通過(guò)調(diào)節(jié)按鈕來(lái)改變sel_r0imd輸入信號(hào),從而達(dá)到調(diào)節(jié)加密輪 數(shù)的目的,每按一次,加密輪數(shù)依次循環(huán)改變。如圖4,以高級(jí)加密標(biāo)準(zhǔn)AES為基礎(chǔ)改進(jìn)得到的具有語(yǔ)義安全的加密算法步驟如 下這里規(guī)定每經(jīng)過(guò)一次輪變換稱為1輪,明文加密第i輪加密的中間結(jié)果記為S”當(dāng) 前輪數(shù)記為round,加密輪數(shù)為ri。步驟1 從擴(kuò)展密鑰key中自高位取128比特子密鑰與128比特明文plain異或得 到128比特?cái)?shù)據(jù)T,將T的高16比特?cái)?shù)據(jù)異或隨機(jī)序列random2,其他比特不變,得到中間狀 態(tài)128比特Tl,將Tl進(jìn)行輪變換得到中間狀態(tài)128比特S1,這是第一輪,記輪數(shù)為round, 此時(shí)round = 1。此處輪變換和現(xiàn)今的高級(jí)加密標(biāo)準(zhǔn)AES相同,包括字節(jié)替代,行變換,列混 合三個(gè)部分,轉(zhuǎn)至步驟2。步驟2 若round小于等于ri_2,則從擴(kuò)展密鑰key中自高位依次取128比特子密 鑰,異或上Si得到中間狀態(tài)Ti,將Ti進(jìn)行輪變換得到Si+1,并且將round增加1,轉(zhuǎn)至步驟2 ; 否則轉(zhuǎn)至步驟3。步驟3 從擴(kuò)展密鑰key中自高位依次取128比特子密鑰,異或上S^1得到中間狀 態(tài)Tt1,將Tf1進(jìn)行字節(jié)代換、行變換得到SH,再?gòu)臄U(kuò)展密鑰key中自高位依次取128比特
6子密鑰,異或上Sh,得到最終的密文cipher。 需要注意的是,公布實(shí)施例的目的在于幫助進(jìn)一步理解本發(fā)明,但是本領(lǐng)域的技 術(shù)人員可以理解在不脫離本發(fā)明及所附權(quán)利要求的精神和范圍內(nèi),各種替換和修改都是 可能的。因此,本發(fā)明不應(yīng)局限于實(shí)施例所公開(kāi)的內(nèi)容,本發(fā)明要求保護(hù)的范圍以權(quán)利要求 書界定的范圍為準(zhǔn)。
權(quán)利要求
一種具有語(yǔ)義安全的自適應(yīng)加密系統(tǒng),其特征在于,該系統(tǒng)包括以下五個(gè)部分A.時(shí)鐘管理模塊,該模塊由一個(gè)鎖相環(huán)PLL和一個(gè)晶振組成,晶振提供了一個(gè)頻率為10Mhz的原始時(shí)鐘clk1,該時(shí)鐘按照接收自加密模塊的分頻系數(shù)N,通過(guò)鎖相環(huán)PLL產(chǎn)生了一個(gè)頻率為10NMhz的時(shí)鐘clk2,并且將這兩路時(shí)鐘發(fā)送給加密模塊,供其使用;B.加密輪數(shù)調(diào)節(jié)模塊,該模塊由一路選擇信號(hào)sel_round通過(guò)一個(gè)多路器將預(yù)設(shè)的可選輪數(shù)r1、r2……rn選擇其中一個(gè)輪數(shù)并發(fā)送給加密模塊作為加密模塊的加密輪數(shù);該模塊通過(guò)調(diào)節(jié)按鈕來(lái)改變sel_round輸入信號(hào),從而達(dá)到調(diào)節(jié)加密輪數(shù)的目的,每按一次,加密輪數(shù)依次循環(huán)改變;C.物理噪聲源模塊,該模塊會(huì)產(chǎn)生一組128比特的隨機(jī)序列random1和一組16比特的隨機(jī)序列random2,分別發(fā)送給密鑰擴(kuò)展模塊和加密模塊;D.加密模塊,該模塊在接收到擴(kuò)展密鑰key、加密輪數(shù)N及隨機(jī)序列random1后,實(shí)現(xiàn)正常的對(duì)信號(hào)源數(shù)據(jù)Data_in的加密功能,并將密文、隨機(jī)序列random1、隨機(jī)序列random2通過(guò)輸出接口Data_out輸出;E.密鑰擴(kuò)展模塊,該模塊接受來(lái)自物理噪聲源的隨機(jī)序列random1,并將其作為初始密鑰,進(jìn)行密鑰擴(kuò)展,并將擴(kuò)展后的密鑰key傳送給加密模塊。
2.如權(quán)利要求1所述的加密系統(tǒng),其特征在于,所述物理噪聲源模塊中,所述randoml 的取值范圍為 16 進(jìn)制數(shù) 00000000000000000000000000000000 至 ffTfTfTfTfTfTfTfTfTfT fffffffffff,所述random2的取值范圍為16進(jìn)制數(shù)0000至ffff。
3.如權(quán)利要求1所述的加密系統(tǒng),其特征在于,所述加密模塊中Datajn,Data_0ut的 取值范圍為16進(jìn)制數(shù)0000至ffff。
4.一種具有語(yǔ)義安全的自適應(yīng)加密方法,其特征在于,所述方法包括以下步驟1)產(chǎn)生隨機(jī)初始密鑰種子、語(yǔ)義安全隨機(jī)數(shù)及輪數(shù);2)生成擴(kuò)展密鑰;3)根據(jù)時(shí)鐘信號(hào)接收數(shù)據(jù)信號(hào);4)把數(shù)據(jù)信號(hào)存入寄存器,作為分頻系數(shù);5)把分頻系數(shù)進(jìn)行分頻處理,得到分頻后的時(shí)鐘信號(hào);6)根據(jù)步驟5)中所得的時(shí)鐘信號(hào)接收并加密明文數(shù)據(jù);7)加密結(jié)束。
5.如權(quán)利要求4所述的加密方法,其特征在于,所述步驟1)的實(shí)現(xiàn)方法為觸發(fā)物 理噪聲源模塊,令其產(chǎn)生一組128比特的隨機(jī)序列randoml和一組16比特的隨機(jī)序列 random2,分別發(fā)送給密鑰擴(kuò)展和加密模塊;觸發(fā)加密輪數(shù)調(diào)節(jié)模塊,確定加密輪數(shù)ri,并 將之傳送給加密模塊。
6.如權(quán)利要求5所述的加密方法,其特征在于,所述步驟2)的實(shí)現(xiàn)方法為密鑰擴(kuò)展 模塊接收到來(lái)自物理噪聲源模塊的隨機(jī)序列randoml,將其作為初始密鑰,并將擴(kuò)展后的密 鑰key傳輸給加密模塊,轉(zhuǎn)至步驟3)。
7.如權(quán)利要求6所述的加密方法,其特征在于,所述步驟3)的實(shí)現(xiàn)方法為時(shí)鐘管理 模塊發(fā)送給加密模塊一路IOMhz的時(shí)鐘信號(hào)clkl,加密模塊按照該時(shí)鐘信號(hào)來(lái)接收來(lái)自數(shù) 據(jù)源的16路并行數(shù)據(jù)信號(hào)Datajn,若某一時(shí)鐘Datajn的16進(jìn)制表示為ffff,表征下一 個(gè)時(shí)鐘Datajn所傳輸?shù)?6比特?cái)?shù)據(jù)為分頻系數(shù),轉(zhuǎn)至步驟4),否則轉(zhuǎn)至步驟3)。
8.如權(quán)利要求7所述的加密方法,其特征在于,所述步驟4)的實(shí)現(xiàn)方法為加密模塊 按照IOMhz的時(shí)鐘頻率來(lái)接收當(dāng)前時(shí)鐘的數(shù)據(jù)信號(hào)Datajn,并將之存入寄存器,作為自適 應(yīng)系統(tǒng)的分頻系數(shù)N,轉(zhuǎn)至步驟5)。
9.如權(quán)利要求8所述的加密方法,其特征在于,所述步驟5)的實(shí)現(xiàn)方法為加密模塊 將自適應(yīng)系統(tǒng)的分頻系數(shù)N發(fā)送給時(shí)鐘管理模塊,時(shí)鐘管理模塊按照該系數(shù)通過(guò)鎖相環(huán) PLL進(jìn)行分頻處理,得到分頻后的時(shí)鐘信號(hào)clk2,該信號(hào)的時(shí)鐘頻率為10*NMhz,并將clk2 發(fā)送給加密模塊,clk2的時(shí)鐘頻率也正是明文數(shù)據(jù)的傳輸頻率,轉(zhuǎn)至步驟6)。
10.如權(quán)利要求4所述的加密方法,其特征在于,所述步驟6)中的加密方法如下1)從擴(kuò)展密鑰key中自高位取128比特子密鑰與128比特明文plain異或得到128比 特?cái)?shù)據(jù)T,將T的高16比特?cái)?shù)據(jù)異或隨機(jī)序列random2,其他比特不變,得到中間狀態(tài)128比 特Tl,將Tl進(jìn)行輪變換得到中間狀態(tài)128比特S1,這是第一輪,記輪數(shù)為round,此時(shí)round =1 ;此處輪變換和現(xiàn)今的高級(jí)加密標(biāo)準(zhǔn)AES相同,包括字節(jié)替代,行變換,列混合三個(gè)部 分,轉(zhuǎn)至步驟2);2)若round小于等于ri-2,則從擴(kuò)展密鑰key中自高位依次取128比特子密鑰,異或 ISi得到中間狀態(tài)Ti,將Ti進(jìn)行輪變換得到Si+1,并且將round增加1,轉(zhuǎn)至步驟2);否則 轉(zhuǎn)至步驟3);3)從擴(kuò)展密鑰key中自高位依次取128比特子密鑰,異或上S^1得到中間狀態(tài), 將Tt1進(jìn)行字節(jié)代換、行變換得到SH,再?gòu)臄U(kuò)展密鑰key中自高位依次取128比特子密鑰, 異或上Sh,得到最終的密文cipher。
全文摘要
本發(fā)明提供了一種具有語(yǔ)義安全的自適應(yīng)加密系統(tǒng)及方法,屬于信息安全領(lǐng)域。系統(tǒng)采用自上而下一體化的設(shè)計(jì)方案,由時(shí)鐘管理模塊、加密輪數(shù)調(diào)節(jié)模塊、物理噪聲源模塊、加密模塊、密鑰擴(kuò)展模塊五個(gè)部分組成。本發(fā)明首次提供一種具有語(yǔ)義安全的自適應(yīng)加密系統(tǒng)及其實(shí)現(xiàn)方法,可以在無(wú)人操作的場(chǎng)合下對(duì)于各種不同傳輸速率的明文信息進(jìn)行加密;具有語(yǔ)義安全功能,保證了對(duì)于相同明文能夠產(chǎn)生隨機(jī)的不同的密文,保證了多次重復(fù)出現(xiàn)的信息的安全性;同時(shí),本發(fā)明的加密輪數(shù)可調(diào),可以適應(yīng)不同安全需求。本發(fā)明可以應(yīng)用在保密的硬件存儲(chǔ)設(shè)備的靜態(tài)加密、微波或光通信鏈路、計(jì)算機(jī)終端的接受或者發(fā)射端口等場(chǎng)景中。
文檔編號(hào)H04L9/06GK101969376SQ20101028950
公開(kāi)日2011年2月9日 申請(qǐng)日期2010年9月23日 優(yōu)先權(quán)日2010年9月23日
發(fā)明者張?bào)? 王文華, 王釗, 邱望潔, 鄭志明, 高瑩 申請(qǐng)人:北京航空航天大學(xué)