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 平均耗时

