3期
李玮等:物联网环境下LED轻量级密码算法的安全性分析437
状态逐列进行变换,通过与矩阵
分别为密文、错误密文、差分密文,K (Z:)16为原
始密钥,K,、K。 (z;)16为子密钥.
1
5
1
6
4
8
2
6
记MC一1为第r轮AddConstants运算的输入,
AC7为第r轮SubCells运算的输入,SC7为第r轮
ShiftRows运算的输入,SR7为第r轮Mix-Columns—
Serial运算的输入,其中,1Gr z.
B E
A
F
2
2
F B
相乘实现.
LED一64和LED一128的加密过程分别如算法1、
算法2所示,轮数z分别为32轮、48轮.
记AMC一1为第r轮AddConstants运算的差
分输入,△AC’为第r轮SubCells运算的差分输入,
ASC’为第r轮ShihRows运算的差分输入,ASR’
为第r轮MixColumnsSerial运算的差分输入,其
中,1 ,. Z.
算法1.LED一64加密过程.
输入:X,K
输出:y
S丁ATE—X:
for口=1 tO
8
do
记AddConstants一1、SubCells一1、ShiftRows一1
STATE=AddRoundKey(STA咂,K1);
for 6—1 to 4 do
和MixColumnsSerial叫分别为AddConstants运
算、SubCells运算、ShihRows运算和MixColumns-
Serial运算的逆运算.
STATE—M[ixColumnsSerial(ShiftLROWS
(SubCells(A。ddConstants(STA丁E))));
end for
此外,第r轮SubCells运算的差分输入和差分
输出满足
end for
y—AddRoundKey(STATE,K1).
JN(△ACi,ASCi)一{ACiIAC; Z;,
算法2. LED一128加密过程.
输入:X,K
S(AC;)oS(ACi④△ACi)一ASCi,
0 i 15,1 r Z},
输出:y
其中,S表示4× 4的S盒变换.
S丁ATE—X:
for口一1 to 6 do
4.2基本假设和故障模型
STATE—AddRoundKey(STATE,K1);
本文采用的差分故障攻击的基本假设为:对同
一个明文,我们可以获得在同一个密钥作用下的正
确密文和错误密文.
for 6—1 tO 4
do
STATE—MixColumnsSerial(ShiftR',ows(SuhC‘ells
(Ac|dConstants(STATE))));
end for
LED算法采用半字节为基本单位的运算,因此,
我们采用面向半字节的随机故障模型,诱发加密算
法中单轮运算存储的单元发生4bit的随机错误,而
且无需知道具体错误位置和错误值.在本节中,单轮
运算的轮数指LED一64算法中的倒数第3轮,或
STATE—AddRoundKey(STATE,K2);
for 6—1 to 4 do
S丁ATE—MixColumnsSerial(ShiftR:ows(SubCells
(AddC;onstants(STATE))));
end for
LED一128算法中的倒数第3轮和倒数第7轮.
4.3基本步骤
end for
y—AddRoundKey(SZATE,K1).
1.选择任一明文进行加密,获得该明文对应的正确密文.
2.当LED算法的加密过程运行到倒数第3轮运算时,
在此轮进行故障诱导,并获得错误密文.结合差分分析,能够
恢复出该轮子密钥的部分信息;重复这一环节,直至完全恢
复出子密钥K,.如果原始密钥为64bit,转向步4;否则,转向
步3.
3.3密钥编排方案
在LED一64算法中,K通过密钥编排方案生成
了K。,它们的关系为
K=K,.
在LED一128算法中,K通过密钥编排方案生
成了K。和K。,它们的关系为
K—Kl|I K。.
3.选择相同明文和原始密钥再次进行加密,当加密过
程运行到倒数第7轮时,对此轮进行随机故障诱导,从而获
得错误密文.然后,利用步2中已经恢复出的子密钥K。,对
最后4轮进行解密;由解密得到的中间值,结合差分分析,恢
复出该轮子密钥的部分字节信息;重复这一过程,直至完全
恢复出子密钥K:.
4
LED密码的差分故障攻击方法
4.1基本记号和符号
记X (z:)16为明文输入,y、y+、△y (Z;)16
4.使用已经恢复出子密钥,根据密钥编排方案,计算出
万方数据
全部评论(0)