Page 370 - 《软件学报》2025年第9期
P. 370

蒲浪 等: 基于国密    SM9  的公钥认证可搜索加密方案                                                 4281


                                                      表 1 性能比较

                                           计算开销                         通信代价
                     方案                                                                     安全假设
                                 PAEKS         Trapdoor    Test   |PK|    |C w |  |T w |
                  Huang等人 [15]  T h2p +3T m1   T m1 +T b   2T b   |G 1 |  2|G 1 |  |G T |  DBDH、mDLIN
                                                                             ∗
                   Qin等人 [17]  2T h2p +2T m1 +2T b  T m1 +T h2p +T b  T h2p +T b  |G 1 |  |G 1 |+|Z |  |G 1 |  CBDH、CDH
                                                                             N
                                                                              ∗
                  SM9-PAEKS      3T m1 +T e   T m1 +T m2    T b   |G 1 |  |G 1 |+2|Z |  |G 2 |  q-BDHI、Gap-q-BCAA1
                                                                              N

                    综合上述理论分析可知, SM9-PAEKS         与对比方案相比, 虽然在通信代价有所增加, 但其在计算开销上的性能
                 有了一定的提升, 尤其是关键词陷门生成阶段的性能提升显著. 此外, 仅                     SM9-PAEKS  是基于国密算法设计, 符合
                 国家密码核心技术自主创新的发展战略和需求.

                 4.2   实验测试
                    为了得到更加真实可信的比较结果, 本文在相同的实验环境下对各个方案进行了仿真实验测试. 具体实验环
                 境为: HP  个人笔记本电脑、Windows 10     操作系统、CPU     为  i7-9750@2.59 GHz, 实验过程中使用  MIRACL  密码核
                 心库  (https://github.com/miracl/MIRACL), 编程时选用  C++语言. 选用  F 256  上的  BN  曲线, 因此实验时  G 1 ,G 2 ,G T  和
                 Z ∗ N   中的单个元素长度分别为   64、128、384  和  32  字节.
                    首先分析实验过程中各方案的通信代价, 对于各个                 PAEKS  方案而言, 本实验过程中关键词密文、关键词陷
                 门以及总通信代价如图         2  所示. 由图  2  可知, SM9-PAEKS  的关键词密文长度因与      SM9  加密算法结构一致, 其长
                 度为  192  字节, 略微高于对比的方案, Huang      等人  [15] 和  Qin  等人  [17] 方案中的关键词密文长度分别为   128  字节和
                 96  字节. SM9-PAEKS  的陷门长度和   Qin  等人  [17] 方案均为  64  字节, 而  Huang  等人  [15] 方案为  384  字节. Qin  等人  [17]
                 方案总通信代价最小, 为       160  字节, SM9-PAEKS  为  256  字节, 而  Huang  等人  [15] 方案总通信代价为  512  字节, 与对
                 比方案中通信代价最低的         Qin  等人  [17] 相比, SM9-PAEKS  总通信代价增加了   96  字节. 然而与  Huang  等人  [15] 方案
                 相比, SM9-PAEKS  的通信代价减少了      50%.
                    然后, 输入同一关键词并将各个方案中的算法运行                  1 000  次后取各算法单次耗时的平均值, 实验结果如图             3
                 所示. 由图  3  可知, 对于关键词密文生成算法, SM9-PAEKS         单次耗时为    62.71 ms, 而  Huang  等人  [15] 和  Qin  等人  [17]
                 方案分别耗时为      30.10 ms 和  264.77 ms. 对于关键词陷门生成算法, Huang     等人  [15] 和  Qin  等人  [17] 方案分别耗时
                 132.86 ms 和  137.03 ms, 而  SM9-PAEKS  仅需  30.77 ms, 与前两个方案相比耗时降低分别为    76.84%  和  77.55%, 可
                 见在此阶段    SM9-PAEKS  的计算开销降低显著. 对于匹配算法            SM9-PAEKS、Huang  等人  [15] 和  Qin  等人  [17] 方案
                 分别耗时为    120.48 ms、234.29 ms 和  124.36 ms. 对于总方案耗时而言, Huang  等人  [15] 和  Qin  等人  [17] 方案分别耗
                 时  397.25 ms 和  526.16 ms, 而  SM9-PAEKS  仅需  213.96 ms, 与前两个方案相比耗时分别降低了        46.14%  和
                 59.34%.


                      600                                          600
                             Huang 等人 [15]                                 Huang 等人 [15]
                             Qin 等人 [17]                                   Qin 等人 [17]
                      500                                          500
                             SM9-PAEKS                             400     SM9-PAEKS
                     通信代价 (字节)  300                               运行时间 (ms)  300
                      400
                                                                   200
                      200
                      100                                          100

                       0                                             0
                           密文长度       陷门长度      总长度                     PAEKS  Trapdoor  Test   Total
                                      开销项                                            阶段
                                图 2    通信代价                                  图 3    平均耗时
   365   366   367   368   369   370   371   372   373   374   375