Page 44 - 《软件学报》2025年第10期
P. 44

米瑞琪 等: 基于   Kyber 公钥加密的高效认证密钥交换协议                                               4441


                    定理  1. Kyber-PFS-AKE  在满足清洁谓词的情况下, 是       eCK-PFS-PSK  安全的. 即任意敌手    A 在密钥不可区分

                 游戏中的优势     Adv eCK-PFS-PSK  (λ)  都被限制在敌手  A 在对偶-PRF, IND-CPA  以及  auth-aead  游戏中的优势, 具体
                               clean eCK-PFS-PSK,n P ,n S ,A
                 来说:

                                                (                                           )
                                             2
                          Adv eCK-PFS-PSK  (λ) ⩽ n n S  n S  + Adv(A )+6· Adv  pr f  (λ)+ Adv  pr f swap  (λ)+ Adv auth-aead  (λ)
                                                         ′
                                                 2
                             clean eCK-PFS-PSK,n P ,n S ,A  P  λ  KDF,R    KDF,R     AEAD,R
                                                 (                                            )
                                               2  n S      ′      pr f       pr f swap  auth-aead
                                            +n n S  + Adv(A )+3· Adv  (λ)+ Adv  (λ)+ Adv   (λ)
                                               P   λ              KDF,R      KDF,R     AEAD,R
                                                  2
                                                   2  2    pr f      pr f swap
                                                  n n (2· Adv  (λ)+ Adv  (λ))
                                                   P S     KDF,R     KDF,R
                                                 
                                                 
                                                 
                                                                                  pr f swap
                                                   2  2  IND-CPA       pr f
                                                  n n (Adv    (B)+4· Adv   (λ)+ Adv  (λ))
                                                 
                                                   P S
                                                         CPAPKE,R      KDF,R      KDF,R
                                                 
                                                 
                                                 
                                                 
                                                   2  2    ′      pr f
                                                   n n (Adv(A )+7· Adv  (λ))
                                            +max   P S            KDF,R                      ,
                                                 
                                                 
                                                                             pr f swap
                                                   2  2           pr f
                                                            ′
                                                  n n (Adv(A )+3· Adv  (λ)+ Adv  (λ))
                                                 
                                                   P S
                                                                  KDF,R      KDF,R
                                                 
                                                 
                                                      (                     )
                                                 
                                                 
                                                    2
                                                      n S             pr f
                                                  n n 2  + Adv(A )+7· Adv  (λ)
                                                                ′
                                                 
                                                    P S  λ             KDF,R
                                                       2
                 其中,  Adv IND-CPA (B) 是任意敌手  B  对  IND-CPA  安全的  PKE  游戏中获胜的概率. 在多用户设置中    (即存在多个拥有
                        PKE
                 不同公钥的接收者, 将同一个消息           m  使用对应的公钥发送给这些接收者, 随后敌手尝试解密该消息. 在特定的参
                 数设置下, 敌手可以解密出        RSA  密文. 考虑攻击者破解多个用户密文的优势. 在量子随机预言模型                   (QROM) 下, 敌
                    ′
                 手  A  的优势为:

                                                         √                 √
                                       √                   q C ·n  n 2       n          q 2
                                                                                   2
                                  ′
                             Adv(A ) ⩽ 2 qAdv (n,q c )-IND-CPA (B)+4q  +  +4(q F +1)  +16q δ(n)+  C  ,
                                            PKE                   l           l
                                                           |M|   2           2          |M|
                                 ,
                 其中,  q := q F +q D +1 n 是用户的数量,  q C  是挑战密文的个数,  q F  是  (Q)ROM  查询的最大次数,  q D  是解密查询的最
                 大次数.
                  5   算法实现性能评估
                    我们使用    Kyber-768  进行实验, 用于对比     Kyber-PFS-AKE  和  Kyber-AKE  的性能. Kyber-768  是  Kyber 向
                 NIST  算法竞赛提交的算法实现代码中, 安全级别为              III (其经典安全强度为     182  比特, 其量子安全强度为      165  比
                 特). 我们参照   NIST  颁布的标准, 使用    Kyber 的第  3  轮提案提供的   AVX2  指令集上实现的代码基础上进行实验.
                 注意到   Kyber-768  提供了两个版本, Kyber-768  和  Kyber-768-90s, 两者的区别在于随机数发生器不同. 尽管        Kyber-
                 768-90s 拥有更高的计算性能, 但根据       NIST  给出的报告, Kyber-768-90s 不会被标准化, 因而我们只选用了          Kyber-
                 768  的实现代码. 此外, 由于   Kyber-AKE  来自  Fujioka 等人给出的通用构造    [5] , 其用于生成临时公私钥对      (epk i ,esk i )
                 的  KEM  可以为  IND-CPA  安全的  KEM, 在实验中我们采用      IND-CPA  安全的  KEM  进行该部分计算.
                    协议中存在的其他模块, 对于密钥导出运算              (即  KDF), 我们使用  BLAKE2s 算法  [21] , 对于  AEAD, 我们采用了
                 ChaCha20-Poly1305  算法  [22] . 这两种算法的也在  WireGuard、Noise 中使用. 因此我们采取了与其一致的代码. 所有
                 基准测试均在     Intel Core i7-6700  处理器上进行, 时钟频率为  900 MHz (查询/proc/cpuinfo  获得), 关闭了  TurboBoost
                 和超线程, 基准测试机器具有         16 GB  的  RAM, 运行  Ubuntu  操作系统, 内核版本为  5.4.0. 报告的所有循环计数均为
                 各自函数的    10 000  次执行的中值. 对比结果如表      1  所示.

                                                      表 1 实验数据集

                               性能指标           Kyber-AKE     Kyber-PFS-AKE   计算性能提升百分比 (%)
                            发起者计算时间            258 464         158 445             38.6
                            响应者计算时间            234 297         162 289             30.7

                    如表  1  所示, 与  Kyber-AKE  相比, 我们的设计在发起方和响应方设备上均节省了近               30%  的计算工作量. 影响
                 握手时间的另一个重要因素是数据传输, 而在我们的构建和                   Kyber-AKE  中传输的数据长度相同, 这意味着两个协
   39   40   41   42   43   44   45   46   47   48   49