一種應用於無線區域網的快速加解密方法
2023-10-23 16:22:02 2
專利名稱:一種應用於無線區域網的快速加解密方法
技術領域:
本發明涉及分組加解密算法的實現方法,尤其涉及一種用於無線區域網的加解密 方法。
背景技術:
隨著無線區域網的廣泛應用,其安全性問題越來越突出。對於無線區域網來說,在 安全性方面非常脆弱,這是由於傳輸速率能達到11M,而且覆蓋範圍達100米。正是其傳輸 速度快,覆蓋範圍廣,才使它在安全方面非常脆弱。因為數據在傳輸的過程中都曝露在空 中,很容易被別有用心的人截取數據包。目前,在現有算法的實現方式中,大多還是採用軟體方法實現,其實現方式簡單方 便,但其運算速度卻不是太理想,很難滿足實時的需要,而硬體實現的方式存在硬體開銷 大,成本過高,電路實現面積和功耗大等不足。而且隨著社會對信息安全的需要越來越高, 因此對加密算法的電路實現以及對密鑰的管理也都提出了很大的挑戰。而在實際應用中, 單位時間內加密的數據量比較小,而如果指定加密效率,則需提高時鐘頻率,而實際應用環 境中的時鐘頻率往往很難得到顯著的提高,從而制約了加密效率,因此很難滿足對數據吞 吐量大和對加密速度要求高的應用環境。
發明內容
本發明目的是提供一種應用於無線區域網的快速加解密方法,該方法大大提高了 加解密速度和單位時間的數據吞吐量,從而擴大了使用範圍。為達到上述目的,本發明採用的技術方案是一種應用於無線區域網的快速加解密方法,包括以下步驟加密過程步驟一.將一組明文編碼以字為單位分為4個編碼字,主密鑰編碼以字為單位分 為4個密鑰字;步驟二 .將主密鑰編碼中第1位密鑰字至第3位密鑰字與一常量異或運算後,再 作可逆變換,再與第0位密鑰字異或運算生成一個字長的第1輪子密鑰,再將第1位密鑰字 至第3位密鑰字前移至第0位至第2位密鑰字的位置,將所述第1輪子密鑰移至第3位密 鑰字的位置,並保留該輪子密鑰;步驟三.重複加密過程的步驟二生成31個子密鑰;步驟四.將所述第一輪子密鑰與所述一組明文編碼第1位編碼字至第3位編碼字 異或運算後,再作可逆變換,再與第0位編碼字異或運算生成一個字長的第一輪密文字,再 將第1位編碼字至第3位編碼字前移至第0位至第2位編碼字的位置,將所述第一輪密文 字移至第3位編碼字的位置;步驟五.送入另一組明文編碼,該另一組明文編碼以字為單位分為4個編碼字,該 另一組明文編碼與其上一組明文編碼間隔至少4輪時鐘周期;
步驟六.對所述一組明文編碼依次按順序使用第2輪子密鑰至第32輪子密鑰重 復步驟三進行31輪加密;同理,對所述另一組明文編碼依次按順序使用第1輪子密鑰至第 32輪子密鑰重複步驟三進行32輪加密;步驟七.當一組明文編碼經過32輪加密後,將其第0位至第3位編碼字作反序變 換,獲得密文編碼;解密過程步驟一.將一組密文編碼以字為單位分為4個密文字;步驟二 .將主密鑰編碼以字為單位分為4個密鑰字;步驟三.將主密鑰編碼中第1位密鑰字至第3位密鑰字與一常量先異或運算後, 再作可逆變換,再與第0位密鑰字異或運算生成一個字長的第1輪子密鑰,再將第1位密鑰 字至第3位密鑰字前移至第0位至第2位密鑰字的位置,將所述第1輪子密鑰移至第3位 密鑰字的位置,並保留該輪子密鑰;步驟四.重複解密過程步驟三進行32輪後,分別生成32個子密鑰;步驟五.將所述第32輪子密鑰與所述一組密文編碼第1位密文字至第3位密文 字異或運算後,再作可逆變換,再與第0位密文字異或運算生成一個字長的第1輪密文字, 再將第1位密文字至第3位密文字前移至第0位至第2位編碼字的位置,將所述第一輪密 文字移至第3位編碼字的位置;步驟六.送入另一組密文編碼,另一組密文編碼以字為單位分為4個編碼字,該另 一組密文編碼與其上一輪密文編碼間隔至少4輪時鐘周期;步驟七.對所述一組密文編碼依次按順序使用第31輪子密鑰至第1輪子密鑰重 復步驟三進行31輪解密;同理,對所述另一組明文編碼依次按順序使用第32輪子密鑰至第 1輪子密鑰重複步驟三進行32輪解密;步驟八.當一組密文編碼經過32輪解密後,將其第0位至第3位密文字作反序變 換,獲得明文編碼。上述技術方案中的有關內容解釋如下1.上述方案中,所述另一組明文編碼與其上一組明文編碼間隔為4輪時鐘周期; 所述另一組密文編碼與其上一組密文編碼間隔為4輪時鐘周期。2.上述方案中,所述解密過程中32個子密鑰通過Register File方式寄存。3.上述方案中,所述加密過程中可逆變換為T為加密過程中可逆變換,其中T為 Z322到Z322的一個可逆變換,由非線性變換τ和線性變化L複合而成,即T(.) =L(x (.))。其中非線性變換τ 它是由4個並行的S盒構成。設輸入 為 A= (B1, a2, a3, a4) e (Z82)4,輸出為 B= (b1 b2, b3, b4) e (Z82)4,貝U有(b1 b2, b3, b4) = τ (A) = (Sbox (a^ , Sbox (a2), Sbox (a3), Sbox (a4))線性變換L 非線性變換τ的輸出也即為線性變換L的輸入。設輸入為B e Z322, 則有C=L(B)=B θ (Β 2) (Β 10) θ (Β 18) θ (Β 24),其中<< i 為 32 比
特循環左移i位。4.上述方案中,所述解密過程中可逆變換;T'為加密過程中可逆變換,T'為Z322 到Z322的一個可逆變換,由非線性變換τ和線性變化L'複合而成,即T(.) =L' (τ(.))。其中非線性變換τ 它是由4個並行的S盒構成。設輸入為A= (ai,a2,a3,a4) e (Z82)4, 輸出為 B= (b1;b2,b3,b4) e (Z82)4,則有(b」 b2, b3, b4) = τ (A) = (Sbox (a^ , Sbox (a2), Sbox (a3), Sbox (a4))線性變換L'非線性變換τ的輸出也即為線性變換L'的輸入。設輸入為 B e Z322,則有C=L1 (B)=B十(B 13)十(B 23)系統參數Hi的取值,採用Ie進位表示為
FK = (FK0, FK1, FK2, FK3),其中 FK0 = (A3B1BAC6),FK1 = (56AA3350),FK2 = (677D9197), FK3 = (B27022DC)固定參數 CK = (CK0, CK1, · · ·,CK31)為 32 個固定參數。由於上述技術方案運用,本發明與現有技術相比具有下列優點和效果(1)本發明設計簡潔,加解密方式相同,密鑰擴展方式和加解密方式類似,加解密 中和密鑰擴展中的S盒也相同,該算法實現時硬體的利用率更高,且有利於整個算法在更 小的電路面積上實現;其次,安全性高,對於我國的信息安全有更加可靠的保證。(2)加解密速度快,本發明通過分別寄存加解密算法過程中所產生的每一輪的 輪密文和由密鑰擴展算法過程中所產生的每一輪的子密鑰,再由一個數據輸入指示信號 datajnput來控制數據的輸入,從而可在經過32個時鐘單元獲得第一組128比特數據的密 文之後,每隔4個時鐘周期即可獲得第二組,第三組,直到所有數據的密文,從而不用分別 等待32個時鐘單元才能獲得相應的明文數據的密文,也即4個時鐘單元即可處理一組128 比特的明文數據,因此大大的提高了數據的加解密速度和數據的吞吐量,從而可以大批量 的處理數據,使得加解密處理速度獲得了極大的提高。(3)電路實現簡單,通過定義不同的寄存器用於寄存每一輪所產生的輪密文和子 密鑰,從而使得電路實現相對簡單,不需要過多的考慮加解密算法和密鑰擴展算法的邏輯 實現。(4)適用面更廣,通過大幅的提高了加解密處理速度和數據吞吐量,從而使得能適 用於對速度要求更高的應用領域,從而使得其的使用範圍擴大了,能適用不同的應用環境。
附圖1為本發明整體電路結構示意圖;附圖2為本發明密鑰擴展電路每一輪的運算內部框架示意圖;附圖3為本發明加解密電路整體框架示意圖;附圖4為本發明加解密算法中每一輪的運算的內部框架示意圖。
具體實施例方式下面結合附圖及實施例對本發明作進一步描述實施例一種應用於無線區域網的快速加解密方法,包括以下步驟加密過程步驟一.將一組明文編碼以字為單位分為4個編碼字,主密鑰編碼以字為單位分 為4個密鑰字。步驟二 .將主密鑰編碼中第1位密鑰字至第3位密鑰字與一常量異或運算後,再 作可逆變換,再與第0位密鑰字異或運算生成一個字長的第1輪子密鑰,再將第1位密鑰字至第3位密鑰字前移至第0位至第2位密鑰字的位置,將所述第1輪子密鑰移至第3位密 鑰字的位置,並保留該輪子密鑰。步驟三.重複加密過程的步驟二生成31個子密鑰。步驟四.將所述第1輪子密鑰與所述一組明文編碼第1位編碼字至第3位編碼字 異或運算後,再作可逆變換,再與第0位編碼字異或運算生成一個字長的第一輪密文字,再 將第1位編碼字至第3位編碼字前移至第0位至第2位編碼字的位置,將所述第一輪密文 字移至第3位編碼字的位置。步驟五.送入另一組明文編碼,該另一組明文編碼以字為單位分為4個編碼字,該 另一組明文編碼與其上一組明文編碼間隔至少4輪時鐘周期。步驟六.對所述一組明文編碼依次按順序使用第2輪子密鑰至第32輪子密鑰重 復步驟三進行31輪加密;同理,對所述另一組明文編碼依次按順序使用第1輪子密鑰至第 32輪子密鑰重複步驟三進行32輪加密。步驟七.當一組明文編碼經過32輪加密後,將其第0位至第3位編碼字作反序變 換,獲得密文編碼。解密過程步驟一.將一組密文編碼以字為單位分為4個密文字。步驟二 .將主密鑰編碼以字為單位分為4個密鑰字。步驟三.將主密鑰編碼中第1位密鑰字至第3位密鑰字與一常量先異或運算後, 再作可逆變換,再與第0位密鑰字異或運算生成一個字長的第1輪子密鑰,再將第1位密鑰 字至第3位密鑰字前移至第0位至第2位密鑰字的位置,將所述第1輪子密鑰移至第3位 密鑰字的位置,並保留該輪子密鑰。步驟四.重複解密過程步驟三進行32輪後,分別生成32個子密鑰。步驟五.將所述第32輪子密鑰與所述一組密文編碼第1位密文字至第3位密文 字異或運算後,再作可逆變換,再與第0位密文字異或運算生成一個字長的第1輪密文字, 再將第1位密文字至第3位密文字前移至第0位至第2位編碼字的位置,將所述第一輪密 文字移至第3位編碼字的位置。步驟六.送入另一組密文編碼,另一組密文編碼以字為單位分為4個編碼字,該另 一組密文編碼與其上一輪密文編碼間隔至少4輪時鐘周期。步驟七.對所述一組密文編碼依次按順序使用第31輪子密鑰至第1輪子密鑰重 復步驟三進行31輪解密;同理,對所述另一組明文編碼依次按順序使用第32輪子密鑰至第 1輪子密鑰重複步驟三進行32輪解密。步驟八.當一組密文編碼經過32輪解密後,將其第0位至第3位密文字作反序變 換,獲得明文編碼。所述另一組明文編碼與其上一組明文編碼間隔為4輪時鐘周期;所述另一組密文 編碼與其上一組密文編碼間隔為4輪時鐘周期。所述解密過程中32個子密鑰通過Register File方式寄存。RegisterFile的具體的接口如下RF32*32ramO_sddc (. Q (ramO_data_rd_raw[31:0]),
· Clk(clk),· CEN ( crypt),. AEN (ram0_rw_b)『. A (ram0_addr [8:4]),. D (ramO_data_wr[31:0]))這個RegisterFile的大小為寬度為32比特,長度也為32比特,而ram0_data_ rd_raw[31:0]即為解密時從RegisterFile中讀出相對應地址的值,elk即為系統時鐘信 號,CEN為RegisterFile的使能信號,該信號定義為解密時有效,AEN為讀寫信號,該信 號定義為高電平有效,其值為密鑰準備好的指示信號key_ready,ram0_addr[84]為讀取 RegisterFile中數據的地址,定義為round,每一個時鐘周期,round值加1,直到round 為32停止。ram0_data_wr[31:0]為往RegisterFile中相對應地址寫進去的數據,也即 每輪的子密鑰,例如在解密過程中,首先必須準備好32輪的子密鑰,32輪的子密鑰是由 密鑰生成算法生成的,每一個時鐘周期生成一輪的子密鑰,第一輪時生成rkl,此時輪數 為1,也即在這個時鐘周期內把子密鑰rkl寫進RegisterFile中地址為0的地方,第二個 時鐘周期把子密鑰rk2寫進地址為1的地方,...,第三十二個時鐘周期把子密鑰rk32寫 進RegisterFile中地址為31的地方,產生完全部32輪子密鑰之前,key_ready信號為0, 即ram0_rw_b為0,也即RegisterFile是處於寫狀態中,而所有32輪子密鑰都生成好而 且全部寫進RegisterFile後之後,key_ready信號為1,此時RegisterFile處於讀狀態, 此時ram0_addr[8:4]的值定義為(31_round),解密時第一個時鐘周期,也即round為0, 此時從RegisterFile中讀出地址為(31-0) = 31的值,即讀出子密鑰rk32,ram0_data_ rd_raw[31:0]即為rk32,解密時第二個時鐘周期,也即round為1,此時從RegisterFile 中讀出地址為(31-1) = 30的值,即讀出子密鑰rk31,ram0_data_rd_raw[31:0]即為 rk31, · · ·,解密時第三十二個時鐘周期,也即round為31,此時從RegisterFile中讀出地 址為(31-31) = 0的值,即讀出子密鑰rkl, ram0_data_rd_raw[31:0]即為rkl用於解密, 從而完成解密過程。本實施例上述內容解釋如下。附圖1中各信號的功能描述如下輸入信號elk 系統時鐘輸入,rst 復位信號,低電平有效,crypt 加解密模式,0為解密,1為加密,key[127:0]算法的主密鑰,位寬為128比特,new_key 更新主密鑰指示信號,sms4_in [127:0]明文輸入,位寬為128比特。data_input 明文輸入指示信號。輸出信號sms4_out [127:0]密文輸出,位寬為128比特,cryptdone 加解密結束指示信號,
roundcipher[31:0]輪密文,位寬為 32 比特。內部信號round[5:0]輪選擇控制信號,位寬為6比特,roundkey[31:0]輪密鑰,位寬為 32 比特。加密密鑰長度為128 比特,表示為 MK = (MK0,MK1, MK2, MK3),其中 MKi (i = 0,1,2, 3)為字,輪密鑰表示為(rkQ,rki; ... , rk31),其中rki(i = 0,1, ... ,31)為字。輪密鑰由 加密密鑰生成。FK = (FK0, FK1, FK2, FK3)為系統參數,CK = (CK0, CK1, · · ·,CK31)為固定參 數,用於密鑰擴展算法,其中HiiG = 0,1,2,3), CKi (i =0,1, ...,31)為字。本算法採用 非線性迭代結構,以字為單位進行加密運算,稱一次迭代運算為一輪變換一共有32輪迭代 變換。設輸入為(Χ。,、,X2,X3) e (Z322) 4,輪密鑰為rk e Z322,則輪函數F為F(X0, X1, X2, X3, rk)=X0 T(X)十 X2 十 X3 rk)所述加密過程中可逆變換為T為加密過程中可逆變換,其中T為Z322到Z322的一 個可逆變換,由非線性變換τ和線性變化L複合而成,2322表示一個32維的空間,空間的元 素為0或1兩種,即T(.) =L(x (.))。其中非線性變換τ 它是由4個並行的S盒構成。設輸入 為 A= (B1, a2, a3, a4) e (Z82)4,輸出為 B= (b1 b2, b3, b4) e (Z82)4,貝U有(b」 b2, b3, b4) = τ (A) = (Sbox (a^ , Sbox (a2), Sbox (a3), Sbox (a4))線性變換L 非線性變換τ的輸出也即為線性變換L的輸入。設輸入為B e Z322, 則有C=L(B)=B (Β 2) ω (Β 10) (Β 18) θ (Β 24),其中<< i 為 32 比
特循環左移i位。定義反序變換R 為R(Ac^A1, A2, A3) = (A3,A2, A1, A。),Ai e Z322 , i = 0,1,2,3。設明 文輸入為(XcpXPU3) e (Z322) 4,密文輸出為(YtlJpY2J3) e (Z322) 4,輪密鑰為 rf e Z322, i = 0,1,...,31。則本算法的加密變換為對於i =0,1,...,31有Xi+4=F( Xi, Xi+1 』 Xi+2, Xi+3, rki )= Xi θ T(Xi+1 Xi+2 Χ1+3 rk,)(Υ0, Yl, Υ2, Υ3) = R(X32, Χ33, Χ34, Χ35) = (Χ35, Χ34, Χ33, Χ32)算法的解密變換與加密變換結構相同,不同的僅是輪密鑰的使用順序相反。加 密密鑰MK = (MK0, MK1, MK2, MK3),MKi e Z322 , i = 0,1,2,3 令 Ki e Z322 , i = 0,1,..., 35,輪密鑰為rki e Z322, i = 0,1,...,31,則密鑰生成方法為對i = 0,1,...,31, (K0, K1, K2, K3)=( MK0 十 FK0, MK1 十 FK1,MK2 FK2, MK3 十 FK3)而 Fki=Ki^=Ki T 『 (Ki+1@Ki+2 Ki+3sCKi),所述解密過程中可逆變換;T'為加密過 程中可逆變換,T'為Z322到Z322的一個可逆變換,由非線性變換τ和線性變化L'複合而 成,即T(.) =L' (τ (.))。其中非線性變換τ 它是由4個並行的S盒構成。設輸入為 A= (B1, a2, a3, a4) e (Z82)4,輸出為 B= (b1 b2, b3, b4) e (Z82)4,貝U有(b」 b2, b3, b4) = τ (A) = (Sbox (a^ , Sbox (a2), Sbox (a3), Sbox (a4))線性變換L'非線性變換τ的輸出也即為線性變換L'的輸入。設輸入為 B e Z322,則有C=L1 (B)=B θ (Β 13) θ (Β 23)系統參數ra的取值,採用Ie進位表示為
FK = (FK0, FK1, FK2, FK3),其中 FK0 = (A3B1BAC6),FK1 = (56AA3350),FK2 = (677D9197),FK3 = (B27022DC)固定參數 CK = (CK0, CK1, · · ·,CK31)為 32 個固定參數。本發明算法硬體實現方法包含算法中的密鑰擴展算法的硬體實現和加解密算法 的硬體實現,而用快速的算法硬體實現方法實現後的電路包括密鑰擴展電路,加解密電路 和輪控制電路。所述密鑰擴展電路是指用128比特的主密鑰產生算法中32輪加解密所需的 子密鑰的電路,其中每一輪子密鑰長度為32比特。所述加解密電路是指128比特明文和由 密鑰擴展電路產生的32輪子密鑰經過算法32輪的加解密過程得到128比特密文的電路。 所述輪控制電路是指選擇和控制密鑰擴展電路以及加解密電路中的輪數。所述的加解密電路,定義32個32比特的寄存器,分別寄存由加解密算法所產生的 32輪的輪密文,其中每一輪的輪密文為32比特,數據輸入長度為128比特,而由一個數據輸 入指示信號datajnput來確定何時送入新的128比特數據,指示信號datajnput是一個 周期為4個時鐘單元的指示信號,也即每4個時鐘單元後送入新的128比特數據。所述的加解密電路,當指示信號datajnput指示信號有效時,第一組128比特數 據送入加解密電路中,經過32個時鐘單元可獲得第一組128比特數據的密文,再經4個時 鍾單元即可獲得第二組128比特數據的密文,再經4個時鐘單元即可獲得第三組128比特 數據的密文,依次類推,直到所有的數據處理完成。所述的密鑰擴展電路,定義32個32比特的寄存器,分別寄存密鑰擴展算法所產生 的32輪的子密鑰,其中每一輪的子密鑰長度為32比特,主密鑰為128比特。上述實施例只為說明本發明的技術構思及特點,其目的在於讓熟悉此項技術的人 士能夠了解本發明的內容並據以實施,並不能以此限制本發明的保護範圍。凡根據本發明 精神實質所作的等效變化或修飾,都應涵蓋在本發明的保護範圍之內。
權利要求
一種應用於無線區域網的快速加解密方法,其特徵在於包括以下步驟加密過程步驟一.將一組明文編碼以字為單位分為4個編碼字,主密鑰編碼以字為單位分為4個密鑰字;步驟二.將主密鑰編碼中第1位密鑰字至第3位密鑰字與一常量異或運算後,再作可逆變換,再與第0位密鑰字異或運算生成一個字長的第1輪子密鑰,再將第1位密鑰字至第3位密鑰字前移至第0位至第2位密鑰字的位置,將所述第1輪子密鑰移至第3位密鑰字的位置,並保留該輪子密鑰;步驟三.重複加密過程的步驟二生成31個子密鑰;步驟四.將所述第1輪子密鑰與所述一組明文編碼第1位編碼字至第3位編碼字異或運算後,再作可逆變換,再與第0位編碼字異或運算生成一個字長的第一輪密文字,再將第1位編碼字至第3位編碼字前移至第0位至第2位編碼字的位置,將所述第一輪密文字移至第3位編碼字的位置;步驟五.送入另一組明文編碼,該另一組明文編碼以字為單位分為4個編碼字,該另一組明文編碼與其上一組明文編碼間隔至少4輪時鐘周期;步驟六.對所述一組明文編碼依次按順序使用第2輪子密鑰至第32輪子密鑰重複步驟三進行31輪加密;同理,對所述另一組明文編碼依次按順序使用第1輪子密鑰至第32輪子密鑰重複步驟三進行32輪加密;步驟七.當一組明文編碼經過32輪加密後,將其第0位至第3位編碼字作反序變換,獲得密文編碼;解密過程步驟一.將一組密文編碼以字為單位分為4個密文字;步驟二.將主密鑰編碼以字為單位分為4個密鑰字;步驟三.將主密鑰編碼中第1位密鑰字至第3位密鑰字與一常量先異或運算後,再作可逆變換,再與第0位密鑰字異或運算生成一個字長的第1輪子密鑰,再將第1位密鑰字至第3位密鑰字前移至第0位至第2位密鑰字的位置,將所述第一個輪密鑰移至第3位密鑰字的位置,並保留該輪子密鑰;步驟四.重複解密過程步驟三進行32輪後,分別生成32個子密鑰;步驟五.將所述第32輪子密鑰與所述一組密文編碼第1位密文字至第3位密文字異或運算後,再作可逆變換,再與第0位密文字異或運算生成一個字長的第1輪密文字,再將第1位密文字至第3位密文字前移至第0位至第2位編碼字的位置,將所述第一輪密文字移至第3位編碼字的位置;步驟六.送入另一組密文編碼,另一組密文編碼以字為單位分為4個編碼字,該另一組密文編碼與其上一輪密文編碼間隔至少4輪時鐘周期;步驟七.對所述一組密文編碼依次按順序使用第31輪子密鑰至第1輪子密鑰重複步驟三進行31輪解密;同理,對所述另一組明文編碼依次按順序使用第32輪子密鑰至第1輪子密鑰重複步驟三進行32輪解密;步驟八.當一組密文編碼經過32輪解密後,將其第0位至第3位密文字作反序變換,獲得明文編碼。
2.根據權利要求1所述的方法,其特徵在於所述另一組明文編碼與其上一組明文編 碼間隔為4輪時鐘周期;所述另一組密文編碼與其上一組密文編碼間隔為4輪時鐘周期。
3.根據權利要求1所述的方法,其特徵在於所述解密過程中32個子密鑰通過 Register File 方式寄存。
4.根據權利要求1所述的方法,其特徵在於所述加密過程中可逆變換為T為加密過 程中可逆變換,其中T為Z322到Z322的一個可逆變換,由非線性變換τ和線性變化L複合而 成,即T(.) =L(x (.))。其中非線性變換τ 它是由4個並行的S盒構成。設輸入為A =(B1, a2, a3, a4) e (Z82)4,輸出為 B= (b1 b2, b3, b4) e (Z82)4,貝U有 (bj, b2, b3, b4) = τ (A) = (Sbox(a),Sbox(a2),Sbox(a3),Sbox(a4)) 線性變換L 非線性變換τ的輸出也即為線性變換L的輸入。設輸入為B GZ322,則有C=L(B)=B θ (Β 2) θ (Β 10) θ (Β 18) θ (Β 24),其中 << i 為 32 比特循環左移i位。
5.根據權利要求1所述的方法,其特徵在於所述解密過程中可逆變換;T'為加密過 程中可逆變換,T'為Z322到Z322的一個可逆變換,由非線性變換τ和線性變化L'複合而 成,即T(.) =L' (τ (.))。其中非線性變換τ 它是由4個並行的S盒構成。設輸入為 A= (B1, a2, a3, a4) e (Z82)4,輸出為 B= (b1 b2, b3, b4) e (Z82)4,貝U有(bj, b2, b3, b4) = τ (A) = (Sbox(a),Sbox(a2),Sbox(a3),Sbox(a4)) 線性變換L'非線性變換τ的輸出也即為線性變換L'的輸入。設輸入為Be Z322, 則有C=L'出)=3@出《13) 頃《23)系統參數!^的取值,採用ie進位表示為FK = (FK0, FK1, FK2, FK3),其中 FK0 = (A3B1BAC6),FK1 = (56AA3350),FK2 = (677D9197),FK3 = (B27022DC)固定參數 CK = (CK0, CK1, · · · ,CK31)為 32 個固定參數。
全文摘要
一種應用於無線區域網的快速加解密方法,將一組明文編碼分為4個編碼字,主密鑰編碼分為4個密鑰字;將主密鑰中第1位密鑰字至第3位密鑰字與第0位密鑰字運算生成一個字長的第一輪子密鑰,再將第1位密鑰字至第3位密鑰字前移,將所述第一輪子密鑰移至第3位密鑰字的位置;將所述第一輪子密鑰與一組明文編碼第1位編碼字至第3位編碼字與第0位編碼字運算生成一個字長的第一輪密文字,再將第1位編碼字至第3位編碼字前移,將所述第一輪密文字移至第3位編碼字的位置;送入第二輪明文編碼,另一組明文編碼以字為單位分為4個編碼字,該另一組明文編碼與其上一組明文編碼間隔至少4輪時鐘周期。該方法大大提高了加解密速度和數據吞吐量,從而擴大了使用範圍。
文檔編號H04L9/06GK101924630SQ201010272409
公開日2010年12月22日 申請日期2010年9月6日 優先權日2010年9月6日
發明者林雄鑫, 肖佐楠, 鄭茳, 鍾名富 申請人:蘇州國芯科技有限公司