Page 34 - 《软件学报》2025年第10期
P. 34
米瑞琪 等: 基于 Kyber 公钥加密的高效认证密钥交换协议 4431
that compared to Kyber-AKE, the computation time for the initiator is reduced by 38%, while the computation time for the responder is
reduced by 30%.
Key words: public-key encryption (PKE) schema; Kyber; authenticated key exchange (AKE)
认证密钥交换 (authenticated key exchange, AKE) 是网络安全系统中最重要的密码学模块之一. 大多数 AKE
协议依赖 Diffie-Hellman (DH) 密钥交换建立会话密钥, 通过数字签名、长期 Diffie-Hellman 密钥交换或公钥加密
进行身份认证. AKE 拥有非常广泛的应用, 如传输层安全协议 (transport layer security, TLS), 虚拟专用网络 (virtual
private network, VPN) 协议等. 然而随着量子计算机的发展, 拥有量子计算机的攻击者 (以下简称为量子攻击者) 可
以在短时间内攻破 DH 密钥交换并获取会话密钥, 换句话说, DH 密钥交换不具备抵抗量子攻击者的能力. NIST 呼
吁使用抗量子的公钥加密 (以下简称 PKE)/密钥封装机制 (以下简称 KEM), 以替代目前的密钥交换标准.
对于抗量子的认证密钥交换协议, 目前存在的主要的设计思路是: 1) 通过抗量子的数字签名 (如基于格上困
难问题、基于编码上的困难问题的数字签名) 完成身份认证, 并通过抗量子的公钥加密建立会话密钥; 2) 仅使用
抗量子的公钥加密完成身份认证并建立会话密钥. 由于后量子的数字签名方案通常具有较长的公钥和签名, 通过
公钥和密文长度较小的公钥加密构造认证密钥交换计算效率更高, 传输的代价更小.
2016 年, 美国国家标准与技术研究院 (NIST) 面向全球征集抗量子密码算法, 包括公钥加密和数字签名算法,
[2]
旨在通过建立抗量子密码标准, 以应对量子计算机带来的安全威胁 [1] , Kyber 是目前唯一被 NIST 选作密钥封装
机制标准的算法 [3] . Kyber 基于格上的 MLWE 安全性假设, 拥有较小的公钥和密文, 在大多数应用中展现出了卓
越的性能, 其性能与安全性之间的调整也相对简单. NIST 推荐在绝大多数应用场景下优先使用 Kyber. 是否对基
于其他安全性假设的方案 (如, 基于编码、多变量困难问题) 进行标准化仍然在讨论中. 如基于编码的 Classic
McEliece 密钥封装机制目前存在很多安全问题 [4] , 因此, 设计基于 Kyber 的认证密钥交换是较为合理的选择.
[2]
Kyber 提出了其认证密钥交换方案 Kyber-AKE , 其基本思想是发起者与响应者各自拥有长期的 IND-CCA
安全的密钥封装机制的公私钥对用于身份认证. 在握手时, 发起者使用 IND-CCA 安全的密钥封装机制生成临时
公私钥对 (epk ,esk i ), 并用响应者的长期公钥封装出密文和共享秘密 (c 1 ,k 1 ). 响应者使用收到的 epk 和发起者的长
i i
期公钥分别封装出密文和共享秘密作为密钥材料. 双方各自用持有的私钥将收到的密文解密, 并将这些密钥材料
输入密钥导出函数, 导出会话密钥. Kyber-AKE 来自 Fujioka 等人 [5] 提出的通用构造, 在该构造中, 用于生成临时公
私钥对 (epk ,esk i ) 的可以是 IND-CPA 的 KEM. Kyber-AKE 握手过程如图 1 所示, 发起者与响应者均拥有长期公
i
私钥对. 发起者公私钥对为 (spk ,ssk i ), 响应者公私钥对为 (spk ,ssk r ).
r
i
发起者 响应者
图 1 Kyber-AKE 协议握手过程

