[发明专利]一种抗高阶差分功耗攻击的AES硬件实现方法在审
申请号: | 201810234498.6 | 申请日: | 2018-03-21 |
公开(公告)号: | CN108173642A | 公开(公告)日: | 2018-06-15 |
发明(设计)人: | 孙海林;高洪波;周婉婷;李磊;金瓯 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06;H04L9/00 |
代理公司: | 成都点睛专利代理事务所(普通合伙) 51232 | 代理人: | 孙一峰 |
地址: | 611731 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明属于集成电路技术领域,具体涉及一种抗高阶差分功耗攻击的AES硬件实现方法。本发明的核心思想是将复杂的非线性的Sbox分解为低维度的非线性部分和线性部分,从而减少对非线性部分加掩的复杂性。本发明的有益效果为,本发明具有抗d阶DPA攻击的效果,并且无任何的低阶泄露;算法的复杂的较低,线性部分只有O(d),非线性部分只有O(d(d‑1));并且本方法极其适合专用集成电路(ASIC)实现,非常容易就可以用折叠和插入流水的算法让其适用于不同速率的场景。 1 | ||
搜索关键词: | 差分功耗攻击 硬件实现 高阶 算法 集成电路技术 专用集成电路 核心思想 折叠 低阶 低维 泄露 流水 场景 分解 | ||
a、将AES的加密的输入明文x分为d+1个随机变量的异或和:
x=x0+x1+…+xd (1)
b、对于AES加密电路中的行移位、列混淆和轮秘钥加的模块,按照线性函数进行抗d阶加掩:
addRound(x)=addRound(x0)+addRound(x1)+…+addRound(xd) (2)
shiftRows(x)=shiftRows(x0)+shiftRows(x1)+…+shiftRows(xd) (3)
mixColumns(x)=mixColumns(x0)+mixColumns(x1)+…+mixColumns(xd) (4)
其中,shiftRows代表AES电路的行移位,mixColumns代表AES电路的列混淆,addRoundKey代表AES电路的轮密钥加;
c、对非线性部分Sbox,将其分解为低维度的非线性部分和线性部分,具体为:
c1、将Sbox分解为仿射变换Af以及GF(28)域的乘法逆Inv:
Sbox(x)=Af(Inv(x)) (5)
c2、仿射变换Af是线性运算,采用下式进行加掩:
Af(x)=Af(x0+x1+…+xd) (6)
c3、将GF(28)域的乘法逆运算降维到GF((24)2)域,降维之后获得线性部分GF(28)域映射、GF(24)的常量乘法×λ以及加法,非线性部分GF(24)的乘法逆Inv4和乘法Mult,线性部分的加掩与前述步骤同理;
c4、GF(24)的乘法Mult的加掩过程如下:
c41、设置a,b分别是两个乘数,a=a0+a1+…+ad,b=b0+b1+…+bd;
c42、设置参数i,从i=0到d,迭代执行步骤c43:
c43、设置参数j,从j=i+1到d,迭代执行:
ri,j←rand(n)
rj,i←(rj,i⊕aibj)⊕ajbi
其中r为随机数,n是随机数种子;
c44、从i=0到d,迭代执行:
ci←ajbi
c为a和b乘积的中间变量;
c45、从i=0到d,在约束条件j≠i下,迭代执行:
ci←ci⊕rj,i
c5、GF(24)的乘法逆加掩如下式:
x‑1=x14=x2x4x8 (7)
x2,x4,x8是线性的,采用线性加掩方式。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810234498.6/,转载请声明来源钻瓜专利网。