專利名稱:一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼加密和解密方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種信息加密技術(shù),尤其是涉及一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的混合 公鑰密碼加密和解密方法。
背景技術(shù):
社會(huì)信息化的快速發(fā)展對(duì)網(wǎng)絡(luò)通信的安全性和速度提出了更高的要求,現(xiàn)代網(wǎng)絡(luò) 通信的安全性主要基于密碼學(xué)。自1976年Diffie. W和Hellman. M提出公鑰密碼系統(tǒng)的 思想以來,由于其密碼管理方便和密鑰數(shù)量少等優(yōu)點(diǎn),成為了密碼學(xué)研究的熱點(diǎn),并且在網(wǎng) 絡(luò)安全及信息安全方面發(fā)揮了巨大的作用。迄今為止的所有公鑰密碼體系中,RSA系統(tǒng)是 最著名、使用最廣泛的一種。但RSA公鑰密碼算法的安全性依賴于大數(shù)的因子分解,速度較 慢,且隨著大數(shù)分解技術(shù)的發(fā)展,算法只能依靠提高密鑰的長(zhǎng)度來提高計(jì)算安全性,這就增 加了密鑰管理的難度,進(jìn)一步降低加密與解密的速度,同時(shí)密鑰空間急劇縮小,運(yùn)算代價(jià)變 高,也不利于數(shù)據(jù)格式的標(biāo)準(zhǔn)化。而近來研究比較多的橢圓曲線公鑰密碼算法,雖然密鑰相 對(duì)變短,但是仍存在計(jì)算量大、數(shù)據(jù)的加解密速度都比較慢的問題。神經(jīng)網(wǎng)絡(luò)固有復(fù)雜的非線性特點(diǎn)與密碼學(xué)的計(jì)算復(fù)雜特性要求非常吻合,這使得 神經(jīng)網(wǎng)絡(luò)特別是反饋型離散Hopfild神經(jīng)網(wǎng)絡(luò)在密碼學(xué)中的應(yīng)用研究成為現(xiàn)代密碼學(xué)領(lǐng) 域一個(gè)新研究方向。反饋型Hopfiled神經(jīng)網(wǎng)絡(luò)的動(dòng)力學(xué)特性,特別其混沌動(dòng)力學(xué)特性,被 認(rèn)為是一種非常復(fù)雜而難以預(yù)測(cè)的非線性問題,即可視為復(fù)雜難解的NP問題,它既能產(chǎn)生 無法預(yù)測(cè)的序列軌跡,也可以實(shí)現(xiàn)不規(guī)則的混沌吸引子分類,還可以實(shí)現(xiàn)不同系統(tǒng)間的工 作同步。此外,離散Hopfiled神經(jīng)網(wǎng)絡(luò)也是一種可實(shí)現(xiàn)高速并行運(yùn)算的網(wǎng)絡(luò),能夠適合用 FPGA或CMOS數(shù)字集成電路來直接兌現(xiàn)它的并行運(yùn)算,以實(shí)現(xiàn)實(shí)時(shí)高速加密通信。為了滿足下一代互聯(lián)網(wǎng)多媒體實(shí)時(shí)性安全通信的要求,既需要選用復(fù)雜性高的加 密算法,以增強(qiáng)信息的安全性,又希望所選用的加密算法能以并行方式實(shí)現(xiàn)快速運(yùn)算,以縮 短加密和解密的時(shí)間來保證實(shí)時(shí)通信。其中,既能實(shí)現(xiàn)快速并行運(yùn)算,又有混沌動(dòng)力學(xué)復(fù)雜 行為的人工神經(jīng)網(wǎng)絡(luò),一直被認(rèn)為是用來設(shè)計(jì)下一代互聯(lián)網(wǎng)通信所需的加密算法的最佳選 擇之一。雖然公鑰加密有很多優(yōu)點(diǎn),但是公鑰加密速度慢又有消息擴(kuò)展,不宜用于長(zhǎng)消 息的加密,而單鑰密碼較之有效得多,所以兩種概念的組合,即混合加密在實(shí)際應(yīng)用中非 常流行,已成為設(shè)計(jì)公鑰加密的一種重要方法,同時(shí)也是使低安全水平的公鑰加密達(dá)到 IND-CCA2(適應(yīng)性選擇密文攻擊的不可區(qū)分性)安全的一種方法。中國(guó)專利CN1980374公開一種基于生物特征的信息加密與解密方法,將從生物特 征身份識(shí)別系統(tǒng)獲得的圖像特征值數(shù)據(jù)作為密鑰,構(gòu)成一密鑰圖像,將密鑰圖像和被加密 圖像分別進(jìn)行傅立葉變換獲得圖像頻譜值,再將兩個(gè)頻譜值中的相位相加,構(gòu)成新的相位 值來置換被加密圖像的頻譜的相位值并保持模不變;進(jìn)行傅立葉逆變換即為加密圖像,發(fā) 送給用戶;解密時(shí)由實(shí)時(shí)采集授權(quán)者的生物特征值獲取密鑰信息,然后進(jìn)行加密過程的逆 過程實(shí)現(xiàn)解密。該發(fā)明通過在線實(shí)時(shí)采集授權(quán)者的生物特征值,密鑰信息無須保存和記憶,
4由于不保存密鑰信息,則密鑰信息無法復(fù)制,信息的解密必須由授權(quán)者本人親自到場(chǎng)解密, 非授權(quán)者無法獲取正確的密鑰,有效確保了加密信息的安全。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種安全性高、加密速度快的基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的 公鑰密碼加密和解密方法。本發(fā)明所述基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼加密方法,其步驟如下1)密鑰的輸入信息的發(fā)送方首先從輸入設(shè)備向加密器輸入自己的私 有密鑰Hs和接受方經(jīng)認(rèn)證過的合法的公鑰Tr,在加密器中計(jì)算出新的共享密鑰 T = HsTrHl=HsHrT0HXs;2)密鑰序列的生成密鑰序列產(chǎn)生器選用2nfLFSR作為序列密碼的驅(qū)動(dòng)源,將離 散Hopfield神經(jīng)網(wǎng)絡(luò)作為非線性函數(shù)部分進(jìn)行選擇控制輸出,各LFSR的的初始值由公開 密鑰T的矩陣中隨機(jī)選取確定,且通信雙方必須一致;然后把2"個(gè)LFSR的輸出值當(dāng)作神經(jīng) 網(wǎng)絡(luò)的輸入值,在加密器中計(jì)算出吸引子,并對(duì)吸引子進(jìn)行編號(hào),再根據(jù)吸引子編號(hào)對(duì)2"個(gè) LFSR的輸出值進(jìn)行多選一操作,由此產(chǎn)生隨機(jī)密鑰序列;3)密文的生成隨機(jī)密鑰序列與明文逐位進(jìn)行異或運(yùn)算,生成密文,直至明文全 部被加密為止。所述密鑰的產(chǎn)生步驟(1) 一組需要保密通信的用戶共同選取一個(gè)聯(lián)結(jié)突觸矩陣Ttl,聯(lián)結(jié)突觸矩陣為η 階奇異方陣,每個(gè)用戶在η階方陣交換族中隨機(jī)選取一個(gè)變換方陣,如用戶A任意選取一個(gè) 非奇異變換方陣Ha,首先計(jì)算Ta = HJTfHa',Ha'為Ha的轉(zhuǎn)置矩陣,然后將Ha保密,而把 Ta公開,當(dāng)同一組內(nèi)的用戶A與B需要保密通信時(shí),把T = Ha*Tb*Ha' = Hb*Ta*Hb'作為用 戶A與B保密通信的共同密鑰,用戶A或用戶B均可以根據(jù)自己的私鑰和對(duì)方的公鑰計(jì)算 出公共密鑰;(2)每個(gè)使用者將自己的公開密鑰,連同用戶名、地址等其他信息用數(shù)字簽名方式 保存在認(rèn)證中心公鑰信息庫中,并獲得該認(rèn)證中心頒發(fā)的公鑰證書,并在每次數(shù)據(jù)加密通 信之前通過公鑰證書對(duì)通信雙方進(jìn)行身份認(rèn)證;(3)利用帶認(rèn)證的Diffie-Hellman密鑰交換協(xié)議進(jìn)行密鑰交換,生成共享密鑰。所述各LFSR的的初始值由公開密鑰T的矩陣中隨機(jī)選取確定的方法可為大于等 于O的數(shù)設(shè)為1,小于O的設(shè)為0 ;所述吸引子的個(gè)數(shù)可為2n+1個(gè)。本發(fā)明所述基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼解密方法,包括以下步驟1)接收方首先對(duì)發(fā)送方的身份進(jìn)行認(rèn)證,根據(jù)發(fā)送方所提供的身份信息,通過數(shù) 字簽名和公鑰證書檢查與核對(duì)對(duì)方的身份,如果身份認(rèn)證信息是正確的,發(fā)送方是合法的 用戶,才對(duì)密文進(jìn)行解密處理,否則,對(duì)接受到的信息隔離刪除,并發(fā)出警報(bào),通知系統(tǒng)管理 員;2)計(jì)算新的突觸聯(lián)結(jié)矩陣接收方首先從輸入設(shè)備輸入自己的私有密 鑰Hr和發(fā)送方經(jīng)認(rèn)證過的合法公鑰Ts,在加密器中計(jì)算出新的突觸聯(lián)結(jié)矩陣 T = HrTsH'r =孖,///。//;//丨作為共享密鑰;3)密鑰序列的生成選用與發(fā)送方相同的2nfLFSR作為序列密碼的驅(qū)動(dòng)源,將離
5散Hopfield神經(jīng)網(wǎng)絡(luò)作為非線性函數(shù)部分進(jìn)行選擇控制輸出,具體方法為在共享密鑰f 的矩陣中選取與發(fā)送方相同的元素作為各LFSR的初始值,然后把2"個(gè)LFSR的輸出值當(dāng)作 神經(jīng)網(wǎng)絡(luò)的輸入值,在加密器中計(jì)算出吸引子,并對(duì)吸引子(總共2n+1個(gè))進(jìn)行編號(hào),再根 據(jù)吸引子編號(hào)對(duì)2"個(gè)LFSR的輸出值進(jìn)行多選一操作,由此產(chǎn)生隨機(jī)密鑰序列;4)恢復(fù)明文隨機(jī)密鑰序列與密文逐位進(jìn)行異或運(yùn)算,恢復(fù)明文,直至明文全部 被恢復(fù)為止。本發(fā)明的原理假設(shè)離散Hopfield神經(jīng)網(wǎng)絡(luò)有N個(gè)互聯(lián)神經(jīng)元,每個(gè)神經(jīng)元狀態(tài)只為O或1,它的 下一個(gè)狀態(tài)Si (t+Ι)取決于當(dāng)前各神經(jīng)元的狀態(tài)Si (t),即
權(quán)利要求
一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼加密方法,其特征在于其步驟如下1)密鑰的輸入信息的發(fā)送方首先從輸入設(shè)備向加密器輸入自己的私有密鑰Hs和接受方經(jīng)認(rèn)證過的合法的公鑰Tr,在加密器中計(jì)算出新的共享密鑰2)密鑰序列的生成密鑰序列產(chǎn)生器選用2n個(gè)LFSR作為序列密碼的驅(qū)動(dòng)源,將離散Hopfield神經(jīng)網(wǎng)絡(luò)作為非線性函數(shù)部分進(jìn)行選擇控制輸出,各LFSR的的初始值由公開密鑰T的矩陣中隨機(jī)選取確定,且通信雙方必須一致;然后把2n個(gè)LFSR的輸出值當(dāng)作神經(jīng)網(wǎng)絡(luò)的輸入值,在加密器中計(jì)算出吸引子,并對(duì)吸引子進(jìn)行編號(hào),再根據(jù)吸引子編號(hào)對(duì)2n個(gè)LFSR的輸出值進(jìn)行多選一操作,由此產(chǎn)生隨機(jī)密鑰序列;3)密文的生成隨機(jī)密鑰序列與明文逐位進(jìn)行異或運(yùn)算,生成密文,直至明文全部被加密為止。FDA0000030914820000011.tif
2.如權(quán)利要求1所述的一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼加密方法,其特征在 于所述密鑰的產(chǎn)生步驟1)一組需要保密通信的用戶共同選取一個(gè)聯(lián)結(jié)突觸矩陣Ttl,聯(lián)結(jié)突觸矩陣為η階奇異 方陣,每個(gè)用戶在η階方陣交換族中隨機(jī)選取一個(gè)變換方陣,如用戶A任意選取一個(gè)非奇異 變換方陣Ha,首先計(jì)算Ta = Ha*T0*Ha',Ha'為Ha的轉(zhuǎn)置矩陣,然后將Ha保密,而把Ta公 開,當(dāng)同一組內(nèi)的用戶A與B需要保密通信時(shí),把T = Ha*Tb*Ha' =Hb*Ta*Hb'作為用戶A與 B保密通信的共同密鑰,用戶A或用戶B均可以根據(jù)自己的私鑰和對(duì)方的公鑰計(jì)算出公共密 鑰;2)每個(gè)使用者將自己的公開密鑰,連同用戶名、地址等其他信息用數(shù)字簽名方式保存 在認(rèn)證中心公鑰信息庫中,并獲得該認(rèn)證中心頒發(fā)的公鑰證書,并在每次數(shù)據(jù)加密通信之 前通過公鑰證書對(duì)通信雙方進(jìn)行身份認(rèn)證;3)利用帶認(rèn)證的Diffie-Hellman密鑰交換協(xié)議進(jìn)行密鑰交換,生成共享密鑰。
3.如權(quán)利要求1所述的一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼加密方法,其特征在 于所述各LFSR的的初始值由公開密鑰T的矩陣中隨機(jī)選取確定的方法為大于等于O的數(shù) 設(shè)為1,小于O的設(shè)為O。
4.如權(quán)利要求1所述的一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼加密方法,其特征在 于所述吸引子的個(gè)數(shù)為2n+1個(gè)。
5.一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼解密方法,其特征在于包括以下步驟1)接收方首先對(duì)發(fā)送方的身份進(jìn)行認(rèn)證,根據(jù)發(fā)送方所提供的身份信息,通過數(shù)字簽 名和公鑰證書檢查與核對(duì)對(duì)方的身份,如果身份認(rèn)證信息是正確的,發(fā)送方是合法的用戶, 才對(duì)密文進(jìn)行解密處理,否則,對(duì)接受到的信息隔離刪除,并發(fā)出警報(bào),通知系統(tǒng)管理員;2)計(jì)算新的突觸聯(lián)結(jié)矩陣接收方首先從輸入設(shè)備輸入自己的私有密 鑰Hr和發(fā)送方經(jīng)認(rèn)證過的合法公鑰Ts,在加密器中計(jì)算出新的突觸聯(lián)結(jié)矩陣 T = HrTsH'r = Z^i/J。////;作為共享密鑰;3)密鑰序列的生成選用與發(fā)送方相同的2"個(gè)LFSR作為序列密碼的驅(qū)動(dòng)源,將離散 Hopfield神經(jīng)網(wǎng)絡(luò)作為非線性函數(shù)部分進(jìn)行選擇控制輸出,具體方法為在共享密鑰f的 矩陣中選取與發(fā)送方相同的元素作為各LFSR的初始值,然后把2"個(gè)LFSR的輸出值當(dāng)作神經(jīng)網(wǎng)絡(luò)的輸入值,在加密器中計(jì)算出吸引子,并對(duì)吸引子(總共2n+1個(gè))進(jìn)行編號(hào),再根據(jù)吸 引子編號(hào)對(duì)2"個(gè)LFSR的輸出值進(jìn)行多選一操作,由此產(chǎn)生隨機(jī)密鑰序列;吸引子總共2n+1 個(gè);4)恢復(fù)明文隨機(jī)密鑰序列與密文逐位進(jìn)行異或運(yùn)算,恢復(fù)明文,直至明文全部被恢 復(fù)為止。
全文摘要
一種基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼加密和解密方法,涉及一種信息加密技術(shù)。提供一種安全性高、加密速度快的基于神經(jīng)網(wǎng)絡(luò)混沌吸引子的公鑰密碼加密和解密方法。公鑰密碼加密方法為先密鑰的輸入;再密鑰序列的生成;最后密文的生成。公鑰密碼解密方法為接收方首先對(duì)發(fā)送方的身份進(jìn)行認(rèn)證,根據(jù)身份信息,通過數(shù)字簽名和公鑰證書檢查與核對(duì)對(duì)方的身份,若是合法用戶,對(duì)密文進(jìn)行解密處理,否則刪除,通知系統(tǒng)管理員;再計(jì)算新的突觸聯(lián)結(jié)矩陣,生成密鑰序列,隨機(jī)密鑰序列與密文逐位進(jìn)行異或運(yùn)算,恢復(fù)明文,直至明文全部被恢復(fù)為止。
文檔編號(hào)H04L9/30GK101977112SQ20101053348
公開日2011年2月16日 申請(qǐng)日期2010年11月4日 優(yōu)先權(quán)日2010年11月4日
發(fā)明者劉年生, 李國(guó)剛, 郭東輝 申請(qǐng)人:廈門大學(xué)