[发明专利]一种利用DPA曲线极性进行密钥提取的方法及系统有效
申请号: | 201010239907.5 | 申请日: | 2010-07-26 |
公开(公告)号: | CN101908111A | 公开(公告)日: | 2010-12-08 |
发明(设计)人: | 唐明;伍前红;张焕国;高思;窦青;沈菲;李渡;张驭宇;王国熹 | 申请(专利权)人: | 武汉大学 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 武汉科皓知识产权代理事务所(特殊普通合伙) 42222 | 代理人: | 张火春 |
地址: | 430072*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 dpa 曲线 极性 进行 密钥 提取 方法 系统 | ||
1.一种利用DPA曲线极性进行密钥提取的方法,其特征在于,包括以下步骤:
测试要攻击的芯片,获得AES在该芯片上的具体实现情况下,每个bit产生DPA峰值的极性,获得攻击位置每个bit的DPA峰值极性;
利用明文,对加密过程的中间状态进行划分,得出峰值极性;
通过原始DPA极性数组与攻击DPA极性数组进行异或,从而得到密钥。
2.根据权利要求1所述的利用DPA曲线极性进行密钥提取的方法,其特征在于:
所述测试要攻击的芯片,获得AES在该芯片上的具体实现情况下,每个bit产生DPA峰值的极性,获得攻击位置每个bit的DPA峰值极性的步骤进一步包括以下子步骤:
①密钥寄存器清零或已知密钥值K;
②生成随机明文,利用芯片加密,记录功耗曲线组P[1..M][1..N]
其中,N为功耗曲线上的采样点数,M为功耗曲线条数,每条曲线上有N个采样点,一共记录M组功耗曲线;
③由于已知Plain[i]和K[127:0]相当于已知X[i][127:0],利用X[i][j]做划分,得到曲线集合P1{P[i][1..N]|X[i][j]=1}和P0{P[i][1..N]|X[i][j]=0},其中,X表示加密过程的中间状态,i表示使用的明文-功耗分组,j表示攻击的bit,Plain为明文,K表示密钥。
④计算ΔDj,获得bitj对应的DPA曲线以及峰值的极性,其中ΔDj表示第j bit DPA攻击所得到的DPA峰值;
⑤重复步骤③、④,得到全部128bit峰值极性,记做原始DPA极性数组pole[127:0]。
3.根据权利要求1所述的利用DPA曲线极性进行密钥提取的方法,其特征在于:
所述利用明文,对加密过程的中间状态进行划分,得出峰值极性的步骤进一步包括以下子步骤:
①生成随机明文,利用芯片加密,记录功耗曲线组P[1..M][1..N]
其中,N为功耗曲线上的采样点数,M为功耗曲线条数,每条曲线上有N个采样点,一共记录M组功耗曲线;
②由于由于Plain已知,利用Plain[j]做划分,得到曲线集合P0{P[i][1..N]|Plain[i][j]=0}和P0{P[i][1..N]|Plain[i][j]=0},其中,X表示加密过程的中间状态,i表示使用的明文-功耗分组,j表示攻击的bit;
③计算ΔDj_P,获得bitj对应的DPA曲线以及峰值的极性,ΔDj_P表示用Plain划分得到的ΔDj;
④重复步骤③、④,得到全部128bit峰值极性,记做pole_Attack[127:0]
其中,pole_Attack表示攻击DPA极性数组。
4.根据权利要求2或3所述的利用DPA曲线极性进行密钥提取的方法,其特征在于:所述通过原始DPA极性数组与攻击DPA极性数组进行异或,具体为:直接用获得密钥。
5.一种利用DPA曲线极性进行密钥提取的系统,其特征在于,包括:
第一模块,用于测试要攻击的芯片,获得AES在该芯片上的具体实现情况下,每个bit产生DPA峰值的极性,获得攻击位置每个bit的DPA峰值极性;
第二模块,用于利用明文,对加密过程的中间状态进行划分,得出峰值极性;
第三模块,用于通过原始DPA极性数组与攻击DPA极性数组进行异或,从而得到密钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉大学,未经武汉大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010239907.5/1.html,转载请声明来源钻瓜专利网。