学术评论

戚文峰教授: 序列密码设计与分析发展趋势思考

本期《观点》作者:戚文峰, 信息工程大学教授, 中国密码学会副理事长兼学术工作委员会主任,  《密码学报(中英文)》副主编.

序列密码设计与分析发展趋势思考

序列密码是对称密码的重要分支. 与分组密码相比, 过去很长一段时间, 序列密码的设计结构和设计模块缺乏标准化、安全性评估缺乏通用工具和准则, 在很大程度上限制了序列密码的推广应用. 在 ASIACRYPT 2004 的特邀报告中, Shamir 分析了序列密码影响力逐渐减弱而分组密码研究备受关注的现状及原因, 同时指出序列密码应用的两个重点场景: 资源受限的硬件环境和高速率的软件环境. 之后的十年, 序列密码设计与分析的发展主要围绕这两个方面的应用, 例如欧洲 eSTREAM 序列密码征集项目及其后续影响. 近十年, 随着 Sponge 结构、认证加密、全同态密码的提出和发展, 未来序列密码可能有更多的应用场景, 并且序列密码设计与分析和分组密码、认证加密、Hash 函数一体化的发展趋势越来越明显. 面向未来十年, 序列密码有以下四个值得关注的重要研究方向. 

1. 大状态序列密码的设计与分析. 随着网络和通信技术的发展, 未来很多密码算法都将在软件环境下运行且快速软件实现的需求越来越大. 例如, 在移动通信领域, 5G 和 6G 加密算法都要求面向软件快速实现, 并且预期 6G 数据传输速率将达到 100 Gbps. 在软件实现环境下, 密码算法内部状态大小基本不影响实现成本和实现速率, 而增大内部状态可以有效提高输出率, 基于 128 比特字设计的序列密码算法通过每拍输出 1 个或多个 128 比特字可以达到超高加密速率. 此外, 受量子计算机的威胁, 未来十年序列密码的密钥长度将由 128 比特提高至 256 比特, 密钥长度的增长在一定程度上也导致内部状态的增大. 因此, 大内部状态是未来序列密码发展的一个重要趋势. 从序列密码设计的角度, 超大内部状态扩散和混淆的充分性与加解密速率的极高要求之间相互矛盾, 这是序列密码设计面临的主要挑战. 从序列密码安全性分析的角度, 随着密码算法状态的增大, 安全性分析的难度也越来越大. 特别地, 对于近十年已发展成熟的基于 MILP/SAT/CP 的自动化分析方法, 内部状态的增大会导致模型中变元数量和限制条件的增多以及枚举路径数量的增长, 使得模型求解时间大幅提高, 特别是各种比特级模型的求解将非常困难. 因此, 大状态序列密码算法安全性的精确评估将是序列密码分析的一个困难问题. 

2. 基于 AES-NI 和 SIMD 指令集的序列密码设计与分析. 自从 Intel 发布 AES-NI 指令集后, AES 轮函数的软件实现效率大大增加. 在序列密码设计中, AES 轮函数可以直接用作非线性部件, 甚至是唯一的非线性部件, 从而大大提高算法软件实现效率和安全性. 基于 AES-NI 和 SIMD 指令集设计的序列密码算法都以 128 比特字为一个存储单元, 设计框架比较单一, 大多数算法都采用 AES-NI、XOR、128 比特单元位置置换的组合实现内部状态更新, 其中主要考虑 AES-NI 指令的并行和跨平台实现效率. 从序列密码设计的多样性角度, 有必要考虑新的基于 AES-NI 指令的设计框架以及无 AES-NI 指令的快速软件实现. 从序列密码安全性分析的角度, AES-NI 指令的引入, 使得序列密码算法的安全性与分组密码算法 AES 的安全性密切相关, 这为序列密码分析提出了新的挑战, 同时, 也将使得序列密码分析方法与分组密码分析方法统一化发展. 

3. 基于固定置换的序列密码设计与分析. 基于固定置换的序列密码是指内部状态更新函数是一个多轮迭代的固定置换, 典型的设计有基于 ARX 结构的序列密码算法 (如 ChaCha 算法)、Sponge 结构的序列密码模式以及 Sponge 结构的 Duplex 模式, 其中 Sponge 结构的 Duplex 模式用于构造基于序列密码的认证加密算法. 基于大状态固定置换的设计思路使得已发展成熟的分组密码设计思想和组件自然引入到序列密码设计, 同时将序列密码、分组密码、认证加密、Hash 函数的设计与分析紧密相连, 形成通用的设计思想和分析方法. 因此, 基于固定置换的序列密码以及在此基础上的认证加密将是未来序列密码设计的一个重要方向, 如何兼顾加解密、认证的高效和安全是面临的主要挑战. 同时, 由于 Sponge 结构和认证加密算法近十年有非常广泛和深入的研究, 基于固定置换的密码算法结构安全性和组件设计逐渐趋于成熟, 这对基于置换的序列密码算法的安全性分析提出了很大挑战. 

4. 面向全同态加密的序列密码设计与分析. 目前全同态加密算法存在密文膨胀过大的问题, 该问题会导致数据从用户端到服务器的传输速率低下. 一个解决方案是混合全同态加密, 即对称密码算法和全同态加密算法混合使用. 具体地, 用户端采用对称密码加密数据且同态加密对称密码的密钥, 密文数据传输到服务器端后再利用全同态加密算法将对称加密的密文转化为同态加密的密文. 由于全同态加密算法对密文进行同态运算时会引入噪声, 并且在运算过程中噪声会不断累积增大, 当噪声过大时, 全同态加密体制会调用相对耗时的自举 (Bootstrapping) 算法降低密文噪声, 因此, 面向全同态应用的对称密码设计需要解决的主要问题是控制解密过程中产生的同态密文噪声, 尽量减少全同态加密体制调用自举算法的次数. 已有研究表明, 序列密码比基于轮迭代的分组密码能够更好地控制噪声, 因此更适用于混合全同态加密应用. 目前已公开提出的面向全同态加密的序列密码算法有 Kreyvium、FLIP、Elisabeth 以及 CRYPTO 2025 上提出的 Transistor 等. 相对于序列密码其他应用场景, 面向全同态加密是一个非常新的研究方向, 算法设计框架和安全性认识仍在探索之中, 已知算法的安全性分析和同态加密下安全且高效的新型序列密码设计是未来值得研究的问题.