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