針對RSA之M-ary實現(xiàn)模乘余數(shù)輸入側(cè)信道攻擊的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及密碼算法分析檢測領(lǐng)域,尤其設(shè)及一種針對RSA密碼算法M-ary實現(xiàn) 的模乘余數(shù)輸入側(cè)信道能量分析攻擊的方法。
【背景技術(shù)】
[0002] 隨著信息和分析電路技術(shù)的發(fā)展,對硬件密碼電子設(shè)備的破解不再單純的停留 在協(xié)議和算法上,而是從其處理數(shù)據(jù)的過程中泄露的信息入手,進(jìn)行破解。硬件密碼電子設(shè) 備在處理信息的工程中存在能量、電磁、錯誤和時間等信息的泄露,利用該些泄露的信息對 密碼電子設(shè)備進(jìn)行攻擊,就是所謂的側(cè)信道攻擊(Side化annelAttacks),側(cè)信道攻擊可 分為能量分析攻擊、電磁攻擊和錯誤攻擊等,其中能量分析攻擊因效率較高,成為側(cè)信道的 主要手段。
[0003] 側(cè)信道能量分析攻擊是通過采集加密巧片等硬件密碼電子設(shè)備在進(jìn)行加、解密 或簽名等操作時產(chǎn)生的能量消耗,利用密碼學(xué)和統(tǒng)計學(xué)原理等,分析和破譯密鑰信息的一 種攻擊方式,側(cè)信道能量分析攻擊又分為簡單能量分析攻擊(SimplePowerAnalysis, SPA)、差分能量分析攻擊(DifferentialPowerAnalysis,DPA)和相關(guān)性能量分析攻擊 (CorrelationPowerAnalysis,CPA)。
[0004] 在側(cè)信道能量分析攻擊中,CPA和DPA相比SPA具有更強(qiáng)的攻擊性,所W能量分析 攻擊中比較常用的是CPA和DPA。
[000引 其中,DPA攻擊的過程如下; (1)隨機(jī)選擇N組不相同明文或密文Mi(iG[1,閑)進(jìn)行加/解密運(yùn)算,采集每組明 文進(jìn)行加密運(yùn)算時設(shè)備產(chǎn)生的能量曲線Ti(t)tell,…,k},其中k為能量軌跡的采樣點(diǎn) 數(shù)。
[0006](2)選擇密鑰Ki(1GQ,Q為密鑰空間),計算在Ki和Mi條件下,密碼算法進(jìn)行 加密運(yùn)算時在被攻擊點(diǎn)產(chǎn)生的中間值町,1。
[0007] 做根據(jù)中間值Di,i確定選擇函數(shù)F(Mi,Ki),根據(jù)選擇函數(shù)將Ti(t)分為兩個子集 S。和Si,定義式如下; S〇=化(t) |F(Mi,Ki)=0} Si=化(t) |F(Mi,Ki)=l} (4)計算每個采樣點(diǎn)上兩個子集的能量平均之差,巧
【主權(quán)項】
1. 針對RSA密碼算法M-ary實現(xiàn)的模乘余數(shù)輸入側(cè)信道能量分析攻擊的方法,其特征 在于,對使用M-ary實現(xiàn)的RSA密碼算法實施側(cè)信道能量分析過程中,攻擊對象為模乘余數(shù) 輸入。
2. 根據(jù)權(quán)利要求1所述的選擇模乘余數(shù)輸入值為攻擊對象進(jìn)行RSA密碼算法M-ary 實現(xiàn)的側(cè)信道能量分析的方法,其特征在于,對冪剩余計算M-ary實現(xiàn)的每輪攻擊時, 選擇模乘余數(shù)輸入作為攻擊點(diǎn),即CfC/^R/OnodN)的輸入值R/作為攻擊對象,這 里的模乘余數(shù)輸入值R/是當(dāng)?shù)趇輪時,輪指數(shù)K/長度為M bit時對應(yīng)的攻擊對象,有
3. 根據(jù)權(quán)利要求1或2所述的選擇模乘余數(shù)輸入值為攻擊對象進(jìn)行RSA密碼算法 M-ary實現(xiàn)的側(cè)信道能量分析的方法,其特征在于,選擇每輪模乘余數(shù)輸入值為對象對RSA 密碼算法的CPA側(cè)信道能量分析。
4. 根據(jù)權(quán)利要求3所述的選擇模乘余數(shù)輸入值為攻擊對象進(jìn)行RSA密碼算法M-ary實 現(xiàn)的側(cè)信道能量分析的方法,其特征在于,選擇每輪乘法輸出值為對象對RSA密碼算法的 CPA側(cè)信道能量分析步驟如下: (1)每次輸入一個底數(shù)Pp 1 e {〇, 1,…,A-1},共輸入A組;用密鑰(K,N)進(jìn)行RSA密 碼運(yùn)算,采集能量軌跡,即采集測量時間對應(yīng)的能量樣本信息,建立采樣能量消耗矩陣; (2) 選擇模乘余數(shù)輸入值作為攻擊對象; (3) 確定能量消耗相關(guān)性模型; (4) 確定攻擊對象和模型后,計算所有可能的輪指數(shù)所對應(yīng)的模乘余數(shù)輸入值,確定中 間值矩陣; (5) 利用(4)的中間值和中間值矩陣,根據(jù)相關(guān)性模型,求出仿真能量消耗值和仿真能 量消耗矩陣; (6) 計算仿真能量消耗矩陣與采樣能量消耗矩陣的線性相關(guān)系數(shù),得到每輪正確的模 乘余數(shù)輸入值,對應(yīng)可得到每輪的猜測輪指數(shù);再按輪順序的二進(jìn)制比特位將輪指數(shù)從左 到右串接起來,就得到完整的指數(shù)密鑰。
5. 根據(jù)權(quán)利要求4所述的選擇模乘余數(shù)輸入值為攻擊對象進(jìn)行RSA密碼算法M-ary實 現(xiàn)的側(cè)信道能量分析的方法,其特征在于,利用CPA進(jìn)行步驟(4)的具體步驟如下: (1)猜測第i輪M比特的指數(shù)值Ki;j=j,j G {〇,…,2M-1}; (2)用匕計算所有可能模乘余數(shù)輸入值
j e {〇,…,2M-1};再 得到中間值矩P
6. 根據(jù)權(quán)利要求4所述的選擇模乘余數(shù)輸入值為攻擊對象進(jìn)行RSA密碼算法M-ary實 現(xiàn)的側(cè)信道能量分析的方法,其特征在于,利用CPA進(jìn)行步驟(5)的具體步驟如下: (5. 1)利用能量消耗相關(guān)性模型,可將步驟⑷中所計算出的模乘余數(shù)輸入值所對應(yīng) 的仿真能量消耗為:h/=H(R/),即第及a底數(shù)第j個猜測輪指數(shù)值Kj=j對應(yīng)的仿真能量功 耗;H(X)是漢明重量模型,即計算X中比特位值為1的個數(shù); (5. 2)對A組底數(shù)進(jìn)行RSA密碼運(yùn)算,確定共2"個輪指數(shù)猜測值對應(yīng)的仿真能量消耗 矩陣為
7.根據(jù)權(quán)利要求4選擇模乘余數(shù)輸入值為攻擊對象進(jìn)行RSA密碼算法冪剩余計算M-ary實現(xiàn)的側(cè)信道能量分析的方法,其特征在于,利用CPA進(jìn)行步驟(6)的具體步驟如 下: (6. 1)對步驟⑴的采樣能量消耗矩陣 和步 驟(5)的仿真能量消耗矩陣H分別計算前者第j列和后者第t列的相關(guān)系數(shù)
;其中&1表示為第7個底數(shù)、第t個時間的對應(yīng)的采樣 能量消耗值,T為能量軌跡中的采樣時間點(diǎn)個數(shù),g為矩陣H第j列的平均值,W為矩陣W 中第t列的平均值,Pp表示第1個猜測密鑰對應(yīng)的仿真能量消耗與第t個時間點(diǎn)采樣能量 消耗之間的線性相關(guān)系數(shù); (6. 2)計算所有列與列之間的相關(guān)系數(shù),則得到了仿真能量消耗和實際采樣能量消耗 間的相關(guān)矩P選取R中的最大值v=max(r1; t), 1\^對應(yīng)的第i輪猜測輪指數(shù)Ku1為
止確輪指數(shù); (6. 3)每一輪均可攻擊出一個輪指數(shù),S輪共攻擊出S個輪指數(shù);將這S個輪指數(shù)按照 輪順序用二進(jìn)制從左到右鏈接起來,即獲得完整指數(shù)。
【專利摘要】本發(fā)明公開了一種針對RSA密碼算法M-ary實現(xiàn)的模乘余數(shù)輸入側(cè)信道能量分析攻擊的方法,其核心在于模冪計算用M-ary實現(xiàn)時,以模乘余數(shù)輸入作為攻擊對象實施CPA攻擊。包括以下步驟:(1)采集信號,建立采樣矩陣;(2)選擇模乘余數(shù)輸入作為攻擊對象;(3)確定相關(guān)性模型;(4)猜測輪指數(shù)值,計算出中間值矩陣;(5)計算仿真能量消耗矩陣;(6)計算(1)中對應(yīng)測量點(diǎn)和(5)所確定矩陣之間的線性相關(guān)系數(shù),攻擊出所有輪正確的模乘余數(shù)輸入值。查找得到對應(yīng)所有正確的輪指數(shù),串接后得到完整指數(shù)。本發(fā)明的方法給出了一種新的M-ary側(cè)信道攻擊方法,增強(qiáng)了RSA密碼算法分析攻擊的靈活性、有效性和成功率。
【IPC分類】H04L9-06
【公開號】CN104811297
【申請?zhí)枴緾N201510196202
【發(fā)明人】吳震, 杜之波, 饒金濤, 王敏, 李大為, 羅鵬, 趙東艷, 張海峰, 唐曉柯, 胡曉波, 甘杰, 劉輝志
【申請人】成都信息工程學(xué)院, 成都芯安尤里卡信息科技有限公司, 國家密碼管理局商用密碼檢測中心, 北京南瑞智芯微電子科技有限公司
【公開日】2015年7月29日
【申請日】2015年4月23日