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

流密碼生成器、隨機(jī)數(shù)生成方法、加密系統(tǒng)及加密方法

文檔序號(hào):7629934閱讀:354來源:國(guó)知局
專利名稱:流密碼生成器、隨機(jī)數(shù)生成方法、加密系統(tǒng)及加密方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)字傳輸中的數(shù)據(jù)加密技術(shù),特別是對(duì)稱加密技術(shù),具體而言涉及一種用于對(duì)數(shù)據(jù)流進(jìn)行同步加密的流密碼生成器及一種使用該流密碼生成器進(jìn)行同步對(duì)稱加密的系統(tǒng)及方法。該流密碼生成器還可用于生成隨機(jī)數(shù)。
背景技術(shù)
自從電視這一以娛樂為主要目的的電子載體出現(xiàn)以來,給人類的日常生活帶來了深刻的影響,我們中的每個(gè)人幾乎每天都會(huì)或多或少地從電視中獲得我們期望知曉的內(nèi)容或消息,這些內(nèi)容國(guó)家乃至世界大事或涉及方方面面的生活瑣事,的確電視已經(jīng)成為我們生活中不可或缺的一部分。
隨著科技的進(jìn)步以及生活水平的提高,自從廣播電視誕生之日起,已經(jīng)經(jīng)過了多次技術(shù)上的革新,而今,電視正在由彩色電視向多媒體、高清晰度方向發(fā)展,即從模擬走向數(shù)字化的變革。電子技術(shù)數(shù)字化,被認(rèn)為是信息高速公路發(fā)展中的一個(gè)重要組成部分,已引起了世界各國(guó)的重視。電視技術(shù)的新革命時(shí)機(jī)已經(jīng)到來,我們正在以積極的態(tài)度迎接它。
數(shù)字電視以付費(fèi)電視形式提供高清晰、更加豐富的播放內(nèi)容,為起到維護(hù)商家和媒體播放者的利益,有必要對(duì)傳輸中的數(shù)字電視數(shù)據(jù)提供一定的版權(quán)保護(hù),維護(hù)一個(gè)公平的播放和收視環(huán)境。
加密技術(shù)對(duì)數(shù)字信息產(chǎn)品的版權(quán)保護(hù)歷來起著舉足輕重的作用,它也是為數(shù)字產(chǎn)品提供機(jī)密性保護(hù)的一種有效和實(shí)用的技術(shù)。一般而言,對(duì)于有較大數(shù)據(jù)量的數(shù)據(jù)信息,通常選用是對(duì)稱加密技術(shù),再者,由于數(shù)字電視傳輸?shù)臄?shù)據(jù)要求實(shí)時(shí)性,流密碼因其在加解密速度上的優(yōu)勢(shì),成為數(shù)字電視加密技術(shù)方案的首選。
因?yàn)槭褂昧髅艽a方案加密速度快,其適合傳輸數(shù)據(jù)量比較大并且有實(shí)時(shí)傳輸要求的機(jī)制,這樣流密碼方案就很自然地應(yīng)用到數(shù)字電視保護(hù)系統(tǒng)中來。國(guó)外已經(jīng)相應(yīng)制定了HDCP(寬帶數(shù)字內(nèi)容保護(hù)),DTCP(數(shù)字傳輸內(nèi)容保護(hù)),PODCP(POD拷貝保護(hù))規(guī)范或標(biāo)準(zhǔn)。HDCP用于保護(hù)HDMI和DVI接口傳輸?shù)臄?shù)字內(nèi)容,其中使用的加密技術(shù)也是流密碼技術(shù)。用于HDCP保護(hù)的密碼機(jī)制包含四個(gè)模塊hdcpRngCipher,hdcpBlockCipher,hdcpStreamCipher,hdcpRekeyCipher.其中,三個(gè)線性反饋移位寄存器LFSR每個(gè)時(shí)鐘觸發(fā)為hdcpBlockCipher提供1比特的更新數(shù)據(jù)。hdcpBlockCipher包含兩個(gè)輪函數(shù)變換,輸出168比特的數(shù)據(jù),密鑰流輸出函數(shù)選取其中的部分?jǐn)?shù)據(jù)作為輸出,經(jīng)過線性變換,每次脈沖輸出24比特的數(shù)據(jù)流。HDCP的流密碼保護(hù)機(jī)制包含三個(gè)LFSR,輸入密鑰長(zhǎng)度為56比特,對(duì)于目前高速的計(jì)算機(jī)搜索速度來說,這一長(zhǎng)度的密鑰并不足以抵抗密鑰搜索攻擊。
另外,HDCP系統(tǒng)已經(jīng)被證實(shí)安全性不高,攻擊者只需要大約40臺(tái)裝有HDCP系統(tǒng)的設(shè)備,就可以得到一些系統(tǒng)參數(shù),進(jìn)而在沒有授權(quán)的情況下可以任意制造非法設(shè)備,而且這些非法設(shè)備不能被合法設(shè)備檢驗(yàn)出來。
鑒于以上不足,為提高加密干擾機(jī)制的安全性,給出一種基于公鑰認(rèn)證的數(shù)據(jù)流加密保護(hù)方案。該方案的特點(diǎn)是密鑰規(guī)模大(128比特),其內(nèi)部狀態(tài)更新數(shù)據(jù)快,可以有效地用于數(shù)字電視保護(hù)系統(tǒng)。

發(fā)明內(nèi)容
為克服上述現(xiàn)有技術(shù)的密鑰過短的缺點(diǎn),本發(fā)明的目的在于提供一種具有較長(zhǎng)密鑰且更新速度較快的流密碼生成技術(shù)。
本發(fā)明的一方面,提供了一種流密碼生成器,包括一個(gè)輸入模塊,用于輸入密鑰及向量;三個(gè)線性反饋移位寄存器LFSRα、LFSRβ、LFSRγ,從輸入模塊輸入密鑰;三個(gè)線性變換模塊T1、K、L,從輸入模塊輸入向量;其中,所述T1在輸入過程及封閉循環(huán)運(yùn)行過程用輸入的向量和從下述的輸出模塊G反饋的數(shù)對(duì)LFSRα中的密鑰進(jìn)行置亂,以及所述的K在輸入過程用輸入的向量對(duì)LFSRβ中的密鑰進(jìn)行置亂,以及所述L在輸入過程用輸入的向量對(duì)LFSRγ中的密鑰進(jìn)行置亂;三個(gè)狀態(tài)讀取列表模塊A、B和C,其分別從LFSRα、LFSRβ和LFSRγ的預(yù)定位讀取并排列成預(yù)定位的數(shù)輸出;一個(gè)線性變換模塊F,對(duì)從A、B和C輸出的數(shù),進(jìn)行壓縮及反饋置亂后輸出;一個(gè)查表壓縮變換模塊D,將從B輸出的數(shù)查表壓縮后輸出;一個(gè)輸出模塊G,將從F、D和C輸入的數(shù)壓縮成預(yù)定位的數(shù)輸出,其中該輸出在輸入過程和封閉循環(huán)運(yùn)行過程反饋到T1。
其中,在輸入過程中LFSRα先將預(yù)定位的數(shù)異或后反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)移預(yù)定位,并用G反饋的數(shù)和從輸入模塊輸入的向量對(duì)其作異或運(yùn)算,然后將運(yùn)算結(jié)果回輸?shù)絃FSRα左端,且LFSRα右移8位;LFSRβ將預(yù)定位的數(shù)反異或后饋到其左端,然后右移一位,所述K用輸入模塊輸入的向量對(duì)LFSRβ左端的數(shù)位作異或運(yùn)算,然后LFSRβ循環(huán)右移8位;LFSRγ將預(yù)定位的數(shù)異或后反饋到其左端,然后右移一位,所述L用從輸入模塊輸入的向量對(duì)LFSRγ左端數(shù)位作異或運(yùn)算,然后LFSRγ循環(huán)右移8位;所述的A、B、C、D、F模塊按預(yù)定的方式工作;所述的G輸出的述反饋到T1。
在封閉循環(huán)運(yùn)行過程中LFSRα將預(yù)定位的數(shù)異或后反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)移預(yù)定位,并用G反饋的數(shù)對(duì)其作異或運(yùn)算,然后將運(yùn)算結(jié)果回輸?shù)絃FSRα左端,且LFSRα右移8位;LFSRβ將預(yù)定位的數(shù)異或后反饋到其左端,然后右移一位,然后LFSRβ循環(huán)右移8位;LFSRγ先將預(yù)定位的數(shù)異或后反饋到其左端,然后右移一位,然后LFSRγ循環(huán)右移8位;所述的A、B、C、D、F模塊按預(yù)定的方式工作;所述的G輸出的述反饋到T1。
在對(duì)外輸出過程中LFSRα先將預(yù)定位的數(shù)異或后反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)移預(yù)定位,然后將運(yùn)算結(jié)果回輸?shù)絃FSRα左端,然后LFSRα右移8位;LFSRβ先將預(yù)定位的數(shù)異或后反饋到其左端,并右移一位,然后LFSRβ循環(huán)右移8位;LFSRγ先將預(yù)定位的數(shù)異或后反饋到其左端,并右移一位,然后LFSRγ循環(huán)右移8位;所述的A、B、C、D、F模塊按預(yù)定的方式工作;所述的G輸出的述反饋到T1。
本發(fā)明的另一方面,提供一種隨機(jī)數(shù)的生成方法,包括流密碼生成器讀入預(yù)先埋入的密鑰及向量;然后封閉循環(huán)運(yùn)行;截取對(duì)外輸出的數(shù)據(jù)流生成任意長(zhǎng)度的隨機(jī)數(shù)。
本發(fā)明的另一方面在于提供了一種同步對(duì)稱加密系統(tǒng),特征在于在加密端和解密端分別設(shè)置一流密碼生成器;在加密端還包括一認(rèn)證單元;其中所述的同步對(duì)稱加密系統(tǒng)的工作過程包括
解密端的流密碼生成器讀入預(yù)先埋入的初始密鑰和初始向量,封閉循環(huán)運(yùn)行,生成隨機(jī)數(shù)和重新認(rèn)證的密鑰及向量,然后發(fā)出認(rèn)證請(qǐng)求并將該隨機(jī)數(shù)發(fā)送到認(rèn)證單元;加密端的流密碼生成器根據(jù)認(rèn)證請(qǐng)求,讀入預(yù)先埋入的初始密鑰和初始向量,封閉循環(huán)運(yùn)行,生成隨機(jī)數(shù)和重新認(rèn)證的密鑰及向量,將隨機(jī)數(shù)發(fā)送到認(rèn)證單元;認(rèn)證單元根據(jù)認(rèn)證請(qǐng)求,讀取兩端生成的隨機(jī)數(shù)進(jìn)行認(rèn)證,如認(rèn)證通過則發(fā)出認(rèn)證通過指示并用這兩個(gè)隨機(jī)數(shù)生成中間密鑰及向量;兩端的流密碼生成器根據(jù)認(rèn)證通過指示讀入該中間密鑰及向量,封閉循環(huán)運(yùn)行預(yù)定個(gè)脈沖,生成場(chǎng)更新密鑰及校驗(yàn)向量和密鑰流;其中加密端用密鑰流對(duì)明文數(shù)據(jù)流進(jìn)行加密生成密文流,及解密端用密鑰流對(duì)的密文流進(jìn)行解密。
當(dāng)生成預(yù)定量的密鑰流后,兩端的流密碼生成器讀入所述的場(chǎng)更新密鑰,封閉循環(huán)運(yùn)行預(yù)定數(shù)個(gè)脈沖,生成下一場(chǎng)更新密鑰及校對(duì)向量和密鑰流。
還包括當(dāng)傳輸中斷時(shí),解密端的流密碼生成器讀入重新認(rèn)證密鑰及向量,封閉循環(huán)運(yùn)行,生成隨機(jī)數(shù)和下個(gè)重新認(rèn)證密鑰及向量;解密端發(fā)出重新認(rèn)證請(qǐng)求,認(rèn)證單元讀取隨機(jī)數(shù);加密端流密碼生成器根據(jù)重新認(rèn)證請(qǐng)求,讀入重新認(rèn)證密鑰及向量,封閉循環(huán)運(yùn)行,生成隨機(jī)數(shù),認(rèn)證單元讀取該隨機(jī)數(shù)進(jìn)行認(rèn)證;認(rèn)證單元根據(jù)認(rèn)證請(qǐng)求,用兩端生成的隨機(jī)數(shù)進(jìn)行認(rèn)證,如認(rèn)證通過,發(fā)出認(rèn)證通過指示,并生成中間密鑰及向量;兩端的流密碼生成器根據(jù)認(rèn)證通過指示讀入生成中間密鑰及向量,封閉循環(huán)運(yùn)行生成場(chǎng)更新密鑰及校驗(yàn)向量和密鑰流,其中加密端用密鑰流對(duì)明文數(shù)據(jù)流進(jìn)行加密生成密文流,而解密端用密鑰流對(duì)的密文流進(jìn)行解密。
對(duì)于本發(fā)明,決定密鑰流的初始密鑰和初始向量為128比特,其大大的高于現(xiàn)有技術(shù)中的56比特的種子密鑰,因此加密具有更高的安全性。


