关键词:
白盒攻击环境
白盒实现
SIMON算法
掩码
Benaloh编码
摘要:
在白盒攻击环境下,攻击者可以访问密码算法的实现过程,观测算法运行的动态执行和内部细节,并任意修改.2002年Chow等人首次提出了白盒密码的概念,利用查找表技术提出了AES算法和DES算法的白盒实现所采用的方法称为CEJO框架.白盒实现将已有的密码算法进行编码混淆,在白盒攻击环境下以软件的形式达到保护密钥的目的,同时保证算法结果的正确性.SIMON算法是一种轻量级分组密码算法,因其良好的软硬件实现性能被广泛应用于物联网设备中,研究该算法的白盒实现具有重要现实意义.给出SIMON算法的两种白盒实现第1种方案(SIMON-CEJO)采用经典的CEJO框架,利用网络化编码对查找表进行保护,从而混淆密钥.该方案占用内存为369.016 KB,安全性分析表明SIMON-CEJO方案可以抵抗BGE攻击和仿射等价算法攻击,但不能抵抗差分计算分析.第2种方案(SIMON-Masking)采用Battistello等人提出的编码方式,对明文信息和密钥信息进行编码,利用编码的同态性,将异或运算和与运算转化为模乘运算和表查找操作;最后进行解码,得到对应的密文结果在算法运行过程中,对与运算添加布尔掩码,编码的随机性保护了真实密钥信息,提高了方案抵抗差分计算分析和其他攻击的能力.SIMON-Masking占用内存空间为655.81 KB,基于勒让德符号的二阶差分计算分析的时间复杂度为O(n2klog2p).这两种方案的对比结果表明,经典的CEJO框架无法有效防御差分计算分析,运用新型编码并添加掩码是一种有效的白盒实现方法.