新四季網

一種實現sm4分組對稱密碼算法的系統的製作方法

2023-10-17 01:49:29

一種實現sm4分組對稱密碼算法的系統的製作方法
【專利摘要】本發明公開了一種實現SM4分組對稱密碼算法的系統,包括:輸入密鑰處理及結果存儲器,用於對輸入密鑰進行處理,得到直接參與迭代運算的結果,並進行存儲;密鑰緩存器,用於根據控制模塊輸出的控制信號更新和存儲密鑰擴展運算的中間結果,即加密運算需要的輪密鑰;數據緩存器,用於根據控制模塊輸出的控制信號更新和存儲加解密迭代運算的中間結果;數據處理選擇模塊,用於根據控制模塊輸出的控制信號,選擇參與運算的數據為密鑰還是加解密的數據;運算邏輯模塊,用於進行加解密運算和密鑰擴展運算;控制模塊,用於根據輸入的工作模式控制信號,輸出相應的加解密控制信號和密鑰擴展控制信號。利用本發明,使得系統冗餘度得到降低。
【專利說明】—種實現SM4分組對稱密碼算法的系統
【技術領域】
[0001]本發明涉及分組密碼算法【技術領域】,尤其是一種實現SM4分組對稱密碼算法的系統。
【背景技術】
[0002]SM4分組對稱密碼算法即原SMS4算法,它是國內公布的第一個用於無線區域網產品的商用密碼算法,該算法是我國首個公開針對特殊領域的密碼算法,對無線區域網產業和商用密碼研究都有重要的意義。SM4是基於S盒的分組對稱密碼算法,它對一組比特數據進行加解密運算,而不像流密碼那樣只針對單個比特運算。該算法的分組長度為128比特,密鑰長度為128比特。加密算法與密鑰擴展算法都採用32輪非線性迭代結構。解密算法與加密算法的結構相同,只是輪密鑰的使用順序相反。
[0003]加密算法主要為讀入加密數據和密鑰進行加密運算的過程。算法的加密變換包含異或運算和合成置換T運算,其中合成置換T運算是由線性變換L和非線性變換τ複合而成,即T(.) =L(t (.))。非線性變換τ由4個並行的S盒構成,S盒是固定的8比特輸入8比特輸出的變換;線性變換L包含異或運算和循環左移運算。
[0004]對密鑰擴展算法而言,加密算法中的輪密鑰是加密密鑰MK通過密鑰擴展算法生成。而該擴展算法基本結構與加解密算法相同,同樣包含異或運算和合成置換Τ』運算。其中合成置換Τ』運算與加密算法中的合成置換T運算基本相同,僅僅將其中的線性變換L修改為L』,線性變化L』同樣包含異或運算和左移運算,形式略有不同。
[0005]實現SM4算法的加解密系統在現有技術中存在多種方案,但這些方案大多基於以下架構,如圖1所示,現有技術中一個標準SM4加解密系統包括:密鑰擴展模塊、控制模塊和加解密模塊。以加密操作為例,首先由密鑰擴展模塊讀入加密密鑰ΜΚ、系統參數FK和固定參數CK,其中FK和CK是固定值,讀入的所有參數經過32輪迭代運算產生32個輪密鑰並存儲。當有明文進入加解密模塊,則加密運算啟動,並在每輪迭代中讀入相應輪密鑰,直至完成32輪迭代加密操作,最終輸出密文。不同方案的區別在於加解密模塊的實現上。
[0006]但從系統全局的結構考慮,加解密模塊和密鑰擴展模塊在功能上有較大的相似性,使用兩個模塊實現系統的功能使得系統的部件冗餘度較高。

【發明內容】