圖1A所示為流密碼生成器的結(jié)構(gòu)示意圖;圖1B所示為線性變換模塊T1的結(jié)構(gòu)圖;
圖1C所示為線性變換模塊K的結(jié)構(gòu)圖;圖1D所示為線性變換模塊L的結(jié)構(gòu)圖;圖2A所示為同步對(duì)稱加密解密過程中的解密端流密碼生成器的工作流程圖;圖2B所示為同步對(duì)稱加密解密過程中的加密端流密碼生成器的工作流程圖;圖2C所示為啟動(dòng)子程序的流程圖;圖2D所示為密鑰生成子程序的流程圖;圖2E所示為場(chǎng)密鑰更新子程序流程圖;圖2F所示為重新認(rèn)證子程序流程圖;圖3所示為線性變換模塊F中FF2模塊的示意圖;圖4A所示為查表壓縮變換模塊D的結(jié)構(gòu)示意圖;圖4B所示為查表變換M的結(jié)構(gòu)圖;圖4C所示為查表變換H的結(jié)構(gòu)圖;圖5所示為輸出模塊G的邏輯示意圖表;圖6所示狀態(tài)讀取列表模塊A的結(jié)構(gòu)示意圖;圖7所示為同步對(duì)稱加密系統(tǒng)的結(jié)構(gòu)示意圖;圖8所示為認(rèn)證單元的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明涉及一種流密碼生成器,用于生成與時(shí)鐘觸發(fā)同步的24比特的流密碼(密鑰流)。下面結(jié)合附圖對(duì)流密碼生成器進(jìn)一步的描述。
<流密碼生成器>
如圖1所示,本發(fā)明的流密碼生成器包括三個(gè)線性反饋移位寄存器LFSRα、LFSRβ和LFSRγ。其中,LFSRα為64位,特征多項(xiàng)式為f(x)=x8+x6+x5+x+1;LFSRβ為35位,特征多項(xiàng)式為f(x)=x35+x30+x22+x11+x6+1;LFSRγ共有31比特,其特征多項(xiàng)式為f(x)=x31+x13+x7+x6+x3+1。
三個(gè)線性變換模塊T1、K和L,其中T1對(duì)LFSRα的數(shù)據(jù)進(jìn)行反饋置亂,線性變換K對(duì)LFSRβ的數(shù)據(jù)進(jìn)行置亂,L對(duì)LFSRγ的數(shù)據(jù)進(jìn)行置亂。
一個(gè)輸入模塊,用于向所述的LFSRα、LFSRβ、LFSRγ和三個(gè)線性變換模塊T1、K和L分別輸入密鑰及向量值。
三個(gè)狀態(tài)讀取列表模塊A、B和C,其中A讀取LFSRα中預(yù)定位的數(shù)據(jù),B讀取LFSRβ中預(yù)定位的數(shù)據(jù),C讀取LFSRγ中預(yù)定位的數(shù)據(jù)。線性變換模塊F,其中F輸入從A、B和C輸出的數(shù)據(jù),經(jīng)反饋壓縮及置亂后輸出24位的數(shù)據(jù)。
一查表壓縮變換模塊D,對(duì)從B輸出的數(shù)據(jù),經(jīng)查表壓縮后輸出16位的數(shù)據(jù)。一輸出模塊G;對(duì)從上述的F、D和C輸出的數(shù)據(jù)壓縮后每個(gè)時(shí)鐘觸發(fā)輸出24位的數(shù)據(jù)流。
一存儲(chǔ)/截取模塊,該存儲(chǔ)/截取模塊用于存儲(chǔ)預(yù)先埋入的初始密鑰及初始向量,以及用于截取和存儲(chǔ)運(yùn)行中生成的隨機(jī)數(shù)、重新認(rèn)證密鑰及向量、場(chǎng)更新密鑰。
一控制單元,用于協(xié)調(diào)各組成部分的運(yùn)作,并控制整個(gè)流密碼生成器的運(yùn)行。
上述的各組成單元在時(shí)鐘脈沖觸發(fā)下進(jìn)行動(dòng)作,初始狀態(tài)下的寄存器的缺省值為零。同時(shí),各組成部分之間通過總線進(jìn)行數(shù)據(jù)傳輸。
上述的流密碼生成器的一個(gè)基本的工作過程包括(1)輸入過程從密鑰生成模塊或從存儲(chǔ)/截取模塊讀入密鑰或向量,其中128比特密鑰用一個(gè)脈沖觸發(fā)分別輸入到三個(gè)線性反饋移位寄存器LFSRα、LFSRβ和LFSRγ,以及128比特的向量是通過6個(gè)時(shí)鐘脈沖分別輸入三個(gè)線性變換模塊T1、K和L,此時(shí)輸出模塊G對(duì)外無輸出,其24比特的輸出數(shù)據(jù)反饋到線性變換模塊T1中;所述的A、B、C、D、F模塊按預(yù)定的方式工作;(2)封閉循環(huán)運(yùn)行過程此時(shí)輸入模塊無數(shù)據(jù)輸入,輸出模塊G對(duì)外也無輸數(shù)據(jù)出,G的24比特輸出的數(shù)據(jù)反饋到線性變換模塊T1中;而所述的A、B、C、D、F等模塊在預(yù)定方式下工作。(3)輸出過程此時(shí)輸入模塊無數(shù)據(jù)輸入,所述的A、B、C、D、F等模塊在預(yù)定方式下工作;輸出模塊G對(duì)外輸出24比特的數(shù)據(jù)流。
實(shí)施例1線性反饋移位寄存器LFSRa,其按字節(jié)進(jìn)行移位操作,有64位。其預(yù)定位的8比特?cái)?shù)串行輸出并經(jīng)異或運(yùn)算(即這些8比特的串模2相加),作為結(jié)果的8比特τ反饋到線性變換模塊T1中。
其中,T1是一線性變換模塊,其輸出為8比特。T1的結(jié)構(gòu)如圖1B所示包括三個(gè)相互獨(dú)立的部件T1A、T1B、T1C,和一選擇開關(guān)。
T1A部件由讀入單元、調(diào)整單元和運(yùn)算單元等3部分組成。在輸入過程,該讀入單元從總線讀入LFSRa反饋的8比特τ、輸出模塊G的輸出G2(8比特)、G1(8比特)、G0(8比特)和8比特輸入的向量IV3k+2(k=0,1,...,4,五輪輸入);該調(diào)整單元利用調(diào)整數(shù)據(jù)線排列順序的方法將讀入的數(shù)據(jù)重新調(diào)整數(shù)據(jù)的比特順序,形成長(zhǎng)度都是8比特的5個(gè)數(shù)據(jù)(τ>>>3)、G2、(G1>>>2)、G0、IV3k+2;該運(yùn)算單元利用異或運(yùn)算將上述5個(gè)數(shù)據(jù)進(jìn)行異或運(yùn)算,其邏輯表達(dá)式為T1=[(τ>>>3)G0(G1>>>2)G2IV3k+2],其中τ>>>3表示LFSRα反饋的8比特τ循環(huán)右移3位的值,G1>>>2表示變換G的輸出G1循環(huán)右移兩位的值,表示求異或運(yùn)算,公式所得即T1A部件的最終輸出的值。
T1B部件由讀入單元、調(diào)整單元和運(yùn)算單元等3部分組成。在封閉循環(huán)運(yùn)行過程中,該讀入單元讀入LFSRα反饋的8比特τ、輸出模塊G的輸出G2(8比特)、G1(8比特)、G0(8比特);該調(diào)整單元利用調(diào)整數(shù)據(jù)線排列順序的方法將讀入的數(shù)據(jù)重新調(diào)整數(shù)據(jù)的比特順序,形成長(zhǎng)度都是8比特的4個(gè)數(shù)據(jù)(τ>>>3)、G2、(G1>>>2)、G0;運(yùn)算單元利用異或運(yùn)算器將上述4個(gè)8比特?cái)?shù)據(jù)按比特進(jìn)行異或運(yùn)算,邏輯運(yùn)算式為T1=[(τ>>>3)G0(G1>>>2)G2],其中G1>>>2表示G1右移2位的值,如G1為0234567則G1>>>2表示67012345,所得的值即T1B部件的輸出。
T1C部件由讀入單元和調(diào)整單元2部分組成。在對(duì)外輸出過程中,讀入單元從數(shù)據(jù)總線讀入LFSRα反饋的8比特τ;該調(diào)整單元利用調(diào)整數(shù)據(jù)線排列順序的方法將讀入的數(shù)據(jù)重新調(diào)整數(shù)據(jù)的比特順序,形成長(zhǎng)度是8比特的數(shù)據(jù),邏輯運(yùn)算式為T1=[τ>>>3],所得的值即T1C部件的輸出。
上述的三個(gè)獨(dú)立部件T1A、T1B、T1C分別對(duì)應(yīng)于輸入過程、封閉循環(huán)運(yùn)行過程、輸出過程等三個(gè)階段。通過所述的選擇開關(guān)根據(jù)系統(tǒng)控制單元給出的選擇信號(hào)在不同的階段分別將其中某一對(duì)應(yīng)部分選擇作為線性變換模塊T1的工作單元,該單元的輸出作為線性變換模塊T1的輸出。這里的G2(8比特)、G1(8比特)、G0(8比特)是輸出模塊G的24比特輸出的不同段,其中G1為G0=g7g6g5g4g3g2g1g0,G1為G1=g15g14g13g12g11g10g9,G2為G2=g23g22g21g20g19g18g17g16。
其中,在輸入過程LFSRα通過一個(gè)脈沖輸入64個(gè)比特的密鑰,然后將預(yù)定位的數(shù)異或反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)循環(huán)右移3位,并用G反饋的數(shù)和從輸入模塊輸入的向量對(duì)其作異或運(yùn)算,然后將運(yùn)算結(jié)果回輸?shù)絃FSRα的左端,然后LFSRα右移8位;在封閉循環(huán)運(yùn)行過程LFSRα將預(yù)定位的數(shù)異或反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)τ循環(huán)右移3位,并用G反饋的數(shù)對(duì)其作異或運(yùn)算,并將運(yùn)算結(jié)果回輸?shù)絃FSRα左端,然后LFSRα右移8位;在對(duì)外輸出過程LFSRα將預(yù)定位的數(shù)異或反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)τ循環(huán)右移3位,并將運(yùn)算結(jié)果回輸?shù)絃FSRα左端,然后LFSRα右移8位。
實(shí)施例2線性反饋移位寄存器LFSRβ有35位,其在脈沖觸發(fā)下移位操作。在輸入過程,LFSRβ先通過一個(gè)脈沖讀入33比特的密鑰,此過程中將其預(yù)定位的數(shù)(如第1、7、13、23、31位)經(jīng)異或運(yùn)算后(即將這些位輸出的8比特的數(shù)進(jìn)行2進(jìn)制相加)反饋到其左端,并右移1位,然后由K對(duì)其左端的8位進(jìn)行異或運(yùn)算,然后循環(huán)右移8位。在封閉循環(huán)運(yùn)行和對(duì)外輸出過程,LFSRβ先將預(yù)定位的數(shù)異或反饋到其左端,并右移1位,然后循環(huán)右移8位。在封閉循環(huán)運(yùn)行和對(duì)外輸出過程將其預(yù)定位的數(shù)經(jīng)異或運(yùn)算后(即將這些位輸出的8比特的數(shù)進(jìn)行2進(jìn)制相加)反饋到其左端,并右移1位,然后循環(huán)右移8位。
K的結(jié)構(gòu)組成如圖1C所示包括讀入單元、調(diào)整單元、運(yùn)算單元、寫入單元和一選擇開關(guān)。線性變換模塊K在輸入過程中,該選擇開關(guān)用于對(duì)K的工作狀態(tài)進(jìn)行選擇為”“ON”,此時(shí)通過5個(gè)脈沖由輸入模塊輸入5個(gè)8比特的向量IV3k+1(其中k=0,1,...,4)并由讀入單元讀入LFSRβ經(jīng)1比特移位后的左端8比特;該調(diào)整單元利用調(diào)整數(shù)據(jù)線排列順序的方法將讀入的數(shù)據(jù)重新調(diào)整數(shù)據(jù)的比特順序,形成長(zhǎng)度都是8比特的兩個(gè)數(shù)據(jù);該運(yùn)算單元利用異或運(yùn)算器將上述2個(gè)數(shù)據(jù)按比特進(jìn)行異或運(yùn)算,其邏輯表達(dá)式為K=K=[β34β33β32β31β30β29β28β27IV3k+1],公式所得即K的輸出;所述寫入單元將運(yùn)算結(jié)果寫入到LFSRβ中的左端8位,同時(shí)LFSRβ循環(huán)右移8位。在封閉循環(huán)運(yùn)行過程和對(duì)外輸出過程,K無向量輸入,其選擇開關(guān)對(duì)K的工作狀態(tài)選擇為“OFF”,K不對(duì)LFSRβ循環(huán)移位反饋后的數(shù)據(jù)進(jìn)行操作,而是LFSRβ自行先右移1位,然后循環(huán)右移8位。
<實(shí)施例3>
線性反饋移位寄存器LFSRγ共有31比特,其在脈沖觸發(fā)下移位操作。在讀入過程,LFSRγ通過一個(gè)脈沖讀入31比特的密鑰,將其預(yù)定位的數(shù)(如第1、4、7、8、14的數(shù))經(jīng)異或運(yùn)算后(即將這些位輸出的8比特的數(shù)進(jìn)行2進(jìn)制相加)反饋到其左端,并右移1位,然后由L對(duì)其左端的8位進(jìn)行異或運(yùn)算,然后循環(huán)右移8位。在封閉循環(huán)運(yùn)行和對(duì)外輸出過程,LFSRγ先將預(yù)定位的數(shù)異或反饋到其左端,并右移1位,然后循環(huán)右移8位。在封閉循環(huán)運(yùn)行和對(duì)外輸出過程將其預(yù)定位的數(shù)經(jīng)異或運(yùn)算后(即將這些位輸出的8比特的數(shù)進(jìn)行2進(jìn)制相加)反饋到其左端,并右移1位,然后循環(huán)右移8位。
線性變換模塊L的結(jié)構(gòu)組成如圖1D所示包括讀入單元、調(diào)整單元、運(yùn)算單元和一選擇開關(guān)。在輸入過程,該選擇開關(guān)用于對(duì)K的工作狀態(tài)進(jìn)行選擇為“ON”,此時(shí)讀入LFSRγ經(jīng)1比特移位后的左端8比特和6個(gè)8比特的向量IV3k(k=0,1,...,5);該調(diào)整單元利用調(diào)整數(shù)據(jù)線排列順序的方法將讀入的數(shù)據(jù)重新調(diào)整數(shù)據(jù)的比特順序,形成長(zhǎng)度都是8比特的兩個(gè)數(shù)據(jù);該運(yùn)算單元利用異或運(yùn)算器將上述2個(gè)數(shù)據(jù)按比特進(jìn)行異或運(yùn)算,其邏輯表達(dá)式為L(zhǎng)=[r30r29r28r27r26r25r24r23IV3k],公式所得即L的輸出;所述寫入單元將運(yùn)算結(jié)果的植輸入到LFSRγ左端8位中。
在封閉循環(huán)運(yùn)行過程和對(duì)外輸出過程,K無向量輸入,其選擇開關(guān)對(duì)L的工作狀態(tài)選擇為“OFF”,L不對(duì)LFSRγ循環(huán)移位反饋后的數(shù)據(jù)進(jìn)行操作。
<實(shí)施例4>
圖1A中的狀態(tài)讀取列表模塊A、B和C,其每個(gè)時(shí)鐘觸發(fā)分別從LFSRα,LFSRβ和LFSRγ中分別讀取32,24和16比特。并且,讀取的位置應(yīng)滿足比較大的差集,并減少兩次時(shí)鐘觸發(fā)列表中相同元素的數(shù)量。
具體如圖6D所示,狀態(tài)讀取列表模塊A,包含一個(gè)讀出單元(用于從LFSRα中讀取32比特?cái)?shù)據(jù))、一個(gè)排列組合單元(用于將32比特變量重新調(diào)整排列順序)、一個(gè)由寄存器組成的輸出單元(用于暫存選擇單元的輸出,并向下一級(jí)模塊輸出)。
狀態(tài)讀取列表模塊B,包含一個(gè)讀出單元(用于從LFSRβ中讀取24比特?cái)?shù)據(jù))、一個(gè)排列組合單元(用于將24比特變量重新調(diào)整排列順序)、一個(gè)由寄存器組成的輸出單元(用于暫存選擇單元的輸出,并向下一級(jí)模塊輸出)。
狀態(tài)讀取列表模塊C,包含一個(gè)讀出單元(用于從LFSRγ中讀取16比特?cái)?shù)據(jù))、一個(gè)排列組合單元(用于將16比特變量重新調(diào)整排列順序)、一個(gè)由寄存器組成的輸出單元(用于暫存選擇單元的輸出,并向下一級(jí)模塊輸出)。
另外,如圖1A所示,狀態(tài)讀取列表模塊A的輸出32比特作為線性變換模塊F的輸入之一,狀態(tài)讀取列表模塊B的24比特輸出分別作為線性變換模塊F和查表壓縮變換模塊D的輸入,狀態(tài)讀取列表模塊C的16比特輸出作為線性變換模塊F的輸入和輸出模塊G的輸入。其中查表壓縮變換模塊D包括兩個(gè)并行的查表變換,D的16比特輸出作為輸出模塊G的輸入之一。線性變換模塊F的24比特輸出作為輸出模塊G的輸入之一。下文將詳細(xì)描述線性變換模塊F和查表壓縮變換模塊D的運(yùn)算過程。
<實(shí)施例5>
線性變換模塊F具有兩個(gè)主要的模塊,第一模塊FF1和第二模塊FF2,各自的主要運(yùn)算為第一模塊FF1,其是把從狀態(tài)讀取列表模塊A讀入的32比特,從B讀入的24比特和從C讀入的16比特以及線性變換模塊F自身的24比特線性的壓縮變換為適于FF2輸入的24比特,壓縮后的24比特用F0’F1’F2’表示,其中F0’為f7f6f5f4f3f2f1f0,F(xiàn)1’為f15f14f13f12f11f10f9f8,F(xiàn)2’為f23f22f21f20f19f18f17f16。
另外第二模塊FF2,其對(duì)FF1得到的24比特進(jìn)一步置亂、混淆,提高流密碼生成器的非線性復(fù)雜度。如圖3A所示,F(xiàn)F2包括兩個(gè)非可逆線性變換模塊M0、M1,F(xiàn)F1向FF2輸入的24比特F2’F1’F0’(f’23f’22...f’1f’0)分成兩個(gè)12比特,分別記為F”0=f’0f’15f’7f’2f’22f’19f’13f’5f’17f’23f’11f’9和F”1=f’20f’3f’14f’21f’4f’18f’6f’1f’16f’8f’12f’10。其中,F(xiàn)”0和F”1分別和兩個(gè)線性變換的矩陣M0和M1作矢量乘法運(yùn)算,得到兩個(gè)8比特的輸出,即F’0=F”0×M0和F’1=F”1×M1。
另外,第二模塊FF2包括4個(gè)并聯(lián)的S-盒(S3S2S1S0),F(xiàn)F1模塊輸出的F2’段的8比特作為S-盒的輸入,另外S-盒由FF1輸出的F1’的最低兩個(gè)比特(f9f8)控制,S盒查表變換一共輸出為8比特,用F’2表示。這些S-盒查表變換的存在有效防止特殊密鑰(如全0,全1)造成的弱密鑰。對(duì)每一個(gè)表Si(i=0,1,2,3),輸出的值是均勻分布的,輸出差分的概率也是相等的,這樣差分分析不能得到密鑰f9f8的信息。
矩陣M0,M1的每行中至少有5個(gè)比特為1,所以每改變1比特輸入影響輸出8比特中的至少5比特。因?yàn)榫仃嘙0,M1的每列中至少有7個(gè)比特為1,所以結(jié)果中的每1比特至少受12比特中的7比特影響。這樣增加了分析的難度,并且S-盒輸出的8比特和非可逆線性變換輸出的兩個(gè)8比特,三組數(shù)據(jù)交替循環(huán)變換,加速了置亂過程。
經(jīng)過以上的S-盒查表變換和兩個(gè)非可逆線性變換M0、M1的輸出記為F’2F’1F’0,該輸出經(jīng)循環(huán)左移8位后作為線性變換模塊F的24比特輸出,記為F2F1F0。
<實(shí)施例6>
狀態(tài)讀取列表模塊B的24比特輸出作為查表壓縮變換模塊D的輸入。D包括兩個(gè)并行的查表變換,通過查表變換把狀態(tài)讀取列表模塊B的24比特輸出進(jìn)一步壓縮為16比特的輸出,并作為輸出模塊G的其中一個(gè)16比特輸入。
查表壓縮變換模塊D的組成結(jié)構(gòu)兩個(gè)并行的查表運(yùn)算模塊M、H,從狀態(tài)讀取列表模塊B輸入的24比特的高位16比特經(jīng)過一個(gè)查表運(yùn)算模塊M輸出8比特作為查表壓縮變換模塊D的最終輸出的高位8比特;從B輸入的24比特的低位8比特在另外兩比特(D從B輸入的24比特的高位2比特b23b22)的控制下,經(jīng)查表運(yùn)算模塊H輸出8比特,作為D最終輸出的低位8比特。
查表運(yùn)算模塊M,如圖4B所示,包含一個(gè)讀入單元(用于從模塊B的輸出中讀取其中的16比特?cái)?shù)據(jù))、一個(gè)排列組合單元(用于將16比特?cái)?shù)據(jù)重新排列順序)、一個(gè)存儲(chǔ)器(事先在其中特定單元存放制定的數(shù)值)。運(yùn)行過程利用讀入單元從B中讀取16比特?cái)?shù)據(jù),經(jīng)過排列組合單元將此16比特?cái)?shù)據(jù)重新排列順序,然后作為讀地址信號(hào)去從存儲(chǔ)器中讀取(長(zhǎng)度為8比特的)數(shù)據(jù),此數(shù)據(jù)即為查表壓縮變換模塊D的最終輸出的高位8比特。
查表運(yùn)算模塊H,如圖4C所示,包含一個(gè)讀入單元(用于從模塊B的輸出中讀取其中10比特?cái)?shù)據(jù))、一個(gè)排列組合單元(用于將16比特?cái)?shù)據(jù)重新排列順序)、一個(gè)存儲(chǔ)器(事先在其中特定單元存放制定的數(shù)值)。運(yùn)行過程利用讀入單元用于從模塊B中讀取10比特?cái)?shù)據(jù)(b23b22和b7b6 b5b4 b3b2b1b0),經(jīng)過排列組合單元將此10比特?cái)?shù)據(jù)重新排列順序,然后作為讀地址信號(hào)去從存儲(chǔ)器中讀取(長(zhǎng)度為8比特的)數(shù)據(jù),這個(gè)從存儲(chǔ)器中讀出的數(shù)據(jù)即為查表壓縮變換模塊D的最終輸出的高位8比特。
綜上,查表壓縮變換模塊D的輸出為B5B4B3B2 B11 B10 B01 B00,上述D的邏輯過程如圖4A的框圖所示。
<實(shí)施例7>
輸出模塊G的輸入包括線性變換模塊F輸出的24比特、查表壓縮變換模塊D輸出的16比特和狀態(tài)讀取列表模塊C輸出的16比特,共計(jì)56比特,經(jīng)線性變換輸出24比特的數(shù)據(jù)。
輸出模塊G的組成包括讀入單元、調(diào)整單元和運(yùn)算單元。其中,該讀入單元讀入線性變換模塊F的輸出數(shù)據(jù)X(8比特)、Y(8比特)、Z(8比特)、查表壓縮變換模塊D的輸出數(shù)據(jù)DD(16比特)、狀態(tài)讀取列表模塊C的輸出數(shù)據(jù)CC(16比特);該調(diào)整單元利用調(diào)整數(shù)據(jù)線排列順序的方法將讀入的數(shù)據(jù)重新調(diào)整數(shù)據(jù)的比特順序,并在必要時(shí)用0來補(bǔ)足空缺數(shù)據(jù)位,形成三個(gè)長(zhǎng)度都是24比特的數(shù)據(jù)GIN1=(X<<<1)‖Y‖(Z>>>1)、GIN2=Y(jié)‖00000000、GIN3=00000000‖(CC>>>5);該運(yùn)算單元對(duì)3個(gè)數(shù)據(jù)段做異或運(yùn)算,邏輯公式為G=[(X<<<1)‖Y‖(Z>>>1)(DD>>>7)的高位8比特‖(DD>>>7)的低位8比特‖0000000000000000‖(列表C>>>5)的高位8比特‖(列表C>>>5)的低位8比特],其結(jié)果g23 g22...g2 g1 g0就是模塊G的最后輸出,G的運(yùn)算單元的邏輯如圖5所示。其中這里的“‖”表示數(shù)據(jù)的級(jí)聯(lián);“”表示異或運(yùn)算;“DD>>>7”表示循環(huán)右移7位。DD為查表壓縮變換模塊D的輸出的16比特。
該輸出模塊G在輸入過程和封閉循環(huán)運(yùn)行過程中,輸出模塊G輸出的24比特反饋到線性變換模塊T1作為T1的一部分輸入,進(jìn)而影響LFSRα的狀態(tài)變化,促進(jìn)數(shù)據(jù)的置亂;對(duì)外輸出過程,對(duì)外輸出24比特的密鑰流。
<隨機(jī)數(shù)生成方法>
用上述的本發(fā)明流密碼生成器可以生成隨機(jī)數(shù),其具體的方法包括(一).在流密碼生成器的存儲(chǔ)/截取模塊中預(yù)先埋入128比特的密鑰及向量,這兩個(gè)數(shù)值不變或很少改變。
(二).流密碼生成器加電啟動(dòng)后,其輸入模塊從存儲(chǔ)/截取模塊中讀入128比特的密鑰及向量,并通過一個(gè)脈沖將密鑰分別輸入三個(gè)線性反饋移位寄存器,其中LFSRα輸入64比特密鑰、LFSRβ輸入33比特密鑰、LFSRγ輸入31比特密鑰;通過6個(gè)脈沖將向量輸入到三個(gè)線性變換模塊T1、K和L中,其中T1和K輸入5個(gè)8比特向量,L輸入6個(gè)8比特向量。
在這過程中流密碼生成器中所述T1對(duì)LFSRα中的密鑰進(jìn)行置亂,K對(duì)LFSRβ中的密鑰進(jìn)行置亂,L對(duì)LFSRγ中的密鑰進(jìn)行置亂;三個(gè)狀態(tài)讀取列表模塊A、B和C,其分別從所述的LFSRα、LFSRβ和LFSRγ的預(yù)定位讀取并按預(yù)定方式重新排序后輸出;一個(gè)線性變換模塊F,對(duì)從所述A、B和C輸出的數(shù),進(jìn)行壓縮及反饋置亂后輸出;一個(gè)查表壓縮變換模塊D,將從B輸出的數(shù)查表壓縮后輸出;一個(gè)輸出模塊G,將從所述F、D和C輸入的數(shù)壓縮成預(yù)定位的數(shù)輸出,其中該輸出在所述的輸入過程和其后的封閉循環(huán)運(yùn)行過程中反饋到T1。
(三).流密碼生成器封閉循環(huán)運(yùn)行一定的脈沖,其中具體的脈沖數(shù)可以根據(jù)需要進(jìn)行調(diào)整。
在這一過程中流密碼生成器中所述T1對(duì)LFSRα中的密鑰進(jìn)行置亂,K對(duì)LFSRβ中的密鑰進(jìn)行置亂,L對(duì)LFSRγ中的密鑰進(jìn)行置亂;三個(gè)狀態(tài)讀取列表模塊A、B和C,其分別從所述的LFSRα、LFSRβ和LFSRγ的預(yù)定位讀取并按預(yù)定方式重新排序后輸出;一個(gè)線性變換模塊F,對(duì)從所述A、B和C輸出的數(shù),進(jìn)行壓縮及反饋置亂后輸出;一個(gè)查表壓縮變換模塊D,將從B輸出的數(shù)查表壓縮后輸出;一個(gè)輸出模塊G,將從所述F、D和C輸入的數(shù)壓縮成預(yù)定位的數(shù)輸出,其中該輸出在所述的輸入過程和其后的封閉循環(huán)運(yùn)行過程中反饋到T1。
(四).流密碼生成器對(duì)外輸出24比特的數(shù)據(jù)流,截取該24比特的數(shù)據(jù)流生成任意長(zhǎng)度的隨機(jī)數(shù)串,例如可以截取8個(gè)脈沖的24比特?cái)?shù)據(jù),生成192比特的隨機(jī)數(shù),也可以截取43個(gè)脈沖的24比特?cái)?shù)據(jù)生成96比特的隨機(jī)數(shù)。
在這一過程中LFSRα、LFSRβ和LFSRγ進(jìn)行反饋移位操作;狀態(tài)讀取列表模塊A、B和C,其分別從所述的LFSRα、LFSRβ和LFSRγ的預(yù)定位讀取并按預(yù)定方式重新排序后輸出;一個(gè)線性變換模塊F,對(duì)從所述A、B和C輸出的數(shù),進(jìn)行壓縮及反饋置亂后輸出;一個(gè)查表壓縮變換模塊D,將從B輸出的數(shù)查表壓縮后輸出;一個(gè)輸出模塊G,將從所述F、D和C輸入的數(shù)壓縮成預(yù)定位的數(shù)輸出。
<同步對(duì)稱加密系統(tǒng)>
如圖7所示,在數(shù)據(jù)傳輸?shù)陌l(fā)送端即加密端和數(shù)據(jù)傳輸?shù)慕邮斩思唇饷芏朔謩e設(shè)置如上所述的流密碼生成器,另外在加密端還具有一個(gè)認(rèn)證單元。
所述的認(rèn)證單元如圖8所示,包括認(rèn)證模塊和一秘鑰生成模塊。其中認(rèn)證模塊中預(yù)先寫入了認(rèn)證協(xié)議,根據(jù)加密端和解密端生成并發(fā)送的隨機(jī)數(shù)進(jìn)行用戶的合法性認(rèn)證。所述的密鑰生成模塊中寫入密鑰協(xié)商協(xié)議(AKE),其在認(rèn)證通過的情況下,用兩端的流密碼生成器生成的隨機(jī)數(shù)來生成一致的密鑰及向量。
采用上述的同步對(duì)稱加密系統(tǒng)進(jìn)行同步對(duì)稱加密的工作過程如下所述。其中,如圖2A所示,解密端的流密碼生成器的流程為步驟一加電啟動(dòng)后運(yùn)行啟動(dòng)子程序即讀入初始密鑰和初始向量,封閉循環(huán)運(yùn)行,截取輸出模塊G輸出數(shù)據(jù)生成隨機(jī)數(shù)和重新認(rèn)證密鑰及向量;發(fā)出認(rèn)證請(qǐng)求;步驟二等待認(rèn)證單元的認(rèn)證結(jié)果認(rèn)證單元讀取兩端的流密碼生成器生成的隨機(jī)數(shù)進(jìn)行認(rèn)證,如認(rèn)證通過運(yùn)行下一步,如認(rèn)證失敗,直接結(jié)束過程;步驟三獲取認(rèn)證單元生成的中間密鑰及向量,并運(yùn)行密鑰流生成子程序即輸入該中間密鑰及向量封閉循環(huán)運(yùn)行,生成場(chǎng)更新密鑰、校驗(yàn)向量和24比特的密鑰流;其中加密端用該24比特的密鑰流對(duì)從加密端傳輸?shù)拿芪臄?shù)據(jù)流進(jìn)行解密。
步驟四當(dāng)對(duì)一定量的數(shù)據(jù)加密傳輸后運(yùn)行場(chǎng)密鑰更新子程序即輸入生成的場(chǎng)更新密鑰到三個(gè)線性反饋移位寄存器中,封閉循環(huán)運(yùn)行,生成下一個(gè)場(chǎng)更新密鑰、下一校驗(yàn)向量和24比特的密鑰流;步驟五當(dāng)數(shù)據(jù)傳輸被干擾或傳輸時(shí)延超出預(yù)定的范圍時(shí),還需要運(yùn)行重新認(rèn)證子程序即輸入上次認(rèn)證所生成的重新認(rèn)證密鑰及向量;封閉循環(huán)運(yùn)行生成隨機(jī)數(shù)和重新認(rèn)證密鑰及向量;請(qǐng)求認(rèn)證并等待認(rèn)證結(jié)果,如認(rèn)證則運(yùn)行密鑰流生成子程序,如認(rèn)證失敗則數(shù)據(jù)流加密傳輸過程結(jié)束。
與解密端對(duì)應(yīng),如圖2B所示加密端的流密碼生成器的工作流程包括步驟一’根據(jù)認(rèn)證請(qǐng)求,啟動(dòng)運(yùn)行啟動(dòng)子程序即讀入初始密鑰和初始向量,封閉循環(huán)運(yùn)行,根據(jù)解密端的認(rèn)證請(qǐng)求信號(hào),生成隨機(jī)數(shù)和重新認(rèn)證密鑰及向量;步驟二’等待認(rèn)證單元的認(rèn)證結(jié)果認(rèn)證單元讀取兩端的流密碼生成器生成的隨機(jī)數(shù)進(jìn)行認(rèn)證,如獲認(rèn)證通過信息則運(yùn)行下一步,如認(rèn)證失敗,直接結(jié)束過程;步驟三’運(yùn)行密鑰流生成子程序即從認(rèn)證單元讀入中間密鑰及向量后封閉循環(huán)運(yùn)行,截取G的輸出生成場(chǎng)更新密鑰、校驗(yàn)向量和24比特的密鑰流;其中加密端用該24比特的密鑰流傳輸?shù)拿魑臄?shù)據(jù)流進(jìn)行解密。
步驟四’當(dāng)對(duì)一定量的數(shù)據(jù)加密傳輸后運(yùn)行場(chǎng)密鑰更新子程序,輸入前步生成的場(chǎng)更新密鑰到三個(gè)線性反饋移位寄存器中,封閉循環(huán)運(yùn)行,生成下一個(gè)場(chǎng)更新密鑰、下一校驗(yàn)向量和24比特的密鑰流;步驟五’當(dāng)數(shù)據(jù)傳輸被干擾或傳輸時(shí)延超出預(yù)定的范圍時(shí),還需要運(yùn)行重新認(rèn)證子程序,輸入上次認(rèn)證所生成的重新認(rèn)證密鑰及向量,封閉循環(huán)運(yùn)行,生成隨機(jī)數(shù)和重新認(rèn)證密鑰及向量;請(qǐng)求認(rèn)證并等待認(rèn)證結(jié)果,如認(rèn)證則運(yùn)行密鑰流生成子程序,如認(rèn)證失敗則數(shù)據(jù)流加密傳輸過程結(jié)束。
上述的兩端之間進(jìn)行同步對(duì)稱的對(duì)傳輸?shù)臄?shù)據(jù)流進(jìn)行加密解密,但由于網(wǎng)絡(luò)傳輸?shù)仍驎?huì)產(chǎn)生時(shí)延等問題,為解決這一問題,通過在傳輸數(shù)據(jù)流同時(shí)發(fā)送校驗(yàn)向量,進(jìn)行同步校驗(yàn)。校驗(yàn)的方式為解密端比較接收到的加密端傳來的校驗(yàn)向量和解密端生成的校驗(yàn)向量,如二者相同則說明該期間收到的數(shù)據(jù)流的加密密鑰和解密端生成的解密密鑰是對(duì)應(yīng)的,解密和加密過程是同步的。
在解密端和加密端的流密碼生成器的流程中的“步驟二”和“步驟二’”中所述認(rèn)證過程需認(rèn)證單元的參與,具體為認(rèn)證單元在收到接收到解密端的認(rèn)證請(qǐng)求信號(hào)后,讀取流密碼生成器生成的隨機(jī)數(shù)進(jìn)行用戶認(rèn)證,如認(rèn)證通過則發(fā)出認(rèn)證通過信息,并根據(jù)兩個(gè)隨機(jī)數(shù)所生成的128比特的密鑰和向量,由兩端的流密碼生成器讀入,如認(rèn)證失敗則發(fā)出認(rèn)證失敗的信息。
<實(shí)施例8>
上述的啟動(dòng)子程序,如圖2C所示,具體包括以下過程(1)輸入模塊將預(yù)先埋入在存儲(chǔ)/截取模塊中的128比特(16字節(jié))的初始密鑰RK通過一個(gè)脈沖分別輸入到三個(gè)線性反饋移位寄存器中,其中LFSRα輸入64比特,LFSRβ輸入33比特,LFSRγ輸入31比特;并將128比特(16字節(jié))的初始向量RIV通過6個(gè)脈沖分別輸?shù)饺齻€(gè)線性變換模塊T1、K和L中,其中T1、K中輸入5個(gè)字節(jié)向量,L中輸入6個(gè)字節(jié)的向量;前述的A、B、C、D、F等模塊按預(yù)定的方式工作;G輸出反饋到T1;T1、K、L分別對(duì)LFSRα、LFSRβ、LFSRγ中的密鑰進(jìn)行反饋置亂。
(2)封閉循環(huán)運(yùn)行34個(gè)脈沖,輸出模塊G的輸出反饋到線性變換模塊T1種;所述T1、K、L分別對(duì)LFSRα、LFSRβ、LFSRγ中的密鑰進(jìn)行反饋置亂,具體置亂方式如前述;A、B、C、D、F等模塊按預(yù)定的前述方式工作。
(3)輸出模塊G輸出24比特的數(shù)據(jù),存儲(chǔ)/截取模塊截取8個(gè)脈沖的24比特密鑰流生成192位的隨機(jī)數(shù),截取6個(gè)脈沖的24比特密鑰流144位的低128位生成第一對(duì)128位的重新認(rèn)證密鑰及向量,該重新認(rèn)證密鑰及向量暫存到存儲(chǔ)/截取模塊。
<實(shí)施例9>
上述的密鑰流生成子程序,如圖2D所示,具體包括以下過程(1)輸入模塊從認(rèn)證單元讀入128比特的中間密鑰及向量;(2)輸入模塊將前述的128比特(16字節(jié))的中間密鑰通過一個(gè)脈沖分別輸入到三個(gè)線性反饋移位寄存器中,其中LFSRα輸入64比特,LFSRβ輸入33比特,LFSRγ輸入31比特;并將128比特(16字節(jié))的中間向量通過6個(gè)脈沖分別輸?shù)饺齻€(gè)線性變換模塊T1、K和L中,其中T1、K中輸入5個(gè)字節(jié)向量,L中輸入6個(gè)字節(jié)的向量;前述的A、B、C、D、F等模塊按前述預(yù)定方式工作;G輸出反饋到T1;T1、K、L分別對(duì)LFSRα、LFSRβ、LFSRγ中的密鑰進(jìn)行反饋置亂,具體方式見前述。
(3)封閉循環(huán)運(yùn)行34個(gè)脈沖,輸出模塊G的輸出反饋到線性變換模塊T1,所述T1、K、L分別對(duì)LFSRα、LFSRβ、LFSRγ中的密鑰進(jìn)行反饋置亂,具體方式見前述;以及A、B、C、D、F等模塊按預(yù)定的方式工作,具體見前述。
(4)輸出模塊G輸出24比特的數(shù)據(jù),存儲(chǔ)/截取模塊截取6個(gè)脈沖的24比特密鑰流144位的低128位生成場(chǎng)更新密鑰及校驗(yàn)向量,及輸出24比特的密鑰流。
加密端用生成的密鑰流對(duì)傳輸?shù)拿魑臄?shù)據(jù)流進(jìn)行加密,并將校驗(yàn)向量同步發(fā)送到解密端;解密端用生成的密鑰流對(duì)從加密端傳輸來密文流進(jìn)行解密,并用兩端生成的校驗(yàn)向量對(duì)加密解密過程進(jìn)行同步校驗(yàn)。
<實(shí)施例10>
上述的場(chǎng)密鑰更新子程序,如圖2E所示,具體包括以下過程(1)輸入模塊將前述的128比特(16字節(jié))的場(chǎng)更新密鑰通過一個(gè)脈沖分別輸入到三個(gè)線性反饋移位寄存器中,其中LFSRα輸入64比特,LFSRβ輸入33比特,LFSRγ輸入31比特;所述的A、B、C、D、F等模塊按前述預(yù)定方式工作;G輸出反饋到T1;T1、K、L分別對(duì)LFSRα、LFSRβ、LFSRγ中的密鑰進(jìn)行反饋置亂。
(2)封閉循環(huán)運(yùn)行34個(gè)脈沖,輸出模塊G的輸出反饋到線性變換模塊T1,所述T1、K、L分別對(duì)LFSRα、LFSRβ、LFSRγ中的密鑰進(jìn)行反饋置亂,具體方式見前述;以及A、B、C、D、F等模塊按預(yù)定的方式工作。
(3)輸出模塊G輸出24比特的數(shù)據(jù),存儲(chǔ)/截取模塊截取6個(gè)脈沖的24比特密鑰144位的低128位生成場(chǎng)更新密鑰及校驗(yàn)向量,及輸出24比特的密鑰流;
加密端用生成的密鑰流對(duì)傳輸?shù)拿魑臄?shù)據(jù)流進(jìn)行加密,并將校驗(yàn)向量同步發(fā)送到解密端;解密端用生成的密鑰流對(duì)從加密端傳輸來密文流進(jìn)行解密,并用兩端的是生成的校驗(yàn)向量對(duì)加密解密過程進(jìn)行同步校驗(yàn)。
<實(shí)施例11>
上述的重新認(rèn)證子程序,如圖2F所示,具體包括以下過程(1)輸入模塊將前述的128比特(16字節(jié))的重新認(rèn)證密鑰通過一個(gè)脈沖分別輸入到三個(gè)線性反饋移位寄存器中,其中LFSRα輸入64比特,LFSRβ輸入33比特,LFSRγ輸入31比特;并將128比特(16字節(jié))的重新認(rèn)證向量通過6個(gè)脈沖分別輸?shù)饺齻€(gè)線性變換模塊T1、K和L中,其中T1、K中輸入5個(gè)字節(jié)向量,L中輸入6個(gè)字節(jié)的向量;前述的A、B、C、D、F等模塊按預(yù)定的方式工作;G輸出反饋到T1;T1、K、L分別對(duì)LFSRα、LFSRβ、LFSRγ中的密鑰進(jìn)行反饋置亂。
(2)封閉循環(huán)運(yùn)行34個(gè)脈沖,G輸出反饋到T1,T1、K、L分別對(duì)LFSRα、LFSRβ、LFSRγ中的密鑰進(jìn)行反饋置亂;A、B、C、D、F等模塊按預(yù)定的方式工作。
(3)G輸出24比特的數(shù)據(jù)流,存儲(chǔ)/截取模塊截取8個(gè)脈沖的24比特密鑰流生成192位的隨機(jī)數(shù),截取6個(gè)脈沖的24比特密鑰流144位的低128位生成第一對(duì)128位的重新認(rèn)證密鑰及向量,該重新認(rèn)證密鑰及向量暫存到存儲(chǔ)/截取模塊。
(4)對(duì)于解密端,其發(fā)出認(rèn)證請(qǐng)求,由認(rèn)證單元將生成的隨機(jī)數(shù)讀入其中,等待認(rèn)證結(jié)果;對(duì)于加密端其根據(jù)認(rèn)證請(qǐng)求生成隨機(jī)數(shù)和重新認(rèn)證密鑰及向量,將隨機(jī)數(shù)發(fā)送到認(rèn)證單元。
認(rèn)證單元根據(jù)認(rèn)證請(qǐng)求讀取兩端生成的隨機(jī)數(shù),并進(jìn)行認(rèn)證,如認(rèn)證通過則用該兩個(gè)隨機(jī)數(shù)生成一致的中間密鑰及向量,并發(fā)出認(rèn)證通過的信息;如認(rèn)證失敗則發(fā)出認(rèn)證失敗信息,系統(tǒng)進(jìn)的進(jìn)程結(jié)束。
另外,其中所提及的截取輸出模塊的輸出數(shù)據(jù)生成隨機(jī)數(shù)或中間密鑰及向量或場(chǎng)更新密鑰及校驗(yàn)向量的具體方式,如第幾個(gè)到第幾個(gè)24比特?cái)?shù)據(jù),并未限定,其可根據(jù)情況而選擇確定。另外,LFSRα反饋到T1的數(shù)的位置可以改變,T1對(duì)LFSRα反饋的數(shù)和G反饋的數(shù)的移位多少也可以改變。另外,狀態(tài)讀取列表模塊讀取線性移位反饋寄存器的預(yù)定的位置可以改變。還包括,根據(jù)需要對(duì)發(fā)明的技術(shù)方案中那些假定的位置或移位數(shù)或循環(huán)次數(shù)等作適應(yīng)性的改變。
根據(jù)本發(fā)明的同步對(duì)稱加密方法,所生成的密鑰流的種子密鑰為128比特的初始密鑰,其長(zhǎng)度遠(yuǎn)大于現(xiàn)有技術(shù)中所用的56位的種子密鑰,因而加密的安全級(jí)別也有很大的提高。
權(quán)利要求
1.一種流密碼生成器,特征在于包括一個(gè)輸入模塊、三個(gè)線性反饋移位寄存器LFSRα、LFSRβ、LFSRγ和三個(gè)線性變換模塊T1、K、L;其中所述輸入模塊用于經(jīng)預(yù)定時(shí)鐘脈沖向所述的三個(gè)線性反饋移位寄存器LFSRα、LFSRβ、LFSRγ分別輸入密鑰以及向所述的三個(gè)線性變換模塊T1、K、L分別輸入向量;所述T1對(duì)所述LFSRα中的密鑰進(jìn)行置亂;以及所述K對(duì)所述LFSRβ中的密鑰進(jìn)行置亂;所述L對(duì)所述LFSRγ中的密鑰進(jìn)行置亂;三個(gè)狀態(tài)讀取列表模塊A、B和C,其分別從所述的LFSRα、LFSRβ和LFSRγ的預(yù)定位讀取并按預(yù)定方式重新排序后輸出;一個(gè)線性變換模塊F,對(duì)從所述A、B和C輸出的數(shù),進(jìn)行壓縮及反饋置亂后輸出;一個(gè)查表壓縮變換模塊D,將從B輸出的數(shù)查表壓縮后輸出;一個(gè)輸出模塊G,將從所述F、D和C輸入的數(shù)壓縮成預(yù)定位的數(shù)輸出,其中該輸出在所述的輸入過程和其后的封閉循環(huán)運(yùn)行過程中反饋到T1,且在封閉循環(huán)運(yùn)行之后的對(duì)外輸出過程對(duì)外輸出;一控制模塊,其對(duì)上述各組成部件的運(yùn)行進(jìn)行協(xié)調(diào)控制。
2.如權(quán)利要求1所述的流密碼生成器,特征在于還包括一存儲(chǔ)/截取模塊,該存儲(chǔ)/截取模塊中存儲(chǔ)預(yù)先埋入的初始密鑰及初始向量,其還用于截取所述輸出模塊G輸出的數(shù)生成隨機(jī)數(shù)、重新認(rèn)證密鑰及向量、場(chǎng)更新密鑰和校驗(yàn)向量,并存儲(chǔ)這些生成的數(shù)。
3.如權(quán)利要求2所述的流密碼生成器,特征在于所述LFSRα為64位,其特征多項(xiàng)式為f(x)=x8+x6+x5+x+1;所述LFSRβ為35位,其特征多項(xiàng)式為f(x)=x35+x30+x22+x11+x6+1;所述LFSRγ共有31比特,其特征多項(xiàng)式為f(x)=x31+x13+x7+x6+x3+1。
4.如權(quán)利要求3所述的流密碼生成器,特征在于所述的A從LFSRα的預(yù)定位讀取32比特,按預(yù)定方式重新排列后輸出;所述B從LFSRβ的預(yù)定位讀取24比特,按預(yù)定方式重新排列后輸出;所述C從LFSRγ的預(yù)定位讀取16比特,按預(yù)定方式重新排列后輸出。
5.如權(quán)利要求4中任一所述的流密碼生成器,特征在于所述的D,包括兩并行的查表變換模塊M和H,輸出16比特的數(shù);其中M將從B輸出的24比特?cái)?shù)據(jù)的高16位作查表壓縮成8比特后作為D輸出數(shù)據(jù)的高8位;以及H將B輸出24比特的低8位在該24比特?cái)?shù)據(jù)的最高兩位的控制下變換成8比特作為D輸出的低8位。
6.如權(quán)利要求5所述的流密碼生成器,特征在于所述F包括第一模塊和第二模塊;其中該第一模塊將A輸出的32比特、B輸出的24比特、C輸出的16比特和第二模塊反饋的24比特的數(shù)壓縮成24比特的數(shù);及該第二模塊將第一模塊輸出的24比特的數(shù)進(jìn)一步置亂并輸出24比特。
7.如權(quán)利要求6所述的流密碼生成器,特征在于所述輸出模塊G,其將從所述F、D和C輸入的數(shù)進(jìn)行壓縮后輸出24比特的數(shù)。
8.如權(quán)利要求1-7中任一所述的流密碼生成器,特征在于所述輸入過程中LFSRα、LFSRβ和LFSRγ通過一個(gè)脈沖分別輸入64、33和31個(gè)比特的密鑰值,及線性變換模塊T1、K和L通過6個(gè)脈沖輸入128比特的向量;同時(shí),LFSRα預(yù)定位的數(shù)異或運(yùn)算后反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)循環(huán)移預(yù)定位,并用輸出模塊G反饋的數(shù)和輸入模塊輸入的向量對(duì)其作異或運(yùn)算,然后將運(yùn)算結(jié)果回輸?shù)絃FSRα左端,然后LFSRα右移8位;LFSRβ預(yù)定位的數(shù)異或運(yùn)算后反饋到其左端,并右移一位,然后所述K用從輸入模塊輸入的向量對(duì)LFSRβ左端的8位作異或運(yùn)算,然后LFSRβ循環(huán)右移8位;LFSRγ預(yù)定位的數(shù)異或運(yùn)算后反饋到其左端,并右移一位,然后所述L用從輸入模塊輸入的向量對(duì)LFSRγ左端8位作異或運(yùn)算,然后LFSRγ循環(huán)右移8位;所述封閉循環(huán)運(yùn)行過程中LFSRα預(yù)定位的數(shù)異或運(yùn)算后反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)循環(huán)移預(yù)定位,并用輸出模塊G反饋的數(shù)對(duì)其作異或運(yùn)算,然后將運(yùn)算結(jié)果回輸?shù)絃FSRα左端,然后LFSRα右移8位;LFSRβ預(yù)定位的數(shù)異或運(yùn)算后反饋到其左端,并右移一位,然后LFSRβ循環(huán)右移8位;LFSRγ預(yù)定位的數(shù)異或運(yùn)算后反饋到其左端,并右移一位,然后LFSRγ循環(huán)右移8位;所述對(duì)外輸出過程中LFSRα預(yù)定位的數(shù)異或運(yùn)算后反饋到T1,然后T1對(duì)LFSRα反饋輸入的數(shù)循環(huán)移預(yù)定位,然后將運(yùn)算結(jié)果回輸?shù)絃FSRα左端,且LFSRα右移8位;LFSRβ預(yù)定位的數(shù)異或運(yùn)算后反饋到其左端,并右移一位,然后LFSRβ循環(huán)右移8位;LFSRγ預(yù)定位的數(shù)異或運(yùn)算后反饋到其左端,并右移一位,然后LFSRγ循環(huán)右移8位。
9.一種同步對(duì)稱加密系統(tǒng),用于對(duì)傳輸?shù)臄?shù)據(jù)流進(jìn)行同步對(duì)稱加密,特征在于在加密端和解密端分別設(shè)置一流密碼生成器;以及在加密端還具有一個(gè)認(rèn)證單元;其中所述的流密碼生成器和所述認(rèn)證單元進(jìn)行數(shù)據(jù)通信;所述的流密碼生成器包括一個(gè)輸入模塊、三個(gè)線性反饋移位寄存器LFSRα、LFSRβ、LFSRγ和三個(gè)線性變換模塊T1、K、L;其中所述輸入模塊用于經(jīng)預(yù)定時(shí)鐘脈沖向所述的三個(gè)線性反饋移位寄存器LFSRα、LFSRβ、LFSRγ分別輸入密鑰以及向所述的三個(gè)線性變換模塊T1、K、L分別輸入向量;所述T1對(duì)所述LFSRα中的密鑰進(jìn)行置亂;以及所述K在輸入過程對(duì)所述LFSRβ中的密鑰進(jìn)行置亂;所述L在輸入過程對(duì)所述LFSRγ中的密鑰進(jìn)行置亂;三個(gè)狀態(tài)讀取列表模塊A、B和C,其分別從所述的LFSRα、LFSRβ和LFSRγ的預(yù)定位讀取并按預(yù)定方式重新排序后輸出;一個(gè)線性變換模塊F,對(duì)從所述A、B和C輸出的數(shù),進(jìn)行壓縮及反饋置亂后輸出;一個(gè)查表壓縮變換模塊D,將從B輸出的數(shù)查表壓縮后輸出;一個(gè)輸出模塊G,將從所述F、D和C輸入的數(shù)壓縮成預(yù)定位的數(shù)輸出,其中該輸出在所述的輸入過程和其后的封閉循環(huán)運(yùn)行過程中反饋到T1,且在封閉循環(huán)運(yùn)行之后的對(duì)外輸出過程對(duì)外輸出;一控制模塊,其對(duì)上述各組成部件的運(yùn)行進(jìn)行協(xié)調(diào)控制;所述的認(rèn)證單元包括一認(rèn)證模塊,其根據(jù)兩端的流密碼生成器生成的隨機(jī)數(shù)進(jìn)行用戶認(rèn)證;及一密鑰生成模塊,其中根據(jù)所述的認(rèn)證模塊發(fā)出的認(rèn)證通過信息和兩端的流密碼生成器生成的隨機(jī)數(shù)生成密鑰及向量。
10.如權(quán)利要求9所述的一種同步對(duì)稱加密系統(tǒng),特征在于,所述的流密碼生成器,還包括一存儲(chǔ)/截取模塊;該存儲(chǔ)/截取模塊中存儲(chǔ)預(yù)先埋入的初始密鑰及初始向量,其還截取輸出模塊G輸出的數(shù)據(jù)流生成隨機(jī)數(shù)、重新認(rèn)證密鑰及向量、場(chǎng)更新密鑰和校驗(yàn)向量,并存儲(chǔ)這些生成的數(shù)。
11.如權(quán)利要求9所述的一種同步對(duì)稱加密系統(tǒng),特征在于所述的認(rèn)證單元還包括一輸入輸出模塊,該輸入輸出模塊用于從接收認(rèn)證請(qǐng)求、隨機(jī)數(shù)。
12.一種隨機(jī)數(shù)生成方法,特征在于,(a)提供一流密碼生成器,該流密碼生成器包括一個(gè)輸入模塊、三個(gè)線性反饋移位寄存器LFSRα、LFSRβ、LFSRγ和三個(gè)線性變換模塊T1、K、L;其中所述輸入模塊用于經(jīng)預(yù)定時(shí)鐘脈沖向所述的三個(gè)線性反饋移位寄存器LFSRα、LFSRβ、LFSRγ分別輸入密鑰以及向所述的三個(gè)線性變換模塊T1、K、L分別輸入向量;所述T1對(duì)所述LFSRα中的密鑰進(jìn)行置亂;以及所述K在輸入過程對(duì)所述LFSRβ中的密鑰進(jìn)行置亂;所述L在輸入過程對(duì)所述LFSRγ中的密鑰進(jìn)行置亂;三個(gè)狀態(tài)讀取列表模塊A、B和C,其分別從所述的LFSRα、LFSRβ和LFSRγ的預(yù)定位讀取并按預(yù)定方式重新排序后輸出;一個(gè)線性變換模塊F,對(duì)從所述A、B和C輸出的數(shù),進(jìn)行壓縮及反饋置亂后輸出;一個(gè)查表壓縮變換模塊D,將從B輸出的數(shù)查表壓縮后輸出;一個(gè)輸出模塊G,將從所述F、D和C輸入的數(shù)壓縮成預(yù)定位的數(shù)輸出,其中該輸出在所述的輸入過程和其后的封閉循環(huán)運(yùn)行過程中反饋到T1,且在封閉循環(huán)運(yùn)行之后的對(duì)外輸出過程對(duì)外輸出;一存儲(chǔ)/截取模塊,該存儲(chǔ)/截取模塊用于存儲(chǔ)預(yù)先埋入的初始密鑰及向量,其還截取所述輸出模塊G輸出的數(shù)生成隨機(jī)數(shù)并存儲(chǔ)生成的隨機(jī)數(shù);一控制模塊,其對(duì)上述各組成部件的運(yùn)行進(jìn)行協(xié)調(diào)控制;(b)所述流密碼生成器生成隨機(jī)數(shù)的過程包括讀入預(yù)先埋入的密鑰及向量;然后封閉循環(huán)運(yùn)行;截取對(duì)外輸出的數(shù)據(jù)流生成任意長(zhǎng)度的隨機(jī)數(shù)。
13.如權(quán)利要求12所述的一種隨機(jī)數(shù)生成方法,特征在于,所述的預(yù)先埋入的密鑰和向量均為為128比特的二進(jìn)制數(shù)。
14.如權(quán)利要求13所述的一種隨機(jī)數(shù)生成方法,特征在于,所述的流密碼生成器讀入預(yù)先埋入的密鑰及向量通過一個(gè)脈沖讀入預(yù)先埋入的密鑰以及通過6個(gè)脈沖讀入預(yù)先埋入的向量;其中LFSRα輸入64比特、LFSRβ輸入33比特、LFSRγ讀入31比特的數(shù);線性變換模塊T1輸入5個(gè)8比特向量、K輸入5個(gè)8比特向量和L輸入6個(gè)8比特向量。
15.一種同步對(duì)稱加密的方法,利用如權(quán)利要求9所述的同步對(duì)稱加密系統(tǒng)進(jìn)行同步對(duì)稱加密,特征在于包括下述步驟(a)解密端的流密碼生成器讀入預(yù)先埋入的初始密鑰和初始向量,繼而進(jìn)行封閉循環(huán)運(yùn)行,然后生成一隨機(jī)數(shù)和重新認(rèn)證的密鑰及向量,并發(fā)出認(rèn)證請(qǐng)求;(b)加密端的流密碼生成器根據(jù)認(rèn)證請(qǐng)求,生成另一隨機(jī)數(shù)和重新認(rèn)證的密鑰及向量;(c)認(rèn)證單元根據(jù)認(rèn)證請(qǐng)求,讀入生成的隨機(jī)數(shù)并根據(jù)該兩個(gè)隨機(jī)數(shù)進(jìn)行認(rèn)證,如認(rèn)證通過則發(fā)出認(rèn)證通過信息,繼而根據(jù)該兩個(gè)隨機(jī)數(shù)生成中間密鑰及向量;(d)兩端的流密碼生成器根據(jù)認(rèn)證通過信息,讀入所述中間密鑰及向量,然后封閉循環(huán)運(yùn)行預(yù)定個(gè)脈沖,然后生成場(chǎng)更新密鑰及校驗(yàn)向量和密鑰流;其中加密端用生成的密鑰流對(duì)明文數(shù)據(jù)流進(jìn)行加密生成密文流,及解密端用生成的密鑰流對(duì)接收的密文流進(jìn)行解密。
16.如權(quán)利要求15所述的方法,特征在于當(dāng)生成預(yù)定量的密鑰流后,兩端的流密碼生成器讀入場(chǎng)更新密鑰,然后封閉循環(huán)運(yùn)行預(yù)定個(gè)脈沖,然后生成下一場(chǎng)更新密鑰及校對(duì)向量和密鑰流。
17.如權(quán)利要求15或16所述的方法,特征在于當(dāng)傳輸中斷時(shí),解密端的流密碼生成器讀入重新認(rèn)證密鑰及向量,然后封閉循環(huán)運(yùn)行,生成隨機(jī)數(shù)和重新認(rèn)證密鑰及向量,并發(fā)出重新認(rèn)證請(qǐng)求;加密端根據(jù)收到的重新認(rèn)證請(qǐng)求,讀入重新認(rèn)證密鑰及向量,然后封閉循環(huán)運(yùn)行,生成隨機(jī)數(shù)和重新認(rèn)證密鑰及向量;認(rèn)證單元讀入所述的隨機(jī)數(shù)進(jìn)行認(rèn)證,如認(rèn)證通過,發(fā)出認(rèn)證通過指示,并用所述的隨機(jī)數(shù)生成中間密鑰及向量,并發(fā)出認(rèn)證通過指示;兩端的流密碼生成器讀入該中間密鑰及向量,然后封閉循環(huán)運(yùn)行,生成場(chǎng)更新密鑰及校驗(yàn)向量和密鑰流,其中加密端用密鑰流對(duì)明文數(shù)據(jù)流進(jìn)行加密生成密文流,而解密端用密鑰流對(duì)的密文流進(jìn)行解密。
18.如權(quán)利要求15或16所述的方法,特征在于加密端的流密碼生成器將密文流和校驗(yàn)向量發(fā)送到解密端,其中解密端的流密碼生成器用收到的校驗(yàn)向量和自身生成的校驗(yàn)向量進(jìn)行同步校驗(yàn),如同步校驗(yàn)不通過,則傳輸中斷。
19.如權(quán)利要求15或16所述的方法,特征在于所述的步驟(d)中,加密端先向解密端發(fā)送加密起始信號(hào),然后其流密碼生成器讀入所述認(rèn)證單元生成的中間密鑰及向量,運(yùn)行并生成密鑰流;解密端接收到加密端發(fā)送的加密起始信號(hào)后,讀入運(yùn)行所述認(rèn)證單元生成的中間密鑰及向量,運(yùn)行并生成密鑰流。
全文摘要
本發(fā)明公開一種流密碼生成器,其具有三個(gè)線性反饋移位寄存器和三線性變換模塊,其中所述三個(gè)線性變換模塊分別對(duì)三個(gè)線性反饋移位寄存器的數(shù)進(jìn)行置亂;三個(gè)狀態(tài)讀取列表模塊A、B和C分別讀取三個(gè)線性反饋移位寄存器中預(yù)定位的數(shù)據(jù);線性變換模塊F,其中該F輸入從三個(gè)狀態(tài)讀取列表模塊輸出的數(shù)據(jù)反饋壓縮并置亂后輸出;查表變換模塊D,對(duì)從一狀態(tài)讀取列表模塊輸出的數(shù)據(jù)查表壓縮后輸出;輸出模塊,將從F、D和C輸出的數(shù)據(jù)壓縮后輸出數(shù)據(jù)。在兩端分別設(shè)置流密碼生成器,可對(duì)其間傳輸?shù)臄?shù)據(jù)流進(jìn)行同步對(duì)稱加密,且具有較高的加密安全性。
文檔編號(hào)H04N7/16GK1835586SQ200510136000
公開日2006年9月20日 申請(qǐng)日期2005年12月29日 優(yōu)先權(quán)日2005年12月29日
發(fā)明者姜正濤, 王育民, 葛建華, 詹陽, 李新國(guó), 田海博, 譚示崇, 范欣欣, 袁素春, 帥紅宇 申請(qǐng)人:北京浦奧得數(shù)碼技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1