一種保密裝置及密鑰產生方法
【專利摘要】本發(fā)明公開了一種保密裝置及密鑰產生方法,其特征在于,所述保密裝置由功能選擇引腳(1)和功能選擇引腳(2)、裝置選擇引腳(3)、讀寫引腳(4)、輸入總線(5)、輸出總線(6)、譯碼器(7)、密鑰產生模塊(8)、存儲器(9)、加密解密模塊(10)和反相器(11)組成。本發(fā)明的另一目的是提出了一種密鑰產生方法。本發(fā)明產生的密鑰具有對初始值敏感、白噪聲類似的特性,可有效提高數(shù)據(jù)的安全保密特性。
【專利說明】
一種保密裝置及密鑰產生方法
技術領域
:
[0001]本發(fā)明屬于信息安全技術領域,具體涉及一種數(shù)據(jù)加密解密的裝置及其密鑰產生方法。
【背景技術】
:
[0002]加密解密是信息安全密碼技術密切相關的兩方面。加密是將原始數(shù)據(jù)(稱為明文)通過輸入密鑰安照一定的方法進行保密處理,變成密文;解密是將加密后的密文再通過輸入密鑰按照一定的方法進行解密處理,得到原始數(shù)據(jù)。解密是加密的逆過程。密鑰和算法是加密解密的兩個基本組件,密碼保密而算法公開。
[0003]對稱密碼體制是加密和解密采用相同的密鑰。例如DE S密碼體制常用多輪的Feistel結構對明文或密文進行加密或解密處理,加密和解密采用相同的密鑰。非對稱密碼體制的加密和解密采用不同的密鑰,其中的一個密鑰公開,另一個密鑰保密。例如RSA密碼體制加密和解密密鑰是不同的。對稱密碼體制和非對稱密碼體制各有各的用途。對稱密碼體制處理速度相對快,用于處理大量數(shù)據(jù)保密通信,但單一密鑰不好管理。非對稱密碼體制處理速度相對慢,用于處理少量數(shù)據(jù)和信息簽名等應用,成對的密鑰管理需要數(shù)字認證書及可靠第三方。
[0004]在算法公開的情況下,密鑰的安全性是要求最高的。如果將算法也用硬件裝置保護起來,必然會增強安全性。為此,人們研制了各種密碼芯片,利用物理硬件保護信息保密處理。
[0005]本發(fā)明提出一種保密裝置及密鑰產生方法,該裝置內部采用對稱密碼體制,通過種子密鑰在本裝置內部產生密鑰并在裝置內部完成加密或解密處理,從而增強了數(shù)據(jù)的保密處理和密鑰的安全保護。本發(fā)明裝置可以采用集成硬件電路實現(xiàn)。與其它保密裝置不同之處在于本發(fā)明提出一種通過輸入種子密鑰在裝置內部產生偽隨機密鑰的方法,內部產生的密鑰具有類似白噪聲的特性,從而增強了密鑰的安全性。
【發(fā)明內容】
:
[0006]本發(fā)明涉及的一種保密裝置及密鑰產生方法,該裝置可以輸入種子密鑰在內部產生密鑰,再通過輸入明文或密文,由內部生成的密鑰進行加密或解密。本發(fā)明實現(xiàn)了明文或密文數(shù)據(jù)輸入、種子密鑰輸入、內部密鑰的產生、內部加密或解密、內部保密或解密數(shù)據(jù)輸出控制等功能??梢孕纬捎布酒?,從而便于采用可編程器件或專用集成電路來實現(xiàn)該裝置,也可以方便地與大規(guī)模數(shù)字系統(tǒng)集成形成數(shù)字密碼集成芯片。
[0007]為了實現(xiàn)上述發(fā)明目的,本發(fā)明所采用的技術方案:
[0008]保密裝置組成:功能選擇引腳(I)和(2)、裝置選擇引腳(3)、讀寫引腳(4)、輸入總線(5)、輸出總線(6)、譯碼器(7)、密鑰產生模塊(8)、存儲器(9)、加密解密模塊(10)和反相器(11)組成。所述的譯碼器(7)在僅當裝置選擇引腳(3)低電平有效的情況下才將輸入的選擇引腳(I)和(2)組成的二進制位譯碼變成只有一位二進制位的低電平輸出,用于選擇內部密鑰產生模塊(8)、存儲器(9)或加密解密模塊(10)之一進行操作。所述密鑰產生模塊(8)按照本發(fā)明所述的密鑰產生方法產生密鑰;所述的存儲器(9)用于保存通過輸入總線(5)輸入的數(shù)據(jù)。所述的加密解密模塊(10)完成數(shù)據(jù)的加密或解密操作功能,并通過輸出總線(6)輸出結果,若輸入總線(5)輸入明文則通過加密解密模塊(10)進行加密并通過輸出總線(6)輸出密文,若輸入總線(5)輸入密文則通過加密解密模塊(10)進行解密后通過輸出總線(6)輸出解密后的明文。在讀寫引腳(4)的上升沿觸發(fā)從輸入總線(5)輸入或從輸出總線(6)輸出數(shù)據(jù)。反相器用于將讀寫引腳(4)的信號取反。
[0009]本發(fā)明的另一目的是提出了一種密鑰產生方法,其步驟包括:
[0010]1.將從輸入總線(5)輸入的種子密鑰左移兩位二進制位;
[0011 ] 2.將從輸入總線(5)輸入的種子密鑰進行求平方;
[0012]3.將步驟2求平方的結果右移30位二進制位;
[0013]4.將步驟I結果減去步驟3的結果;
[0014]5.將步驟4結果減去一;
[0015]6.將從輸入總線(5)輸入的種子密鑰乘以16807;
[0016]7.將步驟6的乘積分別存入低32位存儲單元和高32位存儲單元中;
[0017]8.將步驟7的高32位存儲單元整體向高位移動一位(將乘積的最高位丟棄),將步驟7的低32位存儲單兀的最尚位移入乘積尚32位存儲單兀的最低位;
[0018]9.將步驟6乘積的低32位存儲單元的最高位置為零;
[0019]10.將步驟8和步驟9所得的兩個32位存儲單元進行32位的加法運算得到32位和值;
[0020]11.將步驟10所得和值的高位(I或O值)取出;
[0021 ] 12.將步驟10所得的和值的最高位置成零值;
[0022]13.將步驟11所得值與步驟12所得的32位存儲單元值相加,得到32位的和值;
[0023]14.將步驟13與步驟5所得的值再進行二進制異或運算,即得到產生的密鑰。
[0024]以上步驟6至步驟13實際上是實現(xiàn)了乘同余計算。
[0025]本發(fā)明的有益效果是:
[0026]1.在本發(fā)明裝置內部產生密鑰,提高了密鑰的安全性;
[0027]2.本發(fā)明產生的密鑰具有對初始值敏感、白噪聲類似的混沌特性,可有效提高數(shù)據(jù)的安全保密特性;
[0028]3.在裝置內部產生非線性的密碼,增強了密鑰安全保護;
[0029]4.在裝置內部進行加密或解密操作,借助物理裝置保護數(shù)據(jù)的加密和解密,提高安全性;
[0030]5.本裝置可以方便地與其它數(shù)字系統(tǒng)集成,形成集成密碼芯片。
【附圖說明】
:
[0031]圖1是保密裝置組成框圖。在圖1中,各數(shù)字的含義如下:1.功能選擇引腳;2.功能選擇引腳;3.裝置選擇引腳;4.讀寫引腳;5.輸入總線;6.輸出總線;7.譯碼器;8.密鑰產生模塊;9.存儲器;10.加密解密模塊;11.反相器。
[0032]圖2是密鑰產生模塊組成圖。在圖2中,各數(shù)字的含義如下:4.讀寫引腳;5.輸入總線;12.密鑰模塊選擇引腳;13.輸入寄存器;14.輸入寄存器的輸出;15.向高位移動兩位的移位器;16.乘法器;17.加法器;18.直接內部連接高電平;19.輸出寄存器;20.乘同余計算模塊;21.異或門;22.輸出數(shù)據(jù)線。
[0033]圖3是圖2示意的密鑰產生模塊產生的密鑰序列的相鄰密鑰值之間的關系圖,即相圖。圖4中橫坐標為密鑰產生模塊產生的密鑰數(shù)據(jù),縱坐標為密鑰產生模塊產生的密鑰數(shù)據(jù)的相鄰的后一數(shù)據(jù)。
[0034]圖4是該裝置在可編程器件上實現(xiàn)的組成圖。圖4中符號含義:CS是裝置選擇引腳;A和B都為功能選擇引腳;wr為讀寫引腳;in_data[31..0]為32位輸入總線;out_data[31..0]為32位輸出總線。
[0035]圖5是該裝置在可編程器件上實現(xiàn)的功能仿真圖。圖5中符號含義同圖4。
【具體實施方式】
:
[0036]參見圖1和圖2,本發(fā)明提出的一種保密裝置及密鑰產生方法,包括以下加密步驟、解密步驟、密鑰產生步驟三方面,具體實施如下:
[0037]參見圖1,加密步驟如下:
[0038]1.將裝置選擇引腳(3)置低電平,表示選擇該裝置,將功能選擇引腳(I)和(2)都置為低電平,即00,通過譯碼器(7)譯碼輸出而選擇內部的密鑰產生模塊(8)。
[0039]2.在讀寫引腳(4)上升沿觸發(fā)將輸入總線(5)上的種子密鑰數(shù)據(jù)寫入到密鑰產生模塊(8)的內部寄存器。
[0040]3.然后將裝置選擇引腳(3)置低電平,表示選擇該裝置,將功能選擇引腳(I)和(2)置為01,通過譯碼器(7)譯碼輸出而選擇內部的存儲器(9)。
[0041]4.在讀寫引腳(4)上升沿觸發(fā)將輸入總線(5)上的明文數(shù)據(jù)寫入到內部的存儲器
(9)0
[0042]5.然后將裝置選擇引腳(3)置低電平,表示選擇該裝置,將功能選擇引腳(I)和(2)置為10,通過譯碼器(7)譯碼輸出而選擇內部的加密解密模塊(10)。
[0043]6.在讀寫引腳(4)上升沿觸發(fā)將加密解密模塊(10)的數(shù)據(jù)輸出到輸出總線(6),得到密文數(shù)據(jù)。
[0044]參見圖1,解密步驟如下:
[0045]1.將裝置選擇引腳(3)置低電平,表示選擇該裝置,將功能選擇引腳(I)和(2)都置為低電平,即00,通過譯碼器(7)譯碼輸出而選擇內部的密鑰產生模塊(8)。
[0046]2.在讀寫引腳(4)上升沿觸發(fā)將輸入總線(5)上的種子密鑰數(shù)據(jù)寫入到密鑰產生模塊(8)的內部寄存器。
[0047]3.然后將裝置選擇引腳(3)置低電平,表示選擇該裝置,將功能選擇引腳(I)和(2)置為01,通過譯碼器(7)譯碼輸出而選擇內部的存儲器(9)。
[0048]4.在讀寫引腳(4)上升沿觸發(fā)將輸入總線(5)上的密文數(shù)據(jù)寫入到內部的存儲器
(9)0
[0049]5.然后將裝置選擇引腳(3)置低電平,表示選擇該裝置,將功能選擇引腳(I)和(2)置為10,通過譯碼器(7)譯碼輸出而選擇內部的加密解密模塊(10)。
[0050]6.在讀寫引腳(4)上升沿觸發(fā)將加密解密模塊(10)的數(shù)據(jù)輸出到輸出總線(6),得到明文數(shù)據(jù)。
[0051 ] 參見圖2,密鑰產生步驟如下:
[0052]1.設密鑰模塊選擇引腳(12)為低電平信號,則選中輸入寄存器(13)。
[0053]2.在讀寫引腳(4)上升沿觸發(fā)將輸入總線(5)上的種子密鑰數(shù)據(jù)寫入到輸入寄存器(13)。
[0054]3.輸入寄存器的輸出(14)被同時送入向高位移動兩位的移位器(15)、乘法器(16)和乘同余計算模塊(20)。其中向高位移動兩位的移位器(15)和乘法器(16)的輸出又送入加法器(17)。
[0055]4.在讀寫引腳(4)上升沿觸發(fā)將加法器(17)的結果存入輸出寄存器(19),同時將送入乘同余計算模塊(20)的數(shù)據(jù)進行乘同余計算。
[0056]5.輸出寄存器(I9)和乘同余計算模塊(20)的輸出通過異或門(21)后輸出到輸出數(shù)據(jù)線(22),即為產生的密鑰。
[0057]圖3的相圖反應了產生的密鑰之間的相關性。從圖5可見相鄰密鑰不存在明顯的關聯(lián)性而表現(xiàn)為隨機獨立性。
[0058]圖4為圖1所示發(fā)明裝置在可編程器件上實現(xiàn)的組成圖,其功能仿真如圖5。
[0059]在圖5解釋如下:
[0060](I)Tl時段,CS為低電平,即選擇裝置,A為低電平,B為低電平,通過譯碼器譯碼輸出選中密鑰產生模塊,在wr的上升沿將輸入總線in_data [ 31..0 ]上的十六進制數(shù)據(jù)AB1C3D62存入內部寄存器。
[0061](2)在T2時段,CS為低電平,即選擇裝置,A為高電平,B為低電平,通過譯碼器譯碼輸出選中內部存儲器,在wr的上升沿將輸入總線in_data[31..0]上的十六進制數(shù)據(jù)1D3E4B98存入內部存儲器。
[0062](3)在T3時段,CS為低電平,即選擇裝置,A為低電平,B為高電平,通過譯碼器譯碼輸出選中加密解密模塊,在wr的上升沿將內部加密(或解密)的十六進制密文(明文)數(shù)據(jù)563C0F29輸出到輸出總線out_data [ 31..0 ]上。
[0063](4)在T4時段,CS為低電平,即選擇裝置,A為高電平,B為低電平,通過譯碼器譯碼輸出選中內部存儲器,在wr的上升沿將輸入總線in_data[31..0]上的十六進制密文(明文)數(shù)據(jù)563C0F29存入內部存儲器。
[0064](5)在T5時段,CS為低電平,即選擇裝置,A為低電平,B為高電平,通過譯碼器譯碼輸出選中加密解密模塊,在wr的上升沿將內部解密(或加密)的十六進制明文(密文)數(shù)據(jù)ID3E4B98輸出到輸出總線out_data [ 31..0 ]上。
[0065](6)在T6時段,CS為低電平,即選擇裝置,A為高電平,B為高電平,通過譯碼器譯碼輸出不選中任何內部模塊,在輸出總線out_data[31..0]上保持十六進制數(shù)據(jù)1D3E4B98??梢?,本發(fā)明的裝置輸入明文可以加密,輸入加密的密文可以正確地解密。
【主權項】
1.一種保密裝置及密鑰產生方法,其特征在于保密裝置包括:功能選擇引腳(I)和(2)、裝置選擇引腳(3)、讀寫引腳(4)、輸入總線(5)、輸出總線(6)、譯碼器(7)、密鑰產生模塊(8)、存儲器(9)、加密解密模塊(10)和反相器(11)。2.根據(jù)權利I所述的保密裝置及密鑰產生方法,其特征在于保密裝置的輸入輸出引腳有兩個輸入功能選擇引腳(I)和(2)、一個裝置選擇引腳(3)、一個讀寫引腳(4)、一個32位數(shù)據(jù)輸入總線(5)、一個32位數(shù)據(jù)輸出總線(6)。3.根據(jù)權利I所述的保密裝置及密鑰產生方法,其特征在于其中的譯碼器(7)將在裝置選擇引腳(3)為低電平信號時將功能選擇引腳(I)和(2)組成的二進制位譯碼變換并輸出低電平信號分別用于選中內部密鑰產生模塊(8)、存儲器(9)、加密解密模塊(10)。4.根據(jù)權利I所述的保密裝置及密鑰產生方法,其特征在于其中的密鑰產生模塊(8)在被選中的情況下,在讀寫引腳(4)信號的上升沿將輸入總線(5)上的數(shù)據(jù)輸入并存儲到密鑰產生模塊(8)內部的寄存器存儲作為種子秘鑰。5.根據(jù)權利I所述的保密裝置及密鑰產生方法,其特征在于其中的存儲器(9)在被選中的情況下,在讀寫引腳(4)信號的上升沿將輸入總線(5)上的數(shù)據(jù)輸入存儲器(9)存儲。6.根據(jù)權利I所述的保密裝置及密鑰產生方法,其特征在于其中的加密解密模塊(10)在被選中的情況下,在讀寫引腳(4)信號的上升沿將加密解密模塊(10)內部的數(shù)據(jù)輸出到輸出總線(6)上。7.根據(jù)權利I所述的保密裝置及密鑰產生方法,其特征在于密鑰產生方法步驟包括:I)將從輸入總線(5)輸入的種子密鑰左移兩位二進制位;2)將從輸入總線(5)輸入的種子密鑰進行求平方;3)將步驟2)求平方的結果右移30位二進制位;4)將步驟I)結果減去步驟3)的結果;5)將步驟4)結果減去一;6)將從輸入總線(5)輸入的種子密鑰乘以16807;7)將步驟6)的乘積分別存入低32位存儲單元和高32位存儲單元中;8)將步驟7)的高32位存儲單元整體向尚位移動一位(將乘積的最尚位丟棄),將步驟7)的低32位存儲單兀的最尚位移入乘積尚32位存儲單元的最低位;9)將步驟6)乘積的低32位存儲單元的最高位置為零;10)將步驟8)和步驟9)所得的兩個32位存儲單元進行32位的加法運算得到32位和值;11)將步驟10)所得和值的高位(I或O值)取出;12)將步驟10)所得的和值的最高位置成零值;13)將步驟11)所得值與步驟12)所得的32位存儲單元值相加,得到32位的和值;14)將步驟13)與步驟5)所得的值再進行二進制異或運算,即得到產生的密鑰。8.根據(jù)權利I所述的保密裝置及密鑰產生方法,其特征在于產生的密鑰具有對初始值敏感、白噪聲類似的特性。
【文檔編號】H04L9/06GK106059751SQ201610474365
【公開日】2016年10月26日
【申請日】2016年6月14日
【發(fā)明人】陳帥
【申請人】淮南師范學院