999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種流密碼密鑰流生成器的模塊化設計與實現

2010-06-13 11:32:58鄭林華
微處理機 2010年3期

鄧 健,鄭林華

(國防科學技術大學,長沙410073)

1 引言

流密碼[1]也稱序列密碼,它是對稱密碼算法的一種,具有長度可靈活變化,加解密速度快、復雜度低的特點。流密碼采用逐個字符加解密的策略,不需要緩存,同步流密碼還可以實現無錯誤擴散[2]。在高保密強度要求的場合,核心密多采用“一次一密”的流密碼體制。

流密碼的設計通常采用多重密鑰、多重環節、多重安全措施等技術[3],達到“一次一密”、最終靠密鑰保密的目標。鑒于流密碼系統存在多重相似運算過程,在核心部分——密鑰生成器設計可以采用模塊化復用的設計方法,通過程序共用、時分復用,實現精簡程序、節省芯片資源、降低功耗。

2 密鑰生成算法簡介

流密碼加解密系統通常由密鑰管理模塊、密鑰流發生器和流密碼的加解密運算模塊組成。在文獻[4]中采用了一種Geffe發生器串接單向陷門的Hash函數的方式,如圖1所示,生成超長周期的偽隨機序列,密鑰的強度依賴于Hash函數,使通過最終輸出的流密碼碼字逆向得到Geffe發生器的內部狀態的難度大大增加,從而保證了此密鑰流發生器的安全性。文獻[4]中提到可采用多組Geffe序列生成器并行來提高Geffe發生器的輸出速度,但我們在實際設計中發現組數過多則大大增加運算復雜度,密鑰強度降低[5],本文采用2組數Geffe發生器并行結構,獲得了較好的效果。

圖1 密鑰生成基本流程

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

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

圖2 初始密鑰生成方法

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

3 算法設計與實現

流密碼系統僅需密鑰保密,一個流密碼是否具有很高的密碼強度主要取決于密鑰流生成器的設計,因此密鑰流產生器是加解密系統的核心。

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

3.1 密鑰生成控制模塊

密鑰生成控制模塊為密鑰生成模塊提供輸入接口和狀態控制,包括初始密鑰生成、初始密鑰滾動、密鑰舍棄、摘要生成和密鑰流產生等工作,以狀態機的形式來描述和實現,如圖3所示。

密鑰生成控制模塊的狀態機共包括5種狀態,其中狀態4為空閑狀態,狀態0是初始密鑰生成狀態,狀態1是密鑰舍棄狀態,狀態2是密鑰產生狀態,狀態3是摘要生成狀態。

當沒有任何外部激勵信號或者密鑰生成模塊停止工作的時候,處于空閑狀態,而一旦接收到外部激勵信號,立即轉入相應的狀態處理程序。

當種子密鑰和隨機數準備好,并接到生成初始密鑰的通知(EncPrmKeyEn=1)時,密鑰生成控制模塊由空閑狀態轉入狀態0,啟用初始密鑰生成功能,當初始密鑰生成完畢后,立即轉入狀態1,密鑰舍棄功能啟動,密鑰舍棄完畢后,發出工作完成標志(KeyStrmOV=1),通知狀態機重新進入空閑狀態。

當密鑰生成控制模塊接收到生成摘要的通知后(AbstGenDe=1),即刻轉入狀態3,摘要生成功能生效,當摘要生成完畢,發出結束標志(KeyStrmOV=1),通知密鑰生成控制模塊摘要已生成,可以轉入空閑等待狀態。

當外部激勵信號變成密鑰生成的通知(EncK-eyGenEn=1)時,密鑰生成控制模塊由空閑狀態轉入狀態2,進入密鑰生成模塊的密鑰產生功能,生成完一組密鑰后,同樣會使密鑰生成控制模塊轉入空閑狀態。

3.2 密鑰生成模塊

