[发明专利]基于区块链的抗量子计算公钥池更新方法和系统有效
| 申请号: | 201910734520.8 | 申请日: | 2019-08-09 | 
| 公开(公告)号: | CN110620668B | 公开(公告)日: | 2022-11-15 | 
| 发明(设计)人: | 富尧;钟一民;汪仲祥 | 申请(专利权)人: | 如般量子科技有限公司;南京如般量子科技有限公司 | 
| 主分类号: | H04L9/32 | 分类号: | H04L9/32;G06Q20/38;G06Q40/04;H04L9/40;H04L9/30;H04L9/08 | 
| 代理公司: | 杭州君度专利代理事务所(特殊普通合伙) 33240 | 代理人: | 解明铠 | 
| 地址: | 312030 浙江*** | 国省代码: | 浙江;33 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 基于 区块 量子 计算 公钥池 更新 方法 系统 | ||
1.基于区块链的公钥池更新方法,区块链的每个节点均配置有密钥卡,所述密钥卡内存储有私钥和公钥池,所述公钥池包含数量与区块链的节点数量相同的公钥池单元,各所述公钥池单元内存储有与节点对应的一个公钥、与该公钥对应的交易序列号,其特征在于,基于区块链的公钥池更新方法实施在第一客户端,区块链节点中提出公钥更新的作为第一客户端,其余各节点作为第二客户端,所述的公钥池更新方法,包括:
用哈希函数作用于原公钥得到第一原始值,对己方交易序列号和所述第一原始值进行哈希运算得到第一中间参数和第二中间参数,利用所述第一中间参数和第二中间参数分别从密钥卡中取出第一公钥和第二公钥;
对交易序列号和新公钥进行ECDSA签名得到第一签名,包括:取随机数rA,计算第一签名参数RA=rA*G=(xA,yA),其中,rA为随机数rA,G为基点,对交易序列号和新公钥进行哈希运算得到参数hA,计算第二签名参数sA=(hA+skA*xA)/rA,其中,hA为参数hA,skA为第一客户端的私钥,rA为随机数rA,组合RA和sA得到所述第一签名;
所述第一签名包括第一签名参数和第二签名参数,将所述新公钥与第一公钥相减得到第一偏移参数,将所述第一签名参数与第二公钥相减得到第二偏移参数;
将所述第一原始值、第一偏移参数、第二偏移参数和第二签名参数组合作为交易发送至第二客户端;所述第一原始值用于供第二客户端从密钥卡取出第一客户端的交易序列号,所述交易序列号和第一原始值用于供第二客户端进行哈希运算得到第一中间参数和第二中间参数,所述第一中间参数和第二中间参数用于供第二客户端分别从密钥卡中取出第一公钥和第二公钥,所述第一公钥用于供第二客户端结合第一偏移参数得到新公钥,所述第二公钥用于供第二客户端结合第二偏移参数得到第一签名参数,所述第一签名参数和第二签名参数用于供第二客户端得到第一签名,所述交易用于供第二客户端对所述第一签名验证成功后进行缓存。
2.基于区块链的公钥池更新方法,区块链的每个节点均配置有密钥卡,所述密钥卡内存储有私钥和公钥池,所述公钥池包含数量与区块链的节点数量相同的公钥池单元,各所述公钥池单元内存储有与节点对应的一个公钥、与该公钥对应的交易序列号,其特征在于,基于区块链的公钥池更新方法实施在第二客户端,区块链节点中提出公钥更新的作为第一客户端,其余各节点作为第二客户端,所述的公钥池更新方法,包括:
接收来自第一客户端的交易,所述交易包括第一原始值、第一偏移参数、第二偏移参数和第二签名参数;所述第一原始值由第一客户端利用哈希函数作用于原公钥得到,所述第一偏移参数由第一客户端将新公钥与第一公钥相减得到,所述第一公钥由第一客户端根据第一中间参数从密钥卡中取出,所述第二偏移参数由第一客户端将第一签名参数与第二公钥相减得到,所述第二公钥由第一客户端根据第二中间参数从密钥卡中取出,所述第一中间参数和第二中间参数由第一客户端对己方交易序列号和所述第一原始值进行哈希运算得到,所述第一签名参数和第二签名参数由第一客户端对交易序列号和新公钥进行ECDSA签名得到;
根据所述第一原始值从密钥卡取出第一客户端的交易序列号,对所述交易序列号和第一原始值进行哈希运算得到第一中间参数和第二中间参数,根据所述第一中间参数和第二中间参数分别从密钥卡中取出第一公钥和第二公钥,将所述第一公钥和第一偏移参数相加得到新公钥,将所述第二公钥和第二偏移参数相加得到第一签名参数;
根据所述第一签名参数和第二签名参数得到第一签名,对所述第一签名进行验证,包括:取随机数rA,计算第一签名参数RA=rA*G=(xA,yA),其中,rA为随机数rA,G为基点,对交易序列号和新公钥进行哈希运算得到参数hA,计算第二签名参数sA=(hA+skA*xA)/rA,其中,hA为参数hA,skA为第一客户端的私钥,rA为随机数rA,组合RA和sA得到所述第一签名;
在对所述第一签名进行验证时,包括:对交易序列号和新公钥进行哈希运算得到参数hA,计算(hA*G/sA)+(xA*pkA/sA)的值,其中,pkA为第一客户端的公钥,将计算结果与第一签名参数RA相比,若两者的值相等,则对第一签名验证成功;反之则对第一签名验证失败;
并在验证成功后对所述交易进行缓存。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于如般量子科技有限公司;南京如般量子科技有限公司,未经如般量子科技有限公司;南京如般量子科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910734520.8/1.html,转载请声明来源钻瓜专利网。





