功耗攻击成功率会受到很多因素的影响,包括不同的语言的实现方式.以PRESENT算法为研究对象、STC90C58AD微控制器作为硬件仿真平台,针对在同一环境下使用C语言和汇编语言实现的PRESENT算法,分别实施了相关功耗攻击.实验结果表明:使用C语言实现的PRESENT算法泄露的功耗信息有限,使用4000条功耗曲线不能通过相关功耗攻击得到全部密钥.而对于汇编语言实现的算法,则能通过相关功耗攻击从95条功耗曲线中恢复出全部密钥.
The success rate will be affected by many factors,including the implementation of different languages.Taking SM4 as target algorithm,STC90C58AD micro controller as hardware simulation platform,Using CPA to attack the algorithm implemented with C and assembly language respectively.The result shows that:the algorithm implemented in C language leaks limited power irformation,CPA attack cannot recover all keys by using 4000 traces.But to the assembly language implementation,CPA attack can recover all keys by using 95 traces.