[发明专利]生成签名的方法、装置、终端及服务器有效
申请号: | 201911269567.8 | 申请日: | 2017-11-10 |
公开(公告)号: | CN110971414B | 公开(公告)日: | 2021-05-04 |
发明(设计)人: | 张建俊;吴立垒;屠海涛;李茂材;孔利;唐子超;邹文伟;藏军 | 申请(专利权)人: | 财付通支付科技有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/08 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 邢惠童 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 生成 签名 方法 装置 终端 服务器 | ||
1.一种生成签名的方法,其特征在于,所述方法应用于数据共享系统中的跟随节点上,所述方法包括:
获取随机数,根据所述随机数,生成特征值;
获取待签名的消息、私钥以及公钥;
获取多个签名方的特征值、待签名的消息以及第一数值,所述第一数值为[2512,+∞)的范围内的素数;
根据所述多个签名方的特征值以及所述第一数值,生成聚合特征值;
根据所述聚合特征值、所述待签名的消息以及预设单向散列函数,生成所述消息摘要;
根据所述消息摘要、所述随机数以及所述私钥,生成子签名;
将所述子签名以及所述公钥发送至所述签名聚合方,由所述签名聚合方获取多个签名方的公钥和子签名,根据所述多个签名方的公钥的乘积与所述第一数值进行求余运算生成聚合公钥,根据多个子签名的和值以及所述消息摘要生成聚合签名。
2.根据权利要求1所述的方法,其特征在于,所述获取随机数,根据所述随机数,生成特征值,包括:
获取第一数值p以及第二数值q,所述第一数值p以及所述第二数值q为素数,满足q为(p-1)的因子,且p≥2512,q≥2140;
获取生成底数g,所述g满足(gq-1)能被p整除;
获取随机数,所述随机数的取值范围为(0,q);
根据所述随机数、所述生成底数、以及所述第一数值,生成特征值。
3.根据权利要求1所述的方法,其特征在于,所述聚合公钥的长度小于多个公钥拼接后的长度。
4.根据权利要求1所述的方法,其特征在于,所述根据所述多个签名方的特征值以及所述第一数值,生成聚合特征值,包括:
计算多个特征值的乘积,根据所述多个特征值的乘积与所述第一数值,生成聚合特征值。
5.根据权利要求1所述的方法,其特征在于,所述根据多个子签名的和值以及所述消息摘要生成聚合签名,包括:
根据所述多个子签名,生成聚合子签名,将所述聚合子签名以及所述消息摘要进行拼接,将拼接得到的结果确定为聚合签名。
6.根据权利要求1所述的方法,其特征在于,当所述签名聚合方为数据共享系统中的客户端设备时,所述多个签名方为所述客户端设备所提供的多个账户地址,所述待签名的消息为各个账户地址对应的数值转移信息。
7.根据权利要求1所述的方法,其特征在于,当所述签名聚合方为数据共享系统中的客户端设备时,所述待签名的消息为合约数据,所述合约数据用于限制交易完成的条件。
8.根据权利要求1所述的方法,其特征在于,当所述签名聚合方为数据共享系统中的领导节点时,所述多个签名方中的每个签名方为所述数据共享系统中的跟随节点;
相应地,所述获取消息摘要,包括:
接收所述数据共享系统中的领导节点发送的消息摘要;
所述获取多个签名方的公钥和子签名包括:
接收每个跟随节点所发送的公钥和子签名;
所述根据所述多个子签名的和值以及所述消息摘要生成聚合签名之后,所述方法还包括:
接收所述领导节点发送的所述聚合公钥和所述聚合签名。
9.根据权利要求8所述的方法,其特征在于,所述聚合公钥和所述聚合签名由所述领导节点添加至共识确认包中并发送至所述跟随节点,所述共识确认包中还包括待签名的消息;所述方法还包括:
从所述共识确认包中提取聚合公钥、聚合签名以及待签名的消息;
根据聚合公钥以及聚合签名对所述消息进行签名校验;
当所有跟随节点对消息进行签名校验通过后,存储共识确认包中的待签名的消息、聚合签名以及聚合公钥。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于财付通支付科技有限公司,未经财付通支付科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911269567.8/1.html,转载请声明来源钻瓜专利网。