[发明专利]兼容多种公开密钥算法签名的方法和系统在审
申请号: | 202110373968.9 | 申请日: | 2021-04-07 |
公开(公告)号: | CN113079025A | 公开(公告)日: | 2021-07-06 |
发明(设计)人: | 郑姣;宋金泽;李星星 | 申请(专利权)人: | 上海万向区块链股份公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30 |
代理公司: | 上海段和段律师事务所 31334 | 代理人: | 李佳俊;郭国中 |
地址: | 200086 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 兼容 多种 公开 密钥 算法 签名 方法 系统 | ||
本发明提供了一种兼容多种公开密钥算法签名的方法和系统,包括:步骤1:在区块链上的智能合约虚拟机中引入公开密钥加密算法的代码库;步骤2:在智能合约上增加交易验证逻辑;步骤3:用户根据公开密钥加密算法,对交易进行签名;步骤4:区块链根据公开密钥加密算法和交易验证逻辑,验证交易签名。本发明支持旧密钥导入,用户原有密钥无需更换,仍然可以在区块链上正常使用,降低了旧系统对接区块链的成本。
技术领域
本发明涉及区块链技术领域,具体地,涉及一种兼容多种公开密钥算法签名的方法和系统。
背景技术
在区块链中,为了保证数据在整个系统中不可篡改,以及保证交易双方的身份真实可靠等原因,需要对交易数据进行签名认证。
目前,绝大部分区块链都会采用公开密钥加密算法来生产公钥和私钥,使用公钥对交易做加密处理得到交易密文,在进行交易时,再使用私钥对交易密文进行解密对交易进行签名验证。现有的区块链大多只支持一种公开密钥加密算法(大多数都采用了SECP256K1算法),而且加密算法一旦确定就无法更改,除非通过不兼容升级才可以更改,也就是说无法在不影响用户体验的前提下更改加密算法。
专利文献CN109816383A(申请号:CN201910131593.8)公开了一种区块链签名方法、区块链钱包和区块链,用以解决现有技术中区块链签名方案中使用单一固定的公开密钥加密算法,无法更改公开密钥加密算法的问题,但该方法需要采用该发明配套的区块链、配套的区块链钱包才能实施,对于已经在市场上的老的区块链难以平滑升级,且不支持旧密钥导入,需要使用配套的区块链钱包重新生成新的密钥。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种兼容多种公开密钥算法签名的方法和系统。
根据本发明提供的兼容多种公开密钥算法签名的方法,包括:
步骤1:在区块链上的智能合约虚拟机中引入公开密钥加密算法的代码库;
步骤2:在智能合约上增加交易验证逻辑;
步骤3:用户根据公开密钥加密算法,对交易进行签名;
步骤4:区块链根据公开密钥加密算法和交易验证逻辑,验证交易签名。
优选的,所述步骤1包括:智能合约虚拟机对公开密钥加密算法的函数入口进行封装,并给智能合约调用。
优选的,所述步骤2包括:调用封装的公开密钥加密算法的函数入口,根据不同公开密钥加密算法对签名进行验证。
优选的,所述步骤3包括:
步骤3.1:用户使用选择的公开密钥加密算法对第一交易信息做第一签名,并将第一签名和第一交易信息进行组装,生成第二交易信息;
步骤3.2:用户使用区块链原本支持的公开密钥加密算法对第二交易信息做第二签名,并组装成第三交易信息。
优选的,所述步骤4包括:
步骤4.1:区块链使用原有的方式对第三交易信息中的第二签名进行验证;
步骤4.2:智能合约使用用户选择的公开密钥加密算法和智能合约交易验证逻辑,对第一签名进行验证。
根据本发明提供的兼容多种公开密钥算法签名的系统,包括:
模块M1:在区块链上的智能合约虚拟机中引入公开密钥加密算法的代码库;
模块M2:在智能合约上增加交易验证逻辑;
模块M3:用户根据公开密钥加密算法,对交易进行签名;
模块M4:区块链根据公开密钥加密算法和交易验证逻辑,验证交易签名。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海万向区块链股份公司,未经上海万向区块链股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110373968.9/2.html,转载请声明来源钻瓜专利网。