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.