Page 296 - 《软件学报》2021年第11期
P. 296
3622 Journal of Software 软件学报 Vol.32, No.11, November 2021
实验采用的编程语言为 JAVA 1.7,IDE 环境采用 MyEclipse 1.5,采用的密码学开源库为 JPBC 2.0.0.
由于本文提出的多 KGC 方案只会影响签密方案中初始化和用户密钥生成两步执行效率,因此下面考察上
述两步执行时间与 KGC 密钥服务器数量 N 以及门限值 t 之间的关系.设定发送者和接收者的数量均为 1,图 3
中给出了当密钥服务器 N 为 50 时,初始化以及用户密钥生成两步执行时间与门限值 t 之间的关系;图 4 中给出
了当门限值 t 为 30 时,初始化以及用户密钥生成两步执行时间与服务器数 N 之间的关系.需要说明的是,后续实
验均排除了网络延迟等因素的干扰,以更好地从计算复杂度角度考察算法的性能.
Fig.3 Execution time for the Setup phase and Fig.4 Execution time for the Setup phase
the keyGen phase over the threshold t and the keyGen phase over N
图 3 初始化以及用户密钥生成阶段 图 4 初始化以及用户密钥生成阶段
门限值 t 对应的执行时间 N 对应的执行时间
从图 3 和图 4 可知,随着 N 或 t 的增加,初始化和用户密钥生成时间之和也随着增加,但增加率不到 10%.当
N 为 50 时,t 从 10 递增到 40,初始化和用户密钥生成时间之和增加了不到 20ms.当 t 为 30 时,N 从 40 递增到 70,
执行时间之和增加了约 10ms.t 主要影响多项式 g i (x)的次数,以及用户在合成密钥时需要收集的 w i 的数量;而 N
主要影响密钥分发中心在合成子秘密 s j 时收集的 g i (j)的数量.在排除网络延迟等因素的干扰下,N 和 t 的增加对
初始化和用户密钥生成的执行时间影响不大.
下面考察方案总体执行时间与接收者数量之间的关系,以及引入多密钥分发中心后,对系统性能的影响.此
时统计了初始化、用户密钥生成、签密和解签密这 4 个步骤的执行时间,解签密过程包括了算法的解签密
(UnSignCrypt)步骤以及校验消息(VerifySign)步骤,而且由于解签密过程可以并发执行,所以解签密步骤只考察
一个接收者执行的时间.设定密钥分发中心数量 N 为 3,门限值 t 为 2,消息发送者数量为 1,实验重复 50 次,并统
计其平均值,实验结果如图 5 所示.为了考察 KGC 密钥更新以及其他步骤的执行效率,图 6 给出了算法各个步骤
占总体时间百分比,此时统计了初始化、用户密钥生成、签密、解签密和密钥更新这 5 个步骤的执行时间占总
体执行时间的百分比,此时,N,t 以及消息发送者数量同图 5 配置参数相同.
Fig.5 Execution time over the number of recipients Fig.6 Percentage of execution time over each phase
图 5 接收者数量对应的执行时间 图 6 各个阶段执行时间百分比