一種新型超輕量級qtl分組密碼實現(xiàn)方法
【專利摘要】本發(fā)明公開了一種新型超輕量級QTL分組密碼實現(xiàn)方法,該方法通過設計新型廣義Feistel網絡結構,該結構算法克服了傳統(tǒng)Feistel網絡結構一輪迭代運算只改變一半分組數(shù)據的不足,做到一輪迭代運算改變全部分組數(shù)據。算法輪運算中F函數(shù)包含F(xiàn)1與F2函數(shù),分別采用S1與S2盒,F(xiàn)函數(shù)變換過程依次為輪密鑰加、S盒替換、P置換、S盒替換;不同的S盒、P置換只需硬件連線,構造了輕型超級S盒的F函數(shù)。算法結構高度對稱,算法解密復用加密模塊,交換加密輪密鑰使用順序就可進行解密,操作簡便,實現(xiàn)解密不需消耗額外資源。相對目前的輕量級密碼,其占用資源更小,加密性能高,能抗已知攻擊。
【專利說明】一種新型超輕量級QTL分組密碼實現(xiàn)方法
【技術領域】
[0001] 本發(fā)明涉及一種新型超輕量級QTL分組密碼實現(xiàn)方法。
【背景技術】
[0002] 分組密碼算法是用相同的密鑰進行加密和解密運算,本質上,分組密碼算法是一 種帶密鑰的有限輪迭代置換變換,將固定長度的明文經過有限輪迭代置換變換,轉換為相 同長度的密文。分組密碼算法具有速度快、易于標準化和便于軟硬件實現(xiàn)等特點,一直是資 源約束下的加密方案。分組密碼作為信息安全中的核心密碼,在物聯(lián)網應用安全領域有著 廣泛的應用。
[0003] 近年來,隨著物聯(lián)網技術快速發(fā)展,無線傳感器(WSN)和無線射頻(RFID)應用越 來越廣泛,這些設備具有硬件制造、維護成本低,網絡健壯性、自組織性強,適用性廣泛的特 點,已成為物聯(lián)網產業(yè)的關鍵組成部分。WSN和RFID基于無線網絡傳輸信息,攻擊者更容 易獲取、干擾甚至破壞信息傳輸。在這些微型計算設備中,軟硬件實現(xiàn)所需資源有著嚴格限 制,傳統(tǒng)分組密碼算法實現(xiàn)規(guī)模相對較大,不適合應用在這些資源極端受限的應用環(huán)境中, 因此密碼設計者們提出輕量級分組密碼來保證物聯(lián)網信息的安全。
[0004] 從2007年開始,國際學術界就陸續(xù)發(fā)表了一些有關輕量級分組密碼算法論文,輕 量級分組碼迅速成為國際學術界研究的一個前沿熱點問題。經過近年來的研究,目前已有 一些輕量級分組密碼算法,典型代表如 PRESENT、MIBS、Twine、Piccolo、LED、LBlock、KLEIN、 ITUbee 等。
[0005] 目前,輕量級分組密碼算法存在的問題為如下方面:(1)輕量級分組密碼算法主 要采用兩種結構:一種是SP網絡結構,該結構對稱性相對較差,加解密不相似,實現(xiàn)時消耗 的資源較多,加解密的時間也不相同。另一種是Feistel網絡結構,該結構加解密相似,實 現(xiàn)時消耗的硬件資源較少,適合在計算能力受限的環(huán)境中使用;但該結構密碼算法擴散速 度慢,一輪迭代運算中只有一半的分組進入輪函數(shù),從而只能改變一半分組數(shù)據。(2)有些 輕量級分組密碼算法解密過程較復雜,從而在實現(xiàn)算法解密時,不能完全復用加密過程模 塊,需要額外消耗資源。(3) -些輕量級分組密碼算法加密占用資源仍然過大,加密性能較 低,不便于在資源極端受限設備中實現(xiàn);并且還有一些分組密碼算法抗攻擊能力較弱,特別 是抵抗常見的差分、線性以及代數(shù)攻擊。
【發(fā)明內容】
[0006] 本發(fā)明提供了一種新型超輕量級高效的輕量級QTL分組密碼實現(xiàn)方法,其目的在 于,克服現(xiàn)有技術輕量級分組密碼算法存在如下問題:Feistel網絡結構算法,一輪迭代運 算只改變一半分組數(shù)據;算法解密過程較復雜,實現(xiàn)時需要為算法解密消耗資源;輕量級 分組密碼算法占用資源仍舊多、加密性能低且易受攻擊。
[0007] -種新型超輕量級QTL分組密碼實現(xiàn)方法,包括以下步驟:
[0008] 步驟1 :將64位明文/64位密文加載至寄存器,作為待加/解密數(shù)據,進行加/解 密運算;
[0009] 步驟2 :將所述待加/解密數(shù)據進行Nk輪迭代運算操作,輸出密文或明文,η表示 第η輪迭代,且η的初始值為1 ;
[0010] 其中,密鑰長度為64位時,Nk取值為16;密鑰長度為128位時,Nk取值為20; [0011] 將64位待加密數(shù)據X/解密數(shù)據Y從高位開始按16位一組依次分為4組,待加密 數(shù)據記作=XtlX 1X2X3,待解密數(shù)據記作:YtlY1Y 2Y3;
[0012] 每一輪迭代運算的輪密鑰為包括Kp Kp K2及K3 : 「00131 密鑰為fi4份時,衷示為k…k…......k,, k" :
【權利要求】
1. 一種新型超輕量級QTL分組密碼實現(xiàn)方法,其特征在于,包括以下步驟: 步驟1 :將64位明文/64位密文加載至寄存器,作為待加/解密數(shù)據,進行加/解密運 算; 步驟2 :將所述待加/解密數(shù)據進行Nk輪迭代運算操作,輸出密文或明文,n表示第n 輪迭代,且n的初始值為1 ; 其中,密鑰長度為64位時,Nk取值為16 ;密鑰長度為128位時,Nk取值為20 ; 將64位待加密數(shù)據X/解密數(shù)據Y從高位開始按16位一組依次分為4組,待加密數(shù)據 記作=X0X1X2X3,待解密數(shù)據記作:Y 0Y1Y2Y3 ; 每一輪迭代運算的輪密鑰為包括IV Kp K2及K3 : 密鑰為64位時,表示為k63, k62,......k:, k〇 : K〇 - {k63? k62?......k49,k48},K1 - {k47,k46,......k 33,k32}, - {k31, k3〇,......k17,k16},K3 - {k15,k14,......k 17 k〇}; 密鑰為128位時,表示為k127, k126,......k:, k〇 : 在加密運算過程中,當n為奇數(shù)時,或者在解密運算過程中,當n為偶數(shù)時,每一輪迭代 運算中: K〇 - {k127? k126?......k113? k112} j K1 - {km,k110,......k97, k96}, 一 {k95,k94,......k81,k80},K 3 - {k79, k78,......k65,k64}; 在加密運算過程中,當n為偶數(shù)時,或者在解密運算過程中,當n為奇數(shù)時,每一輪迭代 運算中: K〇 - {k63,k62,......k49,k 48},K1 - {k47,k46,......k 33,k32}, - {k31, k3〇,......k17,k16},K3 - {k15,k14,......k 17 k〇}; 加密迭代運算操作過程具體如下: 步驟1)首先,將Xtl進行F1函數(shù)變換得到X' ^,同時將X2進行F2函數(shù)變換得到X' 2 ;接 著,將X1與X' ^進行異或運算得到X/,同時將X3與X' 2進行異或運算得到X' 3 ; 其中,所述進行F1函數(shù)變換時,所使用的輪密鑰為Ktl ; 所述進行F2函數(shù)變換時,所使用的輪密鑰為K1 ; 所述F1函數(shù)與F2函數(shù)變換均為F函數(shù)變換,F函數(shù)運算過程為輪密鑰加變換一S盒替 換變換一P置換一S盒替換變換; 步驟2)首先,利用X':進行F1函數(shù)變換得到X',利用X' 3進行F2函數(shù)變換得到 X"3; 接著,將Xtl與X〃i進行異或運算得到X',同時將X2與x〃3進行異或運算,得到x〃 2; 其中,所述進行F1函數(shù)變換時,所使用的輪密鑰為K2 ; 所述進行F2函數(shù)變換時,所使用的輪密鑰為K3 ; 判斷n是否等于Nk,若不等于,貝U,令n = n+1,進入步驟3),若等于,貝U進入步驟4); 步驟3)將X' J'X' 3X〃2進行輪置換T變換,獲得輪置換T變換結果記為Xt ; 將運行結果Xt,從高位開始按16位一組依次分為4組,記作:將 At、、<依次賦值給X。、X2、X3,返回步驟1); 步驟4)將X' y。、X' 3、X〃2依次賦值給Y。、1、Y2、Y3,以Y tlY1Y2Y3作為密文輸出; 解密迭代運算過程如下: 步驟1)首先,將Ytl進行F1函數(shù)變換得到Y' ^,同時將Y2進行F2函數(shù)變換得到Y' 2 ; 接著,將Y1與Y' ^進行異或運算得到Y',,同時將Y3與Y' 2進行異或運算得到Y' 3;其中,所述進行F1函數(shù)變換時,所使用的輪密鑰為K2 ; 所述進行F2函數(shù)變換時,所使用的輪密鑰為K3 ; 所述F1函數(shù)與F2函數(shù)變換均為F函數(shù)變換,F函數(shù)運算過程為輪密鑰加變換一S盒替 換變換一P置換一S盒替換變換; 步驟2)首先,利用Y':進行F1函數(shù)變換得到Y',利用Y' 3進行F2函數(shù)變換得到 Y"3; 接著,將Yci與Y'進行異或運算得到Y',同時將Y2與Y〃3進行異或運算,得到Y〃 2 ; 判斷n是否等于Nk,若不等于,貝U,令n = n+1,進入步驟3),若等于,貝U進入步驟4); 其中,所述進行F1函數(shù)變換時,所使用的輪密鑰為Ktl ; 所述進行F2函數(shù)變換時,所使用的輪密鑰為K1 ; 步驟3)將Y' iY〃3Y〃2進行輪置換T變換,獲得輪置換T變換結果記為Yt ; 將運行結果YT,從高位開始按16位一組依次分為4組,記作:,將F/、If、 If、If依次賦值給WH; 返回步驟1); 步驟4)將Y' I、Y〃Q、Y' 3、Y〃2依次賦值給X。、X1、X2、X 3,以XtlX1X2X3作為明文輸出。
2. 根據權利要求1所述的新型超輕量級QTL分組密碼實現(xiàn)方法,其特征在于,所述步驟 2中F1函數(shù)變換中的S盒采用S1盒,F(xiàn)2函數(shù)變換中的S盒采用S 2盒; 其中,S1 盒為{C,5,6,B,9,0,A,D,3,E,F(xiàn),8,4,7,1,2}; S2 盒為{4,F(xiàn),3,8,D,A,C,0,B,5,7,E,2,6,1,9}; S :有限域F24 F24 叫一IDi = S1 (a) Ci - (Ii = S2 (Ci), O < i < 3 ; 其中,所述%和Ci是進行S盒變換前的16位數(shù)中從高位到低位的第i個4位數(shù),h和 Cli是進行S盒變換后得到的16位數(shù)中從高位到低位的第i個4位數(shù); 所述F函數(shù)中的P置換是按照每一位進行交換,輸入16位數(shù)據從高位到低位表示為p0, P1, P2, P3, P4, P5, P6, P7, P8, P9, Pltl, P11, P12, P13, P14, P15,經 P 置換將數(shù)據比特位位置交換,以 P0, P4, P8, Pl2, Pi,P5, P9, Pl3, P2, P6, PlCI,Pl4, P3, P7, Pll,Pl5 高位到低位順序數(shù)據輸出。
3. 根據權利要求1所述的新型超輕量級QTL分組密碼實現(xiàn)方法,其特征在于,所述步驟 2中輪置換T變換具體過程如下: 輪置換T變換將算法中輸入64位加/解數(shù)據劃分4個字(16位),然后做字的置換操 作;具體為進行輪置換T變換64位輸入數(shù)據從高位到低位依次劃分為4個字1\、T2及 T3,以T2、1\、Ttl及T3作為輪置換T變換運算的64位輸出數(shù)據。
【文檔編號】H04L9/06GK104333446SQ201410626240
【公開日】2015年2月4日 申請日期:2014年11月10日 優(yōu)先權日:2014年11月10日
【發(fā)明者】李浪, 劉波濤, 劉沛林, 鄧運員, 鄒祎, 余孝忠, 杜國權 申請人:衡陽師范學院