一種抵禦能量分析攻擊的aes對稱互補型硬體實現方法
2023-10-11 03:33:49
一種抵禦能量分析攻擊的aes對稱互補型硬體實現方法
【專利摘要】一種抵禦能量分析攻擊的AES對稱互補型硬體實現方法,包括步驟:設置與AES初始輸入邏輯上完全互補的初始值、設置與AES每輪子密鑰邏輯上完全互補的初始值、進行操作、進行操作、進行操作、⑥進行操作。本發明保證每輪的中間變量漢明比重一樣,而且證任意兩輪之間的中間變量漢明距離總是為0,在RTL級別上實施的抵禦能量分析攻擊的方法,便於實現,無需定製互補型邏輯門邏輯,對於後端的布線布局沒有影響,無需考慮負載平衡、導線互連等物理問題。
【專利說明】一種抵禦能量分析攻擊的AES對稱互補型硬體實現方法
【技術領域】
[0001] 本發明屬於信息安全晶片設計【技術領域】,具體為一種抵禦能量分析攻擊的AES對 稱互補型硬體實現方法,廣泛應用於高度安全性的加密運算設備。
【背景技術】
[0002] 隨著網絡的不斷普及,社會信息化程度的日益提高,信息安全的重要性已經逐步 凸現出來。加密作為信息安全中一個最為有力的武器,正在發揮著重要的作用。Advanced Encryption Standard(以下縮寫為AES)加密算法在成為高級加密標準到今天,經歷了長 期的考驗。
[0003] 任何安全產品或者密碼系統都必須面對一個如何防禦攻擊和窺測的問題,近些年 來,出現了一種新的強有力的攻擊方法,人們稱之為旁路攻擊(SCA)。旁路攻擊就是利用密 碼晶片在運行過程中洩露的旁路信息,諸如功耗、時間、電磁波、以及差錯信息等,利用上述 信息對密碼系統進行攻擊和窺測。旁路攻擊已成為信息安全晶片產品的巨大威脅,其危害 遠遠大於傳統的數學分析手段。
[0004] 功耗攻擊是旁路攻擊的一種,利用密碼晶片執行加密運算時消耗的功耗來對密鑰 進行攻擊。晶片在處理不同運算的時候所消耗的功耗是不同的,即使處理同一條指令操作 數不同功耗也是不一樣的,因此對功耗進行分析,可以推算出密鑰來。功耗攻擊分為簡單功 耗分析攻擊(SPA)和差分功耗分析攻擊(DPA),其中DPA攻擊更有效,應用領域更廣泛。
[0005] DPA攻擊的原理是利用被攻擊設備在加密過程中所實際消耗的功耗與加密算法中 間值的相關性,從而得出密鑰的一種攻擊方法。根據輸入的明文和猜測的密鑰,加密算法的 中間值總是可以計算的。因此對抗能量分析攻擊方法的研究就變得非常地有必要。
[0006] Kris Tiri在2004年首次提出了抗能量分析攻擊的WDDL (波動動態差分邏輯)技 術(見K.Tiri and I. Verbauwhede, "A logic level design methodology for a secure DPA resistant ASIC or FPGA implementation, 〃in Design, Automation and Test in Europe Conference and Exhibition, 2004. Proceedings, 2004, pp. 246_251Vol· 1) 〇 該技 術將兩個互補型的邏輯門組成一個複合型的邏輯門,來達到能量消耗的平衡。WDDL技術由 於從產生能量不平衡的根源出發,採用互補性邏輯門代替普通單個的邏輯門,可以從根源 上抵禦能量分析攻擊。因此它是一種通用的抵制能量分析攻擊的方法,不需要考慮具體的 算法。但是,WDDL電路在設計上存在許多難點,以至於WDDL僅僅停留在理論上,而沒有大 規模地應用到晶片量產。採用WDDL電路,後端的布局布線必須使用手工完成,這將會耗費 大量的時間和精力。沒有成熟的EDA軟體的支持,是WDDL電路不能大規模量產的一個重要 的原因。
【發明內容】
[0007] 本發明要解決的技術問題是在RTL(寄存器傳輸級)級上提供一種抵禦能量分析 攻擊的AES對稱互補型硬體實現方法,採用目前通用的商業EDA軟體即可完成晶片設計的 流程,起到類似WDDL電路的效果。
[0008] 本發明原理如下:
[0009] 本發明採用一種與AES算法引擎完全互補的算法引擎,稱為CAES。AES引擎與CAES 引擎相當於WDLL邏輯中兩個相互補償的單元。記IAES、ICAES分別為AES和CAES算法引擎中 相對應的中間變量,在任何時候總有下面的關係成立:
[0010] IaeS = Icaes ( 1 )
[0011] 通過公式(1)可以看出本發明採用的AES與CAES互補型設計可以保證整個算法 弓丨擎在任何時刻的漢明比重與漢明距離相同,可以有效地起到抵禦能量分析攻擊的目的。
[0012] 本發明的技術解決方案如下:
[0013] 一種抵禦能量分析攻擊的AES對稱互補型硬體實現方法,其特點在於,該方法包 括如下步驟:
[0014] ①設置與AES初始輸入邏輯上完全互補的初始值;
[0015] ②設置與AES每輪子密鑰邏輯上完全互補的初始值;
[0016] ③利用步驟①和步驟②輸入的初始值,進行與AES中Addkey操作邏輯上完全互補 的操作;
[0017] ④進行與AES中Subbyte操作邏輯上完全互補的Subbyte操作;
[0018] ⑤進行與AES中Shiftrow操作邏輯上完全互補的5?訴raw操作;
[0019] ⑥進行與AES中Mixcolumn操作邏輯上完全互補的操作。
[0020] 與現有技術相比,本發明具有以下有益效果:
[0021] 首先,AES與CAES的每一個中間變量都在邏輯上互補,不僅可以保證每輪的中間 變量漢明比重一樣,而且可以保證任意兩輪之間的中間變量漢明距離總是為0。
[0022] 其次,本發明是在RTL級別上實施的抵禦能量分析攻擊的方法,便於實現,無需定 制互補型邏輯門邏輯。再者,由於是RTL級別上的方法,對於後端的布線布局沒有影響,無 需考慮負載平衡、導線互連等物理問題。
【專利附圖】
【附圖說明】
[0023] 圖1AES與互補型CAES硬體實現方案。
[0024] 圖2計算GF ((24)2)域上乘法逆。
[0025] 圖3AES Sbox能量分析攻擊。
[0026] 圖4AES與CAES互補型Sbox能量分析攻擊。
【具體實施方式】
[0027] 下面結合實施例和附圖對本發明做詳細的說明,本實施例在以本發明技術方案為 前提下進行實施,給出了詳細的實施方式和具體的操作過程,但本發明的保護範圍不限於 下述的實施例。
[0028] 圖1是本發明AES與互補型CAES硬體實現方案,AES與CAES互補性的存在,AES 與CAES的初始輸入與每輪運算的子密鑰邏輯互補,且內部的操作完全互補,保證了 AES引 擎與CAES引擎任何變量的漢明比重與漢明距離相同,從而起到能量的動態平衡。詳細地:
[0029] 1、AES初始輸入DIN與CAES初始輸入萬尿邏輯上完全互補,作為Addkey操作的 其中一個輸入。
[0030] 2、AES每輪子密鑰roundkey與CAES每輪子密鑰/O〃wi/<v邏輯上完全完全互補, 作為Addkey操作的其中一個輸入。
[0031] 3、AES其中的Addkey操作與CAES其中的Addkey操作邏輯上完全互補,又因為它 們的輸入完全互補,所以它們的輸出完全互補,且Addkey操作的輸出作為下一輪的輸入或 者作為最後的結果(最後一輪)輸出。
[0032] 將AES其中的Addkey操作輸入數據記為列向量[bQ,& b2, b3, b4, b5, b6, b7]T,輪密 鑰記為列向量[kQ, kp k2, k3, k4, k5, k6, k7]T,輸出記為列向量[cQ, q,c2, c3, c4, c5, c6, c7]T,異或 操作記為" ~ 則AES的Addkey操作可以表示為:
[0033]
【權利要求】
1. 一種抵禦能量分析攻擊的AES對稱互補型硬體實現方法,其特徵在於,該方法包括 如下步驟: ① 設置與AES初始輸入邏輯上完全互補的初始值; ② 設置與AES每輪子密鑰邏輯上完全互補的初始值; ③ 利用步驟①和步驟②輸入的初始值,進行與AES中Addkey操作邏輯上完全互補的 A/i/kv 操作; ④ 進行與AES中Subbyte操作邏輯上完全互補的操作; ⑤ 進行與AES中Shiftrow操作邏輯上完全互補的57?訴/'ou'操作; ⑥ 進行與AES中Mixcolumn操作邏輯上完全互補的操作。
2. 根據權利要求1所述的抵禦能量分析攻擊的AES對稱互補型硬體實現方法,其特徵 在於,所述的步驟③操作,具體如下: 將步驟①得到的輸入數據記為列向量[b'0 ν,b'2, V,b'4, V,b'6,b' 7]τ,將步驟② 得到的輪密鑰記為列向量[k'。,V,k' 2, k3',k' 4, k5',k' 6, k' 7]τ,輸出記為列向量[C'。,Cl',c ' 2, c' 3, c' 4, c' 5, c' 6, c' 7]τ,同或操作記為"·'?",公式如下:
3. 根據權利要求1所述的抵禦能量分析攻擊的AES對稱互補型硬體實現方法,其特徵 在於,所述的步驟④^^操作,包含以下兩個變換: 變換1 :與AES完全互補的乘法逆運算。 變換2 :與AES完全互補的仿射變換。
4. 根據權利要求3所述的抵禦能量分析攻擊的AES對稱互補型硬體實現方法,其特徵 在於,所述的與AES完全互補的乘法逆運算,包括以下三個步驟: 步驟1 :將GF(28)上的數據轉換成GF(24)上的數據:記GF(28)的數據為列向量 [X。,Xi, x2, x3, x4, x5, x6, χ7]τ,轉換為 GF(24)上的數據記為列向量[al, ah]T = [al。,ali, al2, a 13, ahQ, ah^ ah2, ah3]T,則轉換的公式如下:
步驟2: CAES複合域GF( (24)2)上的求逆,公式如下: ahxc = ahs ?λ alxe 二{ah ?八("、}? η! gama = ahxe ?"alxe theta = gama1 aph = (hc(a ? ah apl = theia?('ah ?Aal) 式中,"S"表示CAES中GF (24)域上的平方操作,"(8)"表示CAES中GF (24)域上的乘法 操作,"I"表示CAES中GF(24)域上的求逆運算; 步驟3 :將GF (24)的數據再轉換到GF (28),公式如下:
5.根據權利要求4所述的抵禦能量分析攻擊的AES對稱互補型硬體實現方法,所述的 與AES完全互補的仿射變換,公式如下:
6.根據權利要求1所述的抵禦能量分析攻擊的AES對稱互補型硬體實現方法,其特徵 在於,所述的步驟⑥Μ/?〃訓操作定義如下:
【文檔編號】H04L29/06GK104092533SQ201410312769
【公開日】2014年10月8日 申請日期:2014年7月2日 優先權日:2014年7月2日
【發明者】朱念好, 周玉潔, 劉紅明 申請人:上海交通大學