轻量级分组密码KeeLoq的故障攻击(详细摘要)
KeeLoq算法是20世纪80年代设计的分组密码算法,采用了广义的Feistel结构,分组长度为32比特,密钥长度为64比特,它的核心组件是含有5个变量的非线性函数.在FDTC2009上,Paar等人在特邀报告中对KeeLoq算法的侧信道攻击做了总结.他们指出,KeeLoq算法主要是运行在低能耗的微处理器平台上,因此在加密过程中导入错误是可以实现的(例如通过电压突变),但还没有针对KeeLoq算法的故障攻击.事实上在2008年中国密码年会上,李琳等人第一次用差分故障攻击的方法攻击了KeeLoq算法,采用面向比特的差分故障攻击方法,在选择明文的基础上,恢复1比特密钥信息平均需要11个错误.本文采用面向字节的差分故障攻击方法,利用KeeLoq算法的两个性质,分别在第505,513和521轮的三个不同轮输入上导入随机字节错误,并记录相应的错误密文.比较正确密文和错误密文,检测出有效的故障诱导.对于有效的故障诱导,利用正确密文和错误密文的差分和KeeLoq算法的性质,恢复出轮密钥.
分组密码 KeeLoq算法 故障攻击 密钥恢复
游建雄 李瑞林 李超
国防科技大学理学院 数学与系统科学系 长沙 410073 国防科技大学理学院 数学与系统科学系 长沙 410073;中科院软件所 信息安全国家重点实验室 北京 100190
国内会议
北京
中文
69-71
2010-10-16(万方平台首次上网日期,不代表论文的发表时间)