[0007](一 )要解決的技術問題
[0008]有鑑於此,本發明的主要目的在於提供一種實現SM4分組對稱密碼算法的系統,以降低系統部件的冗餘度。
[0009]( 二 )技術方案
[0010]為達到上述目的,本發明提供了一種實現SM4分組對稱密碼算法的系統,包括:
[0011]輸入密鑰處理及結果存儲器,用於對輸入密鑰進行處理,得到直接參與迭代運算的結果,並進行存儲;[0012]密鑰緩存器,用於根據控制模塊輸出的控制信號更新和存儲密鑰擴展運算的中間結果,即加密運算需要的輪密鑰;
[0013]數據緩存器,用於根據控制模塊輸出的控制信號更新和存儲加解密迭代運算的中間結果;
[0014]數據處理選擇模塊,用於根據控制模塊輸出的控制信號,選擇參與運算的數據為密鑰還是加解密的數據;
[0015]運算邏輯模塊,用於進行加解密運算和密鑰擴展運算;以及
[0016]控制模塊,用於根據輸入的工作模式控制信號,輸出相應的加解密控制信號和密鑰擴展控制信號。
[0017]上述方案中,所述輸入密鑰處理及結果存儲器包括運算部件以及存儲單元,當接收到密鑰時,該運算部件將該密鑰與固定常數進行運算,得到直接參與密鑰擴展算法進行迭代運算的數據,並將該數據存儲於該存儲單元中。
[0018]上述方案中,所述密鑰緩存器包括一組存儲單元,用於根據控制模塊輸出的控制信號更新和存儲密鑰擴展迭代運算得到的中間結果。
[0019]上述方案中,所述數據緩存器包括一組存儲單元,用於根據控制模塊輸出的控制信號更新和存儲數據加解密迭代運算得到的中間結果。
[0020]上述方案中,所述數據處理選擇模塊為一個數據選擇器,用於選擇輸入到運算邏輯模塊的數據是加解密數據還是密鑰擴展數據,如果控制模塊輸出的是加解密控制信號,則輸入到運算邏輯模塊的數據是加解密數據;如果控制模塊輸出的是密鑰擴展信號,則輸入到運算邏輯模塊的數據是密鑰擴展數據。
[0021]上述方案中,所述運算邏輯模塊包括輪密鑰運算所需常數生成部件、第一運算部件、S盒部件、循環移位部件以及第二運算部件,其中:
[0022]所述輪密鑰運算所需常數生成部件,用於根據控制邏輯輸出的控制信號,按照相應的數學原理生成輪密鑰生成時所需的常數;
[0023]所述第一運算部件,用於完成加解密數據與輪密鑰進行的異或運算,或者密鑰數據與生成輪密鑰所需常數的異或運算;
[0024]所述S盒部件,用於在加解密模式或輪密鑰擴展模式時對數據進行S盒查表運算;
[0025]所述循環移位部件,用於完成循環移位與異或運算;
[0026]所述循環移位部件,用於先對輸入數據進行循環左移2、10、18、24、13、23位,循環左移2、10、18、24位所得的數據輸入數據相異或得到輸出結果A,循環左移13、23位所得到的數據與輸入數據相異或得到輸出結果B ;
[0027]所述第二運算部件,用於對所述循環移位部件的輸出結果A與數據緩存器中相應的數據相異或得到A』,對所述循環移位部件的輸出結果B與密鑰緩存器中相應的數據相異或得到B』。
[0028]上述方案中,所述第二運算部件的輸出A』與B』在控制模塊輸出的控制信號下分別存入數據緩存器或密鑰緩存器。
[0029]上述方案中,所述控制模塊根據輸入的工作模式信號產生相應的加密運算控制信號和解密運算控制信號,實現加密運算過程和解密運算過程。[0030]上述方案中,所述加密運算過程為:加密運算開始時,輸入的128位明文直接載入數據緩存器,輸入密鑰處理及結果存儲器中存儲的數據載入密鑰緩存器模塊;密鑰緩存器僅有128位,採取不存儲所有輪密鑰,而是每輪加密前先計算輪密鑰的方式工作;控制模塊控制系統交替進行輪密鑰的生成與數據塊的加密,一組數據的加密通過64輪迭代完成。
[0031]上述方案中,所述解密運算過程為:SM4為對合運算,加密過程與解密過程使用相同的密鑰;假設加密過程輪密鑰的使用順序為Tkci~rk31,解密時輪密鑰的使用順序為rk31~Tktl ;解密運算開始時,128位密文直接載入數據緩存器,輸入密鑰處理及結果存儲器中存儲的數據載入密鑰緩存器;先由輸入密鑰通過32輪迭代計算出{rk31,rk3(l,rk29,rk28},在此過程中只進行密鑰擴展運算,不進行數據解密運算;之後,可由{rk31,rk3(l,rk29,rk28}反推得到rk27~riv在此過程中輪密鑰的生成與數據的解密交替進行;整個解密過程通過96輪迭代完成。
[0032](三)有益效果
[0033]本發明提供的實現SM4分組對稱密碼算法的系統,基於模塊復用的思想,僅使用一個運算模塊就可完成加解密運算和輪密鑰擴展運算;利用了密鑰擴展運算的正反遞推性質,只存儲初始密鑰,不存儲輪密鑰,省去了 32輪輪密鑰佔用的大量資源;基於以上所述思想和性質,使得系統冗餘度得到降低。
【專利附圖】

【附圖說明】
[0034]圖1為現有技術中一個標準SM4加解密系統的示意圖;
[0035]圖2為本發明提供的實現SM4分組對稱密碼算法的系統的結構示意圖;
[0036]圖3是基於本發明提供的實現SM4分組對稱密碼算法的系統進行加密過程的流程圖;
[0037]圖4是基於本發明提供的實現SM4分組對稱密碼算法的系統進行解密過程的流程圖。
【具體實施方式】
[0038]為使本發明的目的、技術方案和優點更加清楚明白,以下結合具體實施例,並參照附圖,對本發明進一步詳細說明。
[0039]SM4算法是國內應用於無線區域網領域的重要商用密碼算法,其中加解密算法和密鑰擴展算法都採用32輪非線性迭代結構。解密算法和加密算法的結構相同,只是輪密鑰的使用順序相反。
[0040]下面對加解密算法進行簡要介紹:
[0041]定SlX為e比特的向量集,<<< i為32比特循環左移i位,?為32比特異或。
[0042]設明文輸入為(為,Z7,為,為)e(Zf)4,密文輸出為(70,K, Y2, Y3) e (Zf)4,輪密鑰Tki^Zf,i = 0,1,...,31。則該算法的加密過程為:
[0043]A;+J = F(X',X,+1,X+2,Λ;+3, rk ) = Λ; ?T(Λ;τ1 ? Χ+2 ? Χ+3 十 rk ),/ = 0,1,…,31 (I)
[0044](Y0, Y1, Y2, Y3) = (X35, X34, X33, X32)(2)
[0045]在(I)式中,F(.)稱為加密算法的輪函數,T(.)為Zf ^Z232的可逆變換,由非線性變換τ和線性變換L複合而成,即Τ(.) = L( τ (.))。[0046]非線性變換τ由4個並行的S盒構成。設輸入為
【權利要求】
1.一種實現SM4分組對稱密碼算法的系統,包括: 輸入密鑰處理及結果存儲器,用於對輸入密鑰進行處理,得到直接參與迭代運算的結果,並進行存儲; 密鑰緩存器,用於根據控制模塊輸出的控制信號更新和存儲密鑰擴展運算的中間結果,即加密運算需要的輪密鑰; 數據緩存器,用於根據控制模塊輸出的控制信號更新和存儲加解密迭代運算的中間結果; 數據處理選擇模塊,用於根據控制模塊輸出的控制信號,選擇參與運算的數據為密鑰還是加解密的數據; 運算邏輯模塊,用於進行加解密運算和密鑰擴展運算;以及 控制模塊,用於根據輸入的工作模式控制信號,輸出相應的加解密控制信號和密鑰擴展控制信號。
2.根據權利要求1所述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述輸入密鑰處理及結果存儲器包括運算部件以及存儲單元,當接收到密鑰時,該運算部件將該密鑰與固定常數進行運算,得到直接參與密鑰擴展算法進行迭代運算的數據,並將該數據存儲於該存儲單元中。
3.根據權利要求1所述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述密鑰緩存器包括一組存儲單元,用於根據控制模塊輸出的控制信號更新和存儲密鑰擴展迭代運算得到的中間結果。
4.根據權利要求1所 述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述數據緩存器包括一組存儲單元,用於根據控制模塊輸出的控制信號更新和存儲數據加解密迭代運算得到的中間結果。
5.根據權利要求1所述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述數據處理選擇模塊為一個數據選擇器,用於選擇輸入到運算邏輯模塊的數據是加解密數據還是密鑰擴展數據,如果控制模塊輸出的是加解密控制信號,則輸入到運算邏輯模塊的數據是加解密數據;如果控制模塊輸出的是密鑰擴展信號,則輸入到運算邏輯模塊的數據是密鑰擴展數據。
6.根據權利要求1所述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述運算邏輯模塊包括輪密鑰運算所需常數生成部件、第一運算部件、S盒部件、循環移位部件以及第二運算部件,其中: 所述輪密鑰運算所需常數生成部件,用於根據控制邏輯輸出的控制信號,按照相應的數學原理生成輪密鑰生成時所需的常數; 所述第一運算部件,用於完成加解密數據與輪密鑰進行的異或運算,或者密鑰數據與生成輪密鑰所需常數的異或運算; 所述S盒部件,用於在加解密模式或輪密鑰擴展模式時對數據進行S盒查表運算; 所述循環移位部件,用於完成循環移位與異或運算; 所述循環移位部件,用於先對輸入數據進行循環左移2、10、18、24、13、23位,循環左移2、10、18、24位所得的數據輸入數據相異或得到輸出結果A,循環左移13、23位所得到的數據與輸入數據相異或得到輸出結 果B ;所述第二運算部件,用於對所述循環移位部件的輸出結果A與數據緩存器中相應的數據相異或得到A』,對所述循環移位部件的輸出結果B與密鑰緩存器中相應的數據相異或得到B,。
7.根據權利要求6所述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述第二運算部件的輸出A』與B』在控制模塊輸出的控制信號下分別存入數據緩存器或密鑰緩存器。
8.根據權利要求1所述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述控制模塊根據輸入的工作模式信號產生相應的加密運算控制信號和解密運算控制信號,實現加密運算過程和解密運算過程。
9.根據權利要求8所述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述加密運算過程為: 加密運算開始時,輸入的128位明文直接載入數據緩存器,輸入密鑰處理及結果存儲器中存儲的數據載入密鑰緩存器模塊;密鑰緩存器僅有128位,採取不存儲所有輪密鑰,而是每輪加密前先計算輪密鑰的方式工作;控制模塊控制系統交替進行輪密鑰的生成與數據塊的加密,一組數據的加密通過64輪迭代完成。
10.根據權利要求9所述的實現SM4分組對稱密碼算法的系統,其特徵在於,所述解密運算過程為: SM4為對合運算,加密過程與解密過程使用相同的密鑰;假設加密過程輪密鑰的使用順序為咖~rk31,解密時輪密鑰的使用順序為rk31~;解密運算開始時,128位密文直接載入數據緩存器,輸入密鑰處理及結果存儲器中存儲的數據載入密鑰緩存器;先由輸入密鑰通過32輪迭代計算出{rk31,rk3(l,rk29, rk28},在此過程中只進行密鑰擴展運算,不進行數據解密運算;之後 ,可由{rk31, rk3(l,rk29,rk28}反推得到rk27~rlv在此過程中輪密鑰的生成與數據的解密交替進行;整個解密過程通過96輪迭代完成。
【文檔編號】H04L9/06GK103812641SQ201210441335
【公開日】2014年5月21日 申請日期:2012年11月7日 優先權日:2012年11月7日
【發明者】黑勇, 王晨光, 喬樹山, 任高峰 申請人:中國科學院微電子研究所

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