Page 293 - 《软件学报》2021年第11期
P. 293

王利朋  等:应用区块链的多接收者多消息签密方案                                                        3619


                    在对比密文长度时,为了方便起见,定义如下符号:L m 代表明文长度,|G p |代表阶数为 p 的循环群 G 中元素长
                          *
                 度, | Z * p  | 为 Z 中整数的长度,|ID|代表参与方身份 ID 的长度,n 为接收者的数量,m 为发送者伪装身份个数.
                          p
                    安全属性对比结果见表 2,其中,×代表不满足该安全属性,√则代表满足.在对比密文长度时,对于双线性对
                 操作:e:G 1 ×G 1 →G 2 .为了方便对比,这里设定两个群的阶数均为|G p |.
                                            Table 2    Comparison of security attributes
                                                    表 2   安全属性对比
                                                                  不可             不可     密钥托管      通信
                   签密方案     理论基础               密文长度                      保密性
                                                                  伪造性            否认性    安全强度      模式
                    文献[4]   双线性对              L m+(n+3)|G p|        ×      ×      ×        ×     单消息
                    文献[5]   双线性对              L m+(n+2)|G p|        √      ×      √        √     单消息
                    文献[6]   双线性对             L m+3|G p|+n|ID|       √      √      √        √     单消息
                    文献[24]   双线性对       L m +  (n +  1) | Z  * p  | 2 |n G+  p  | n ID+  |  |    √   √   √   √   单消息
                                       |
                    文献[25]   双线性对     mZ * p  | (m+  +  2n +  2) | G p  | L+  m +  m | ID |  √   √   √   √   多消息
                    文献[26]   双线性对             L m+(n+2)|G p|        ×      √      ×        √     多消息
                    文献[23]   椭圆曲线          | Z  * p  | (n+  +  1) | G  p  | nL+  m     √   √   √   √   多消息
                     本文     椭圆曲线            nL m +  2|n Z  * p  | | G+  p  |    √   √   √   √(强)   多消息
                    对于通信模式,单消息模式代表多接收者签密方案一次只能发送单个消息,而多消息模式一次能给不同接
                 收者发送不同的消息.本文提出的算法是一种多接收者多消息通信模式签密方案,能够适配到广播通信等应用
                 场景中.
                    本文提出的多接收者多消息签密方案,采用多个 KGC 协同管理系统主密钥信息,且 KGC 能够动态更新自
                 己的子秘密信息,进而实现密钥托管安全性.与表 2 中其他几种签密方案相比,本文方案能够有效抵御针对 KGC
                 的持续性攻击.
                    文献[23]与本文均是基于椭圆曲线实现的多消息签密方案,均具有不可伪造性和保密性,文献[23]密文长度
                 也要比本文提出的方案要短,但本文方案能够有效抵御针对 KGC 的持续性攻击.此外,本文方案中,接收者在收
                 到消息后,会首先对接收者身份信息进行校验,如果校验不通过,则可中止后续的解签密流程,减少了不必要的
                 计算资源浪费.
                    文献[25]是基于双线性对实现的多消息签密方案,满足了不可伪造性、保密性、不可否认性等安全属性要
                 求;此外,还具有发送者和接收者的身份匿名性.该方案适合于消息发送方和接收方互不信任的广播通信场景
                 中,然而该方案为了达到身份匿名要求,产生的密文长度最长,效率也最低.
                 6.2   计算复杂度分析
                    本文提出的签密算法,基于椭圆曲线进行实现.为了便于对比计算复杂度,表 3 定义了相关符号,并根据文献
                 [27]给出了其他操作换算成模乘操作对应的计算量,以方便不同算法之间进行对比.
                                      Table 3    Symbolic representation of the proposed scheme
                                                 表 3   本文方案的符号表示
                                          符号             定义                描述
                                          T m           模乘运算                ×
                                           T e          指数运算             T e≈240T m
                                          T b           双线性对              T b≈87T m
                                          T pm        椭圆曲线点乘             T pm≈29T m

                    需要说明的是,由于模加法、模减法、哈希以及椭圆曲线加法计算开销较低,这里不对其进行考察.这里将
                 各个方案计算量统一化为模乘运算计算量,具体实验数据见表 4.
   288   289   290   291   292   293   294   295   296   297   298