密鑰生成模塊實現的功能包括初始密鑰生成、初始密鑰滾動、摘要生成、密鑰生成和密鑰舍棄。借鑒高級編程語言中的函數共用思想,將密鑰生成模塊劃分為復位子模塊、初始化子模塊、Geffe子模塊和Hash函數模塊四個部分,如圖4所示。

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

圖4 密鑰生成模塊流程簡圖

在進入狀態3時,啟動摘要生成功能,若初始密鑰比特數不足啟動Hash函數需要的輸入長度h,則必須對初始密鑰進行擴展至h。

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

圖5 MD5內部運算流水操作過程

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

4 結束語

在該流密碼加解密系統中,在對核心部分—密鑰生成器進行實現時,充分運用模塊化復用思想,通過函數體共用、時分復用和流水操作等方法,使程序設計得到了精簡,程序的可移植性增強,減少了硬件資源占用,有效降低了功耗,在實際應用中效果明顯。

[1]丁存生,肖國鎮.流密碼及其應用[M].北京:國防工業出版社,1994.

[2]羅啟彬,張健.流密碼的現狀和發展[J].信息與電子工程學報,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]雷彥云,林嘉宇.基于流密碼的數據加解密系統設計[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]宋震.密碼學[M].北京:中國水利水電出版社,2002.

主站蜘蛛池模板: 亚洲午夜18| 亚洲第七页| 久久婷婷综合色一区二区| 四虎国产精品永久一区| 香蕉久久永久视频| 丰满人妻一区二区三区视频| 色天天综合久久久久综合片| 99青青青精品视频在线| 免费一级大毛片a一观看不卡| 免费看a级毛片| 最新无码专区超级碰碰碰| 中文无码影院| 国产va在线观看免费| 91 九色视频丝袜| 亚洲男人在线天堂| 手机看片1024久久精品你懂的| 美女扒开下面流白浆在线试听| 日韩AV手机在线观看蜜芽| 爆乳熟妇一区二区三区| 久久永久精品免费视频| 国产精品免费电影| 亚洲黄色片免费看| 伊人色天堂| 国产二级毛片| 99热这里都是国产精品| 国产精品成人一区二区| 国产精品成人久久| 午夜日b视频| 无码专区国产精品第一页| 亚洲第一成人在线| 亚洲国产理论片在线播放| 精品一区二区三区视频免费观看| 亚洲欧美国产视频| 国产h视频免费观看| 中文字幕自拍偷拍| 国模视频一区二区| 国产成a人片在线播放| 综合天天色| 999精品视频在线| 国产亚洲精品va在线| 久久精品无码中文字幕| 亚洲成人77777| 99精品高清在线播放| 综合色婷婷| 亚洲乱强伦| 黑色丝袜高跟国产在线91| 美女一区二区在线观看| 女同久久精品国产99国| 久久美女精品国产精品亚洲| 人妻丰满熟妇αv无码| 精品无码专区亚洲| 波多野结衣无码中文字幕在线观看一区二区 | 性网站在线观看| 免费人成视网站在线不卡| 国产精品自在在线午夜| 五月天在线网站| 91久久夜色精品国产网站| 亚洲综合久久成人AV| 久久综合丝袜长腿丝袜| 一本一本大道香蕉久在线播放| 亚洲日韩高清无码| 永久免费无码日韩视频| 香蕉视频在线观看www| 99er精品视频| 毛片网站在线看| 亚洲第一区在线| a级毛片一区二区免费视频| 国产91小视频在线观看| 在线免费观看a视频| 色噜噜狠狠狠综合曰曰曰| 欧洲av毛片| 国产美女91呻吟求| 97色婷婷成人综合在线观看| 国产xxxxx免费视频| 午夜不卡福利| 精品久久香蕉国产线看观看gif| 国产喷水视频| 毛片久久网站小视频| 国产精品成人不卡在线观看 | 福利片91| 中文字幕色站| 欧美不卡二区|