一種提高特定單des處理器計算3des速度的方法
2023-11-06 05:40:17 1
專利名稱:一種提高特定單des處理器計算3des速度的方法
技術領域:
本發明提出了一種提高特定單DES處理器計算3DES速度的方法,該設計方法適用於S0C 級大規模集成電路,以優化的方式,為SOC晶片提供規模小、性能高的計算3DES運算的DES 模塊。
背景技術:
當今的電信、身份識別、電子支付等領域,都對保密技術提出了很高要求,通常需要使 用加密、解密算法來對數據進行處理。常見的加解密算法有DES, 3DES, AES, RSA等,具體 的解決辦法是,在嵌入式晶片裡以硬體、軟體或軟硬體結合的方式來實現這些算法。
單DES的密鑰長度是64位,有效密鑰是56位,有8位是奇偶校驗位。隨著計算機運算 速度的提高和網絡分布式計算的實現,個人暴力破解單DES成為可能。而3DES的密鑰長度是 192位,有效密鑰是168位,攻擊3DES需要的時間是破解單DES時間的256倍,所以在高級 安全應用中廣泛使用3DES。
單DES加密已漸漸不能滿足加密要求,3DES加密逐漸取代單DES加密。實現3DES加密一 般採用3DES處理器或軟體加單DES處理器完成。使用3DES處理器會增加集成電路規模,而 軟體加單DES處理器完成3DES運算時間較長。
發明內容
本發明針對上述問題提出一種特定單DES處理器計算3DES提高運算速度的方法,這種方 法針對將最後一輪迭代運算結果L16和R16進行置換,並採用數據讀出方式進行迭代結果的 恢復與逆初始變換以及用數據寫入方式進行初始置換的特定DES處理器,很好地解決了性能、 規模這兩個問題。
3DES處理器和單DES處理器運算3DES的主要差別是
1, 3DES處理器的密鑰已經存儲在3DES處理器中;而單DES處理器需要在每次DES 運算前寫入,但二者在密鑰寫入上花費時間相差不大。
2, 3DES處理器的加解密數據只需在運算前寫入一次;而特定單DES處理器計算3DES 時,第2次和第3次DES運算,需要將上次DES運算結果讀出後再寫入DES處理器。
由此可見,對特定單DES處理器計算3DES,速度低主要是因為3DES運算的中間結果 讀出和寫入引起的。
本方法旨在減少特定單DES處理器計算3DES的中間結果讀出寫入時間。以下具體說明
在DES運算中,每次運算開始和結束都有數據的初始變換和逆初始變換,在特定單DES 處理器中初始變換、逆初始變換以及最後一輪迭代結果的恢復,同數據的寫入和讀出一同完 成,這也是特定單DES處理器需要每次將3DES運算的中間結果讀出並寫入的原因。
本方法是將特定單DES處理器計算3DES中間結果的迭代結果恢復、逆初始變換和初始 變換由硬體完成,不再需要將3DES的中間結果讀出和寫入,提高運算速度。硬體完成迭代 結果恢復和兩次變換,只需將DES處理器最後一次迭代的結果(L16和R16)相應置換一下 即可。
圖中描述了涉及特定DES協處理器IP核結構示意圖,其中3DES中間結果變換的執行結 果等效於首先將DES最後一輪迭代結果恢復,再運行逆初始變換,最後運行初始變換的結果。
具體實施例方式
本方法旨在減少特定單DES處理器計算3DES的中間結果讀出寫入時間,實施的關鍵在 於,特定DES迭代運算結束後將運算結果變換成DES迭代運算輸入要求的格式,以下是本設 計方法的一種具體實施方案
在DES運算中,最後一輪迭代運算結果不需要進行置換,每次運算開始和結束都有數據 的初始變換和逆初始變換。在特定DES處理器中,為了簡化硬體設計,對最後一輪迭代運算 結果進行了置換,因此在逆初始變換前需要將迭代運算的最後一輪結果進行恢復。在特定DES 處理器中初始變換與數據寫入一同完成,迭代運算最後一輪結果的恢復與逆初始變換同數據 讀出一同完成,這也是特定單DES處理器需要每次將3DES運算的中間結果讀出並寫入的原 因。
本方法是將特定單DES處理器計算3DES中間結果的迭代結果恢復、逆初始變換和初始 變換由硬體完成,不再需要將3DES的中間結果讀出和寫入,提高運算速度。
DES輸入64位數據經初始變換,被分為I^和R1,各32位。特定DES迭代運算結束後 迭代結果為I^16(32位數據),Ril6(32位數據),與標準DES迭代運算結果相比,特定DES 處理器對最後一次迭代結果多進行了一次置換。為進行3DES運算,先對L^6和R46做迭 代結果恢復與逆初始變換,再將變換結果做初始變換得到結果1^和R2,作為下次特定DES 迭代運算的輸入。因為逆初始變換和初始變換是互逆運算,因此對數據做逆初始變換後再做 初始變換相當於沒有進行運算。這樣一個流程的有效運算是將迭代結果恢復,即L116和R116 做置換。經分析可知,只需將〃16和R46的數據互換,即可得到最終運算結果I 和R2。 L16和R16的數據互換由3DES中間結果變換模塊實現。因此只增加極少的硬體開銷,就可 以極大的節省運算時間。
權利要求
1.一種提高特定單DES處理器計算3DES運算速度的方法,其特徵在於,只用單時鐘周期就可完成特定DES計算中的最後一輪迭代結果恢復與逆初始置換和初始置換,去掉了3DES運算的中間結果讀出後再寫入的過程,提高特定單DES處理器計算3DES運算速度。
全文摘要
本發明是一種提高特定單DES處理器計算3DES運算速度的方法,在該方法中,去掉了使用特定單DES處理器計算3DES運算時中間結果的讀取和寫入,大大提高了運算速度。
文檔編號H04L9/06GK101350713SQ200710119110
公開日2009年1月21日 申請日期2007年7月16日 優先權日2007年7月16日
發明者徵 王 申請人:北京中電華大電子設計有限責任公司