Des輪運(yùn)算方法和電路的制作方法
【專利摘要】本發(fā)明涉及一種DES輪運(yùn)算方法,包括:在DES流程中,對只涉及位置交換或簡單布爾運(yùn)算的線性運(yùn)算,采用異或操作來進(jìn)行掩蔽和恢復(fù)數(shù)據(jù);對非線性運(yùn)算的S盒,設(shè)計(jì)出不同電路結(jié)構(gòu)、運(yùn)算時功耗曲線各不相同的S盒,通過隨機(jī)選擇數(shù)據(jù)通路上S盒的排列,從而使得DES中S盒運(yùn)算的功耗隨機(jī)化。本發(fā)明使攻擊者在數(shù)據(jù)通路上無法觀測到加解密過程的真實(shí)數(shù)據(jù),同時由于功耗隨機(jī)化,統(tǒng)計(jì)分析密鑰也變得非常困難,能夠不改變DES的電路結(jié)構(gòu)、以小的代價(jià)提高DES電路抵御功耗分析攻擊的能力。
【專利說明】DES輪運(yùn)算方法和電路
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及通信領(lǐng)域,尤其涉及一種DES輪運(yùn)算方法和電路。
【背景技術(shù)】
[0002] DES (Data Encryption Standard)是一種對稱加密算法,1972年由美國IBM公司 研制。明文按64位進(jìn)行分組,密鑰長64位,密鑰事實(shí)上是56位參與DES運(yùn)算,分組后的 明文組和56位的密鑰按位替代或交換的方法形成密文組的加密方法。它是使用最廣泛的 密鑰系統(tǒng),特別是在保護(hù)金融數(shù)據(jù)的安全中。
[0003] DES算法在P0S機(jī)、ATM、磁卡及智能卡被廣泛應(yīng)用,以此來實(shí)現(xiàn)關(guān)鍵數(shù)據(jù)的保密。 但在輸入信息和密鑰進(jìn)行處理的過程中,設(shè)備會產(chǎn)生能量消耗或者電磁輻,這些信息夠被 用來分析獲取機(jī)密信息。這種攻擊方法叫做旁路攻擊(SideChannel Attack),它是指攻擊 者通過測量實(shí)際應(yīng)用的密碼系統(tǒng)在運(yùn)行過程中泄漏的一些旁路信息,如系統(tǒng)的時間、功耗、 電磁輻射等,然后經(jīng)過相關(guān)性分析、統(tǒng)計(jì)處理等分析處理,即可成功獲取加密密鑰等機(jī)密信 息。其中最具威脅的攻擊方法是功耗分析。常用的功耗分析的方法有簡單功耗分析(SPA, Simple Power Analysis)、差分功耗分析(DPA,Differential Power Analysis)、相關(guān)功耗 分析(CPA, correlation power analysis) 〇
【權(quán)利要求】
1. 一種DES輪運(yùn)算方法,其特征在于,該方法包括如下步驟: a. 采用隨機(jī)數(shù)X,對任一 32位的半塊數(shù)據(jù)第Ri-Ι回次處理得到的數(shù)據(jù)進(jìn)行掩蔽,i為 小于17的自然數(shù); b. 對掩蔽后的數(shù)據(jù)進(jìn)行擴(kuò)展運(yùn)算E,同時對所述隨機(jī)數(shù)X也進(jìn)行擴(kuò)展運(yùn)算E,得到 E(X); c. 將所述對掩蔽后的數(shù)據(jù)進(jìn)行擴(kuò)展運(yùn)算E得到的數(shù)據(jù)、E(X)和輪密鑰同時進(jìn)行異或, 得到進(jìn)入S盒陣列的值; d. 對所述進(jìn)入S盒陣列的值,進(jìn)行S盒運(yùn)算,所述S盒陣列,由8個分別從N種不同電 路結(jié)構(gòu)的S盒中隨機(jī)選擇的S盒構(gòu)成,N為不小于3的自然數(shù); e. 將經(jīng)過所述S盒運(yùn)算后輸出的數(shù)據(jù),與所述隨機(jī)數(shù)X進(jìn)行異或; f. 對所述S盒運(yùn)算后輸出的數(shù)據(jù)與所述隨機(jī)數(shù)X進(jìn)行異或后得到的數(shù)據(jù),進(jìn)行置換運(yùn) 算P,同時對所述隨機(jī)數(shù)X也進(jìn)行置換運(yùn)算P,得到P(X); g. 將對所述S盒運(yùn)算后輸出的數(shù)據(jù)與所述隨機(jī)數(shù)X進(jìn)行異或后得到的數(shù)據(jù)進(jìn)行置換運(yùn) 算P后獲得的數(shù)據(jù)、P(X)和另一 32位的半塊數(shù)據(jù)第Li-Ι回次處理得到的數(shù)據(jù),同時進(jìn)行 異或,得到進(jìn)入第Ri回次處理的值。
2. 如權(quán)利要求1所述的方法,其特征在于,所述的步驟a包括: al.對任一 32位的半塊數(shù)據(jù)第Ri-Ι回次處理得到的數(shù)據(jù),即數(shù)據(jù)通路上的操作數(shù)A, 經(jīng)過線性運(yùn)算,得到結(jié)果為R,R = 〇P(A),其中0P表示加解密過程的中間操作; a2.采用所述隨機(jī)數(shù)X通過異或來運(yùn)算,產(chǎn)生新的操作數(shù)B,B = A ? X,其中?表示異 或操作; a3.用所述新的操作數(shù)B代替A進(jìn)行加解密運(yùn)算,得到結(jié)果為T,T = 0P⑶= OP(A ? X); a4.所述隨機(jī)數(shù)X進(jìn)行同樣的操作,得到結(jié)果為S,S = OP(X)。
3. 如權(quán)利要求1或2所述的方法,其特征在于,所述的步驟b包括: bl.通過擴(kuò)展運(yùn)算E,將所述掩蔽后的數(shù)據(jù)由32位擴(kuò)展為48位,并輸出包括8個6位 的塊,每塊包含4位對應(yīng)的輸入位,以及2個鄰接的塊中緊鄰的位。
4. 如權(quán)利要求1或2所述的方法,其特征在于,所述輪密鑰為利用密鑰調(diào)度從主密鑰生 成的16個48位的子密鑰之一,所述每個子密鑰用于1個回次處理。
5. 如權(quán)利要求1或2所述的方法所述的方法,其特征在于,所述的不同電路結(jié)構(gòu)的S 盒,包括SOP、PPRM和DSE結(jié)構(gòu)的S盒。
6. 如權(quán)利要求5所述的方法,其特征在于,所述所述S盒陣列,由8個分別通過隨機(jī)選 通器從N種不同電路結(jié)構(gòu)的S盒中隨機(jī)選擇的S盒構(gòu)成。
7. 如權(quán)利要求1或2所述的方法,其特征在于,所述的步驟d包括: dl.所述每一個S盒,使用以查找表方式提供的非線性變換,將所述進(jìn)入S盒陣列的值 中每個塊的6個輸入位轉(zhuǎn)換成4個輸出位。
8. 如權(quán)利要求7所述的方法,其特征在于,所述的步驟d包括: d2.所述每一個S盒,將所述進(jìn)入S盒陣列的值中每個塊的6個輸入位轉(zhuǎn)換成4個輸出 位后的得到的數(shù)據(jù),通過多路選擇器輸出。
9. 一種DES輪運(yùn)算電路,其特征在于,該輪運(yùn)算電路包括掩蔽模塊、擴(kuò)展運(yùn)算模塊、第 一異或運(yùn)算模塊、S盒陣列、第二異或運(yùn)算模塊、置換運(yùn)算模塊、第三異或運(yùn)算模塊,其中: 所述掩蔽模塊用于采用隨機(jī)數(shù)X,對任一 32位的半塊數(shù)據(jù)第Ri-Ι回次處理得到的數(shù)據(jù) 進(jìn)行掩蔽; 所述擴(kuò)展運(yùn)算模塊用于對掩蔽后的數(shù)據(jù)進(jìn)行擴(kuò)展運(yùn)算E,同時對所述隨機(jī)數(shù)X也進(jìn)行 擴(kuò)展運(yùn)算E,得到E(X); 所述第一異或運(yùn)算模塊用于將所述對掩蔽后的數(shù)據(jù)進(jìn)行擴(kuò)展運(yùn)算E得到的數(shù)據(jù)、E (X) 和輪密鑰同時進(jìn)行異或,得到進(jìn)入S盒陣列的值; 所述S盒陣列用于對所述進(jìn)入S盒陣列的值,進(jìn)行S盒運(yùn)算,所述S盒陣列,由8個分 別從N種不同電路結(jié)構(gòu)的S盒中隨機(jī)選擇的S盒構(gòu)成,N為不小于3的自然數(shù); 所述第二異或運(yùn)算模塊用于將經(jīng)過所述S盒運(yùn)算后輸出的數(shù)據(jù),與所述隨機(jī)數(shù)X進(jìn)行 異或; 所述置換運(yùn)算模塊用于對所述S盒運(yùn)算后輸出的數(shù)據(jù)與所述隨機(jī)數(shù)X進(jìn)行異或后得到 的數(shù)據(jù),進(jìn)行置換運(yùn)算P,同時對所述隨機(jī)數(shù)X也進(jìn)行置換運(yùn)算P,得到P(X); 所述第三異或運(yùn)算模塊用于將對所述S盒運(yùn)算后輸出的數(shù)據(jù)與所述隨機(jī)數(shù)X進(jìn)行異或 后得到的數(shù)據(jù)進(jìn)行置換運(yùn)算P后獲得的數(shù)據(jù)、P(X)和另一 32位的半塊數(shù)據(jù)第Li-Ι回次處 理得到的數(shù)據(jù),同時進(jìn)行異或,得到進(jìn)入第Ri回次處理的值。
10.如權(quán)利要求9所述的電路,其特征在于,所述的不同電路結(jié)構(gòu)的S盒,包括SOP、 PPRM和DSE結(jié)構(gòu)的S盒。
【文檔編號】H04L9/06GK104301095SQ201410537830
【公開日】2015年1月21日 申請日期:2014年10月13日 優(yōu)先權(quán)日:2014年10月13日
【發(fā)明者】陳毅成, 張明宇, 龔明楊 申請人:深圳中科訊聯(lián)科技有限公司