国内刊号:11-2560/TP
国际刊号:1000-9825
发布日期:
作者:罗一诺,陈杰,王超
单位:罗一诺,西安电子科技大学 通信工程学院, 陕西 西安 71007111,陈杰,西安电子科技大学 通信工程学院, 陕西 西安 710071;河南省网络密码技术重点实验室, 河南 郑州 45000102,王超,西安电子科技大学 通信工程学院, 陕西 西安 71007103
关键词:白盒攻击环境;白盒实现;SIMON算法;掩码;Benaloh编码
基金:陕西省自然科学基础研究计划(2021JM-126); 河南省网络密码技术重点实验室研究课题(LNCT2022-A08); 国家自然科学基金(62302285); 陕西省重点研发计划(2023-YBGY-015)
在白盒攻击环境下, 攻击者可以访问密码算法的实现过程, 观测算法运行的动态执行和内部细节, 并任意修改. 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框架无法有效防御差分计算分析, 运用新型编码并添加掩码是一种有效的白盒实现方法.
来源:2024年第11期
《软件学报》期刊编辑部