亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種流密碼密鑰流生成器的模塊化設(shè)計(jì)與實(shí)現(xiàn)

        2010-06-13 11:32:58鄭林華
        微處理機(jī) 2010年3期
        關(guān)鍵詞:加解密空閑密鑰

        鄧 健,鄭林華

        (國(guó)防科學(xué)技術(shù)大學(xué),長(zhǎng)沙410073)

        1 引言

        流密碼[1]也稱序列密碼,它是對(duì)稱密碼算法的一種,具有長(zhǎng)度可靈活變化,加解密速度快、復(fù)雜度低的特點(diǎn)。流密碼采用逐個(gè)字符加解密的策略,不需要緩存,同步流密碼還可以實(shí)現(xiàn)無錯(cuò)誤擴(kuò)散[2]。在高保密強(qiáng)度要求的場(chǎng)合,核心密多采用“一次一密”的流密碼體制。

        流密碼的設(shè)計(jì)通常采用多重密鑰、多重環(huán)節(jié)、多重安全措施等技術(shù)[3],達(dá)到“一次一密”、最終靠密鑰保密的目標(biāo)。鑒于流密碼系統(tǒng)存在多重相似運(yùn)算過程,在核心部分——密鑰生成器設(shè)計(jì)可以采用模塊化復(fù)用的設(shè)計(jì)方法,通過程序共用、時(shí)分復(fù)用,實(shí)現(xiàn)精簡(jiǎn)程序、節(jié)省芯片資源、降低功耗。

        2 密鑰生成算法簡(jiǎn)介

        流密碼加解密系統(tǒng)通常由密鑰管理模塊、密鑰流發(fā)生器和流密碼的加解密運(yùn)算模塊組成。在文獻(xiàn)[4]中采用了一種Geffe發(fā)生器串接單向陷門的Hash函數(shù)的方式,如圖1所示,生成超長(zhǎng)周期的偽隨機(jī)序列,密鑰的強(qiáng)度依賴于Hash函數(shù),使通過最終輸出的流密碼碼字逆向得到Geffe發(fā)生器的內(nèi)部狀態(tài)的難度大大增加,從而保證了此密鑰流發(fā)生器的安全性。文獻(xiàn)[4]中提到可采用多組Geffe序列生成器并行來提高Geffe發(fā)生器的輸出速度,但我們?cè)趯?shí)際設(shè)計(jì)中發(fā)現(xiàn)組數(shù)過多則大大增加運(yùn)算復(fù)雜度,密鑰強(qiáng)度降低[5],本文采用2組數(shù)Geffe發(fā)生器并行結(jié)構(gòu),獲得了較好的效果。

        圖1 密鑰生成基本流程

        初始密鑰經(jīng)過運(yùn)算產(chǎn)生數(shù)據(jù)密鑰,數(shù)據(jù)密鑰發(fā)生器輸出生成密鑰流,數(shù)據(jù)密鑰即時(shí)產(chǎn)生即時(shí)銷毀。為了提高密鑰安全性和破解難度,通常選取舍棄若干長(zhǎng)度密鑰流序列。隨機(jī)數(shù)可以稱為公鑰,由加密系統(tǒng)隨加密數(shù)據(jù)幀傳遞給解密系統(tǒng),為驗(yàn)證隨機(jī)數(shù)的正確性,加密系統(tǒng)會(huì)將摘要隨隨機(jī)數(shù)同時(shí)傳遞給解密系統(tǒng),解密系統(tǒng)根據(jù)接收到的隨機(jī)數(shù)與預(yù)置的種子密鑰產(chǎn)生本地摘要,并與接收到的摘要進(jìn)行對(duì)比,以確認(rèn)隨機(jī)數(shù)的正確與否。摘要由初始密鑰確定,對(duì)初始密鑰通過Hash函數(shù)而產(chǎn)生。

        采用二級(jí)密鑰模式——即種子密鑰和數(shù)據(jù)密鑰,對(duì)密鑰進(jìn)行管理。其中,數(shù)據(jù)密鑰即上文所說的密鑰流發(fā)生器的輸出密鑰,一般在每次通信時(shí)臨時(shí)產(chǎn)生,通信結(jié)束后被銷毀。種子密鑰是初始密鑰的加密密鑰,在通信前通過安全渠道共同確定,并長(zhǎng)時(shí)間存在。考慮到硬件實(shí)現(xiàn)過程中的通用性,由種子密鑰產(chǎn)生初始密鑰的方式如圖2所示。

        圖2 初始密鑰生成方法

        其中,隨機(jī)數(shù)是打包在加密流中傳輸給解碼端的,解碼端得到此實(shí)時(shí)采集的隨機(jī)數(shù)之后,通過上述運(yùn)算得到數(shù)據(jù)密鑰,由此完成數(shù)據(jù)密鑰的交換。這種方式的采用,將為下一步設(shè)計(jì)工作中實(shí)現(xiàn)模塊復(fù)用、節(jié)約資源提供了可能。

        3 算法設(shè)計(jì)與實(shí)現(xiàn)

        流密碼系統(tǒng)僅需密鑰保密,一個(gè)流密碼是否具有很高的密碼強(qiáng)度主要取決于密鑰流生成器的設(shè)計(jì),因此密鑰流產(chǎn)生器是加解密系統(tǒng)的核心。

        在流密碼系統(tǒng)中,加解密系統(tǒng)的諸多環(huán)節(jié),如初始密鑰生成、摘要生成、密鑰流產(chǎn)生等,若要針對(duì)不同功能分別編寫各自的程序代碼,將會(huì)占用大量的Slice資源,造成FPGA資源的極大浪費(fèi),不便于控制成本。上述環(huán)節(jié)均采用同樣的Geffe和Hash函數(shù),實(shí)現(xiàn)過程則會(huì)非常相似,方案就可以采用模塊化設(shè)計(jì)思想,將相近的措施和環(huán)節(jié)模塊化,利用狀態(tài)機(jī)來實(shí)現(xiàn)各個(gè)模塊之間的狀態(tài)轉(zhuǎn)換和進(jìn)程控制,以實(shí)現(xiàn)這些功能模塊的統(tǒng)一處理,從而提高硬件資源的利用率。

        3.1 密鑰生成控制模塊

        密鑰生成控制模塊為密鑰生成模塊提供輸入接口和狀態(tài)控制,包括初始密鑰生成、初始密鑰滾動(dòng)、密鑰舍棄、摘要生成和密鑰流產(chǎn)生等工作,以狀態(tài)機(jī)的形式來描述和實(shí)現(xiàn),如圖3所示。

        密鑰生成控制模塊的狀態(tài)機(jī)共包括5種狀態(tài),其中狀態(tài)4為空閑狀態(tài),狀態(tài)0是初始密鑰生成狀態(tài),狀態(tài)1是密鑰舍棄狀態(tài),狀態(tài)2是密鑰產(chǎn)生狀態(tài),狀態(tài)3是摘要生成狀態(tài)。

        當(dāng)沒有任何外部激勵(lì)信號(hào)或者密鑰生成模塊停止工作的時(shí)候,處于空閑狀態(tài),而一旦接收到外部激勵(lì)信號(hào),立即轉(zhuǎn)入相應(yīng)的狀態(tài)處理程序。

        當(dāng)種子密鑰和隨機(jī)數(shù)準(zhǔn)備好,并接到生成初始密鑰的通知(EncPrmKeyEn=1)時(shí),密鑰生成控制模塊由空閑狀態(tài)轉(zhuǎn)入狀態(tài)0,啟用初始密鑰生成功能,當(dāng)初始密鑰生成完畢后,立即轉(zhuǎn)入狀態(tài)1,密鑰舍棄功能啟動(dòng),密鑰舍棄完畢后,發(fā)出工作完成標(biāo)志(KeyStrmOV=1),通知狀態(tài)機(jī)重新進(jìn)入空閑狀態(tài)。

        當(dāng)密鑰生成控制模塊接收到生成摘要的通知后(AbstGenDe=1),即刻轉(zhuǎn)入狀態(tài)3,摘要生成功能生效,當(dāng)摘要生成完畢,發(fā)出結(jié)束標(biāo)志(KeyStrmOV=1),通知密鑰生成控制模塊摘要已生成,可以轉(zhuǎn)入空閑等待狀態(tài)。

        當(dāng)外部激勵(lì)信號(hào)變成密鑰生成的通知(EncK-eyGenEn=1)時(shí),密鑰生成控制模塊由空閑狀態(tài)轉(zhuǎn)入狀態(tài)2,進(jìn)入密鑰生成模塊的密鑰產(chǎn)生功能,生成完一組密鑰后,同樣會(huì)使密鑰生成控制模塊轉(zhuǎn)入空閑狀態(tài)。

        3.2 密鑰生成模塊

        密鑰生成模塊實(shí)現(xiàn)的功能包括初始密鑰生成、初始密鑰滾動(dòng)、摘要生成、密鑰生成和密鑰舍棄。借鑒高級(jí)編程語言中的函數(shù)共用思想,將密鑰生成模塊劃分為復(fù)位子模塊、初始化子模塊、Geffe子模塊和Hash函數(shù)模塊四個(gè)部分,如圖4所示。

        在密鑰生成模塊使能信號(hào)無效,即密鑰生成控制模塊處于空閑狀態(tài)時(shí),密鑰生成模塊一直處于復(fù)位狀態(tài),模塊的各參數(shù)均被恢復(fù)為初始值,此即為復(fù)位子模塊;一旦密鑰控制模塊處于非空閑狀態(tài)時(shí),首先會(huì)進(jìn)入初始化子模塊,該模塊會(huì)根據(jù)接收狀態(tài)的不同對(duì)模塊的各參數(shù)實(shí)施不同的初始化,包括根據(jù)隨機(jī)數(shù)和種子密鑰初始化初始密鑰發(fā)生器的Geffe中各m序列發(fā)生器的狀態(tài)和本征多項(xiàng)式,或根據(jù)初始密鑰來初始化密鑰流發(fā)生器的Geffe,或讀取密鑰流發(fā)生器上一次的Geffe狀態(tài)和本征來初始化Geffe,或讀取初始密鑰初始化Hash函數(shù)的輸入,以及Geffe子模塊和Hash函數(shù)中所使用到的各寄存器等等。初始化過程完畢后,Geffe子模塊啟動(dòng)(生成摘要時(shí),將跳過Geffe子模塊直接進(jìn)入Hash函數(shù)子模塊),生成啟動(dòng)Hash函數(shù)子模塊所需要的輸入數(shù)據(jù),并在Geffe子模塊停止工作時(shí)存儲(chǔ)Geffe的最終狀態(tài)和本征多項(xiàng)式以便下次啟動(dòng)Geffe時(shí)能夠正確實(shí)施初始化。一旦Geffe子模塊輸出Hash函數(shù)所需要的數(shù)據(jù),Hash函數(shù)子模塊即可被啟動(dòng)(當(dāng)接收狀態(tài)為密鑰舍棄時(shí),無需再啟動(dòng)Hash函數(shù),可以直接退出),根據(jù)接收狀態(tài)的不同,生成初始密鑰、摘要或者數(shù)據(jù)密鑰,并存儲(chǔ)到不同的存儲(chǔ)區(qū)域,以用于Geffe初始化、摘要驗(yàn)證和數(shù)據(jù)加解密。

        圖4 密鑰生成模塊流程簡(jiǎn)圖

        在進(jìn)入狀態(tài)3時(shí),啟動(dòng)摘要生成功能,若初始密鑰比特?cái)?shù)不足啟動(dòng)Hash函數(shù)需要的輸入長(zhǎng)度h,則必須對(duì)初始密鑰進(jìn)行擴(kuò)展至h。

        對(duì)于Hash函數(shù)子模塊的實(shí)現(xiàn),可采用流水操作[6]。如果采用串行方案,需要時(shí)鐘通常會(huì)超過Geffe的主時(shí)鐘總數(shù)g,造成Hash函數(shù)無法與Geffe同步運(yùn)行。如果Geffe和Hash函數(shù)串行運(yùn)行,產(chǎn)生一幀明文/密文數(shù)據(jù)的密鑰所需要的時(shí)鐘往往會(huì)遠(yuǎn)大于一幀數(shù)據(jù)所占用的主時(shí)鐘個(gè)數(shù),無法實(shí)施密鑰的生成。Hash函數(shù)一般是將給定的輸入m分成若干個(gè)分組{m1,m2,…mk},并以迭代的方式,逐組處理[7],因此可以考慮采用流水操作來減少Hash函數(shù)子模塊的運(yùn)算時(shí)間。以Hash函數(shù)采用MD5為例,對(duì)于MD5子模塊的實(shí)現(xiàn),采用流水操作便可滿足上述條件。

        圖5 MD5內(nèi)部運(yùn)算流水操作過程

        設(shè)密鑰生成模塊最開始有n個(gè)主時(shí)鐘的初始化過程,Geffe串行連續(xù)運(yùn)行g(shù)次,Geffe每運(yùn)行一次就啟動(dòng)一次Hash函數(shù)(摘要生成和密鑰舍棄除外),Hash函數(shù)隨下一個(gè)Geffe同時(shí)啟動(dòng)。這使Hash函數(shù)的運(yùn)行時(shí)間要小于一次Geffe的運(yùn)行時(shí)間,因此Hash函數(shù)可以與Geffe并行工作而不會(huì)影響下一次的Hash函數(shù)運(yùn)行,而且每次Hash函數(shù)結(jié)束后會(huì)有若干個(gè)主時(shí)鐘來完成Hash函數(shù)運(yùn)算結(jié)果的存儲(chǔ)工作。當(dāng)g次Geffe運(yùn)行完畢后,緊接著是若干個(gè)主時(shí)鐘的Geffe存儲(chǔ)工作,而最后一次Hash函數(shù)也隨Geffe存儲(chǔ)工作的開始而開始。這種時(shí)序關(guān)系能有效避免Geffe的等待,提高工作效率。

        4 結(jié)束語

        在該流密碼加解密系統(tǒng)中,在對(duì)核心部分—密鑰生成器進(jìn)行實(shí)現(xiàn)時(shí),充分運(yùn)用模塊化復(fù)用思想,通過函數(shù)體共用、時(shí)分復(fù)用和流水操作等方法,使程序設(shè)計(jì)得到了精簡(jiǎn),程序的可移植性增強(qiáng),減少了硬件資源占用,有效降低了功耗,在實(shí)際應(yīng)用中效果明顯。

        [1]丁存生,肖國(guó)鎮(zhèn).流密碼及其應(yīng)用[M].北京:國(guó)防工業(yè)出版社,1994.

        [2]羅啟彬,張健.流密碼的現(xiàn)狀和發(fā)展[J].信息與電子工程學(xué)報(bào),2006,1(4):75 -80.

        [3]Rueppel R A.Good Stream Cipher Are Hard To Design[A].Proceedings of International Carnahan Conference on Security Technology[C].1989:163 -174.

        [4]雷彥云,林嘉宇.基于流密碼的數(shù)據(jù)加解密系統(tǒng)設(shè)計(jì)[J].科技信息,2008(27):75 -57.

        [5]Thiegenthaler T.Decrypting a class ofstream ciphers using ciphertext only[J].IEEE Trand.Computers,1985,C - 34(1):81-85.

        [6]GUNOK J,PEREPELITSA V,SOBELMAN GE.Time borrowing in High-speed functional units using skew-tolerant domino circuits[A].The 2000 IEEE International Symposium on Circuits and Sys- terns,ISCAS 2000[C].Geneva,2001.

        [7]宋震.密碼學(xué)[M].北京:中國(guó)水利水電出版社,2002.

        猜你喜歡
        加解密空閑密鑰
        探索企業(yè)創(chuàng)新密鑰
        恩賜
        詩(shī)選刊(2023年7期)2023-07-21 07:03:38
        密碼系統(tǒng)中密鑰的狀態(tài)與保護(hù)*
        “鳥”字謎
        小讀者之友(2019年9期)2019-09-10 07:22:44
        彪悍的“寵”生,不需要解釋
        一種對(duì)稱密鑰的密鑰管理方法及系統(tǒng)
        基于ECC的智能家居密鑰管理機(jī)制的實(shí)現(xiàn)
        PDF中隱私數(shù)據(jù)的保護(hù)方法
        電子取證中常見數(shù)據(jù)加解密理論與方法研究
        基于FPGA的LFSR異步加解密系統(tǒng)
        国产成人亚洲精品91专区高清| 亚洲欧洲精品国产二码| 成激情人妻视频| 成人av一区二区三区四区| 亚洲av综合一区二区在线观看| 成在人线av无码免观看麻豆| 欧美成人免费看片一区| 长腿丝袜在线观看国产| 久久天天躁狠狠躁夜夜av浪潮 | 女人喷潮完整视频| 丝袜国产高跟亚洲精品91| 国产成人激情视频在线观看| 新中文字幕一区二区三区| 久久精品成人无码观看不卡| 亚洲人成人无码www影院| 久久精品无码中文字幕| 日韩国产有码在线观看视频| 青青草手机视频免费在线播放| 国产美女精品视频线免费播放软件| 色窝窝免费播放视频在线| 超级碰碰人妻中文字幕| 国产精品自产拍在线18禁| 亚洲av无码一区二区三区乱子伦| 国产v视频| 天堂av一区一区一区| 亚洲av无码精品无码麻豆| 久久精品国产www456c0m| 亚洲午夜久久久久中文字幕久 | 人妻中出精品久久久一区二| 蜜臀人妻精品一区二区免费| 中文字幕人妻无码视频| 亚洲av色福利天堂| 中文字幕国内一区二区| 精品人妻av一区二区三区| 国产精品久久久久久久免费看| 在线观看一区二区女同| 永久免费观看的黄网站在线| 寂寞少妇做spa按摩无码| 国产在线观看入口| 青青草视频在线免费视频| 国产av久久久久精东av|