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   各个阶段执行时间百分比
   291   292   293   294   295   296   297   298   299   300   301