一种适用于涉密信息系统的聚合签名方法及系统转让专利
申请号 : CN202110123600.7
文献号 : CN112446052B
文献日 : 2021-06-04
发明人 : 易鹏
申请人 : 东方微电科技(武汉)有限公司
摘要 :
权利要求 :
1.一种适用于涉密信息系统的聚合签名方法,其特征在于,包括:根据输入的安全参数h,输出公共参数par和系统主密钥a;
计算每一个用户Ui的公钥vi;
根据输入的待签名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi、公共参数par和系统主密钥a,计算用户Ui对于待签名消息mi的签名信息σi;
根据用户Ui对于待签名消息mi的签名信息σi,生成所有用户对所有待签名消息的聚合签名信息;
对所述聚合签名信息进行验证,以确定生成的聚合签名是否来自指定的多个用户,其中,1<i≤n,n为用户数;
其中,所述根据输入的安全参数h,输出公共参数par和系统主密钥a包括:当输入安全参数h时,在素数阶 的椭圆曲线上选择加法群G和乘法群 ;
令g是G的生成元,双线性映射为 ;
定义三个耐碰撞的Hash函数: , , ,其中, 为小于p的正整数组成的集合, 表示有不确定个集合;
密钥生成中心KGC随机在 中选取系统主密钥a并计算系统公钥 ,并公开公共参数 ;其中,所述计算每一个用户Ui的公钥vi包括:
根据用户Ui随机选取的秘密值 ,计算用户Ui的公钥 ;
所述根据输入的待签名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi、公共参数par和系统主密钥a,计算用户Ui对于待签名消息mi的签名信息σi,包括:当输入公共参数par、系统主密钥a和用户Ui时,KGC计算 ;
当输入待签名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi,签名者计算 , , ,
;
计算用户Ui对于待签名消息mi的签名信息 。
2.根据权利要求1所述的聚合签名方法,其特征在于,所述根据用户Ui对于待签名消息mi的签名信息σi,生成所有用户对所有待签名消息的聚合签名,包括:当输入元组 时,计算聚合签名信息 ;
其中, 为状态信息集合,M为待签名消息的集合,σi为用户Ui对于待签名消息mi的签名信息。
3.根据权利要求2所述的聚合签名方法,其特征在于,所述对所述聚合签名进行验证,以确定生成的聚合签名是否来自指定的多个用户包括:当输入元组 后,计算 、 和 ,以及计算 , , , ;
计算 ;
验证等式 是否成立,如果成立,则验证成功,否则,验证失败。
4.根据权利要求1所述的聚合签名方法,其特征在于,所述当输入公共参数par、系统主密钥a和用户Ui时,KGC计算 还包括:计算用户Ui的部分私钥 ,并通过安全通信信道将部分私钥 发送给对应的用户Ui。
5.一种适用于涉密信息系统的聚合签名系统,其特征在于,包括:输出模块,用于根据输入的安全参数h,输出公共参数par和系统主密钥a;
计算模块,用于计算每一个用户Ui的公钥vi;以及根据输入的待签名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi、公共参数par和系统主密钥a,计算用户Ui对于待签名消息mi的签名信息σi;
生成模块,用于根据用户Ui对于待签名消息mi的签名信息σi,生成所有用户对所有待签名消息的聚合签名信息;
验证模块,用于对所述聚合签名信息进行验证,以确定生成的聚合签名是否来自指定的多个用户;
其中,所述根据输入的安全参数h,输出公共参数par和系统主密钥a包括:当输入安全参数h时,在素数阶 的椭圆曲线上选择加法群G和乘法群 ;
令g是G的生成元,双线性映射为 ;
定义三个耐碰撞的Hash函数: , , ,其中, 为小于p的正整数组成的集合, 表示有不确定个集合;
密钥生成中心KGC随机在 中选取系统主密钥a并计算系统公钥 ,并公开公共参数 ;其中,所述计算每一个用户Ui的公钥vi包括:
根据用户Ui随机选取的秘密值 ,计算用户Ui的公钥 ;
所述根据输入的待签名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi、公共参数par和系统主密钥a,计算用户Ui对于待签名消息mi的签名信息σi,包括:当输入公共参数par、系统主密钥a和用户Ui时,KGC计算 ;
当输入待签名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi,签名者计算 , , ,
;
计算用户Ui对于待签名消息mi的签名信息 。
6.一种电子设备,其特征在于,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现如权利要求1‑4任一项所述的聚合签名方法的步骤。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现如权利要求1‑4任一项所述的聚合签名方法的步骤。
说明书 :
一种适用于涉密信息系统的聚合签名方法及系统
技术领域
背景技术
合签名。验证者只需对聚合签名进行验证,即可实现对多个签名的批量验证,这可以大大减
少签名验证者的工作量。
方案后来被证明在敌手的攻击下是不安全的。此后,很多聚合签名方案在聚合签名的过程
中都存在一定的局限性,即签名聚合器每次必须共享一部分信息,导致方案的不安全性。在
2015年,Cheng等人提出了一种使用无证书聚合签名的方案,虽然签名聚合器不需要共享一
部分信息,但依然被证明在敌手的攻击下是不安全的。2018年,Li等人提出了一种新的无证
书聚合签名方案,表明Cheng等人的方案具有一定的安全风险,无法抵抗合谋攻击。2019年,
Xie等人提出了一种运用于的无线传感器网络的无证书聚合签名方案,指出Li等人的方案
不具备抵抗不同类型敌手攻击的能力。自此,聚合签名的安全性依旧是一个值得深入研究
的课题。
发明内容
输入的待签名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi、公共参数par和系统主密钥a,计
算用户Ui对于待签名消息mi的签名信息σi;根据用户Ui对于待签名消息mi的签名信息σi,生
成所有用户对所有待签名消息的聚合签名信息;对聚合签名信息进行验证,以确定生成的
聚合签名是否来自指定的多个用户,其中,1<i≤n,n为用户数,n为正整数。
;
mi的签名信息σi;
信效率成指数级提高。
附图说明
具体实施方式
个用户Ui的公钥vi;103、根据输入的待签名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi、公
共参数par和系统主密钥a,计算用户Ui对于待签名消息mi的签名信息σi;104、根据用户Ui对
于待签名消息mi的签名信息σi,生成所有用户对所有待签名消息的聚合签名信息;105、对聚
合签名信息进行验证,以确定生成的聚合签名是否来自指定的多个用户。
xyg, 。
个用户,其公共参数和系统主密钥是相同的。然后,对于不同的用户Ui,计算其对应的公钥
vi。根据用户Ui,以及用户Ui对应的待签名消息mi、状态信息λi、用户Ui的公钥vi、公共参数
par和系统主密钥a,计算用户Ui对于待签名消息mi的签名信息σi。对于n个用户,均可计算对
应的一个签名信息,根据每一个用户对多条消息的签名信息,生成所有用户对所有签名消
息的聚合签名信息。最后对生成的聚合签名信息进行验证,以确定生成的聚合签名信息是
否来自于指定的多个用户,即该聚合签名信息是否由指定的多个用户签名计算而来。
时,在素数阶 的椭圆曲线上选择加法群G和乘法群GT;令g是G的生成元,双线性映射
为 ;定义三个耐碰撞的Hash函数: ,
,其中, 为小于p的正整数组成的集合,
表示有不确定个集合;KGC随机在 中选取系统主密钥a并计算系统公钥 ,并公开
公共参数 。其中,公共参数par和系统主密钥a由所
有的用户共享,也就是,对于所有的用户而言,公共参数par和系统主密钥a都是相同的。
数为λi。比如,有10个用户,分别对10个待签名消息进行签名,第一个用户对第一个待签名
消息进行签名,第二个用户对第二个待签名消息进行签名,以此类推,第十个用户对第十个
待签名消息进行签名。根据前述已经计算出来的系统公共参数par和系统主密钥a,以及用
户Ui对应的公钥vi,计算用户Ui对于待签名消息mi的签名信息σi,其中,1<i≤n,n为用户数,
n为正整数。
par、系统主密钥a和用户Ui时,KGC计算 和 ,其中, 为用户的部分私
钥,在整个签名的过程中,对于计算的每一个用户的部分私钥,均通过安全通信信道发送给
对应的用户,只有对应的用户才能得到部分私钥,保证了数据传输的安全性。当输入待签名
消息mi、状态信息λi、用户Ui、用户Ui的公钥vi,签名者计算 , ,
, , , , ;计算用户Ui对于
待签名消息mi的签名信息 。
息进行聚合操作,形成聚合签名信息。
待签名消息的聚合签名,包括:当输入元组 时,计算聚合签名信
息 ;其中,为状态信息集合,M为待签名消息的集合,σi为用户Ui对于待签名消
息mi的签名信息。
和 ,计 算 。通过 验证等式
是否成立,如果成立,则验证成功,表明聚合签名信息是来自于指定的多
个用户;否则,验证失败,表明聚合签名信息不是来自指定的多个用户,至少有一部分用户
不是来自指定用户。
名方法极大地减少了计算量,使得方案的通信效率成指数级提高。
从而保证了涉密私钥的安全性。
大地提高了验证效率,针对于涉密信息系统的大量验证操作,本发明的两个线性对的验证
操作极大地节约了时间成本。
和系统主密钥a;计算模块202,用于计算每一个用户Ui的公钥vi;以及根据输入的待签名消
息mi、状态信息λi、用户Ui、用户Ui的公钥vi、公共参数par和系统主密钥a,计算用户Ui对于待
签名消息mi的签名信息σi;生成模块203,用于根据用户Ui对于待签名消息mi的签名信息σi,
生成所有用户对所有待签名消息的聚合签名信息;验证模块204,用于对所述聚合签名信息
进行验证,以确定生成的聚合签名是否来自指定的多个用户。
再重复说明。
320上运行的计算机程序311,处理器320执行计算机程序311时实现以下步骤:根据输入的
安全参数h,输出公共参数par和系统主密钥a;计算每一个用户Ui的公钥vi;根据输入的待签
名消息mi、状态信息λi、用户Ui、用户Ui的公钥vi、公共参数par和系统主密钥a,计算用户Ui对
于待签名消息mi的签名信息σi;根据用户Ui对于待签名消息mi的签名信息σi,生成所有用户
对所有待签名消息的聚合签名信息;对聚合签名信息进行验证,以确定生成的聚合签名是
否来自指定的多个用户。
程序411被处理器执行时实现如下步骤:根据输入的安全参数h,输出公共参数par和系统主
密钥a;计算每一个用户Ui的公钥vi;根据输入的待签名消息mi、状态信息λi、用户Ui、用户Ui
的公钥vi、公共参数par和系统主密钥a,计算用户Ui对于待签名消息mi的签名信息σi;根据
用户Ui对于待签名消息mi的签名信息σi,生成所有用户对所有待签名消息的聚合签名信息;
对聚合签名信息进行验证,以确定生成的聚合签名是否来自指定的多个用户。
施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产
品的形式。
和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指
令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
实施例以及落入本申请范围的所有变更和修改。
之内,则本申请也意图包括这些改动和变型在内。