摘要

在白盒攻击环境中,攻击者能够访问密码算法的实现过程,观测密码算法的动态执行,掌握算法的内部细节,并任意修改. Chow等人提出白盒密码的概念,以应对白盒攻击环境,并给出白盒AES实现和白盒DES实现.本文提出一种SM4算法的新型白盒实现方案,对密码算法的内部状态进行扩充并在密码算法运行的过程中加入随机数对密钥进行混淆,使每一轮通过查找表加密后有一半信息是有用的,一半信息是混淆的.整个加密过程使用查找表与仿射变换进行表示,该方案需占用内存空间276.625 KB,查找表对应的白盒多样性与白盒含混度的值分别为2646与286.该方案针对林婷婷等人的分析方法的复杂度为O(251),针对潘文伦等人的分析方法的密钥空间为61 200·232,针对仿射等价算法的时间复杂度为O(297),可以有效抵抗代码提取攻击以及BGE攻击.