应用代数故障分析方法,对Piccolo密码抗故障攻击安全性进行了评估.首先利用代数方法建立Piccolo密码等效布尔方程组;然后通过故障攻击手段获取故障密文并将故障注入差分进行表示,给出了一种故障注入位置未知情况下的故障差分布尔方程组表示方法;最后使用CryptoMiniSAT解析器求解联立方程组恢复密钥.结果表明,代数故障分析相比传统差分故障分析具有以下优点:(1)在线故障注入较少,在Piccolo-80第23轮注入4bit故障,1次故障注入即可恢复80位密钥;(2)离线分析方法简单,无需结合算法和故障模型判断故障位置,执行繁琐的故障差分传播分析,自动化程度较高;(3)计算资源利用率高,可将故障攻击下的密钥恢复转化为代数方程求解问题,充分利用计算资源;(4)通用性较好,可扩展到宽度故障模型、深度故障模型、其它版本的Piccolo密码以及多种分组密码,有望成为评估分组密码抗故障攻击能力的通用方法.
The security of Piccolo is evaluated under the algebraic fault analysis(AFA).Firstly,Piccolo is described as a set of algebraic equations.The faulty ciphertext is generated via fault injections and then the fault differences are also represented with algebraic equations even when the locations of the fault injections are unknown.Finally,the CryptoMinisat solver is applied to solve for the key.The simulation experiments demonstrate that: compared with the traditional differential fault analysis(DFA),the number of fault injections that required in AFA is smaller,only a single fault injection at the 23-rd round is enough to break Piccolo-80;the procedure of AFA is quite simple,in contrast to DFA,the adversaries do not need to judge the accurate fault locations and carry out the complicated manual analysis on the targeted algorithms and fault models;the utilization ratio of computing resources is high,since the key recovery in fault attacks can be converted into the problem of solving algebraic equations,the adversaries can fully utilize the computing resources;the technique of AFA is generic,the attack can be easily extended to wide fault models,deep fault model,other variants of Piccolo and other block ciphers.This paper shows that AFA is very promising to become a generic methodology to evaluate the security of block ciphers against fault attacks.