11 月 20 日消息,据中国科学院软件研究所官方公众号报道,近日,中国科学院软件研究所可信智能系统研究团队在分组加密算法的差分密码分析方面取得一定进展。

据悉,该工作团队设计了一个面向分组加密算法的领域编程语言 EasyBC,在此基础上提出了通用、可扩展的差分密码分析方法,研制了全自动分析工具平台 EasyBC。

中国科学院:已于分组加密算法的差分密码分析方面取得进展-编程知识网

▲ EasyBC 平台流程图,图源 中国科学院软件研究所官方公众号

中科院软件研究所披露信息得知,该研究成果已经以 EasyBC: A Cryptography-Specific Language for Security Analysis of Block Ciphers against Differential Cryptanalysis 为题,被编程语言国际顶级会议 POPL 2024 录用,通讯作者是软件所计算机科学国家重点实验室宋富研究员。

据悉,分组加密算法(block cipher)是将明文分成多个等长的模块(block),使用对称密钥对每组分别加密或解密,广泛应用于电子邮件加密、银行交易转账等多个领域

作为极其重要的加密协议组成,主流分组加密算法有中国国家密码管理局颁布的 SM1、SM4 和 SM7,美国政府核定的标准算法 AES 和 3DES。

而差分密码分析在评估分组加密算法的安全性方面发挥着核心作用,是分组加密算法标准化不可或缺的安全性分析手段。

当前已有的差分密码分析方法在通用性、自动化程度方面存在一定不足,同时建模过程复杂导致用户需要熟悉大量的建模方法及底层分析工具的应用。

为解决上述不足,研究团队设计了一种分组加密算法的密码学专用高级编程语言 EasyBC,提供了完整的语法、类型和语义的形式定义,为分组加密算法安全性自动分析奠定了良好基础;提出了三种不同分析精度和性能的差分密码分析方法,不仅统一和优化了已有的各类加密操作的建模方法,并提出了多种新的建模方法。

中国科学院:已于分组加密算法的差分密码分析方面取得进展-编程知识网

▲ EasyBC 语言实现的 23 个加密原语,图源 中国科学院软件研究所官方公众号

研究团队实现了 23 个加密原语,包括美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)认证加密方案的底层置换算法以及多种常用分组加密算法;并对其中的分组密码原语进行了安全性分析,进而验证了 EasyBC 语言的表达能力以及 EasyBC 工具平台安全性自动分析的有效性。

中国科学院:已于分组加密算法的差分密码分析方面取得进展-编程知识网

▲ Word-wise 实现的加密原语差分密码安全性分析结果,图源 中国科学院软件研究所官方公众号

中科院软件研究所表示,该研究对分组加密算法的差分密码分析研究具有重要意义,为后续密码学相关研究者们进行分组加密算法的安全性全自动分析和各类运算操作建模方法性能评估提供了良好的研究基础和平台支撑。