[发明专利]一种基于区块链的数字签名的时间戳生成方法有效
申请号: | 201910929365.5 | 申请日: | 2019-09-27 |
公开(公告)号: | CN110830260B | 公开(公告)日: | 2021-09-24 |
发明(设计)人: | 许春香;李闯;张源 | 申请(专利权)人: | 电子科技大学 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 邹裕蓉 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 区块 数字签名 时间 生成 方法 | ||
本发明公开了一种基于区块链的数字签名的时间戳生成方法,主要包含三个阶段:系统参数建立阶段,签名阶段,验证阶段。其中,在签名阶段,签名者获取区块链中n个最新确认的区块的哈希值,并将这n个哈希值与待签名的消息M绑定在一起记为M’,对M’进行签名得到签名T,签名者计算M’||T的哈希值h,并将h通过交易Tx上传到区块链上。验证方在完成签名T的验证之后,取第n个哈希值所在区块的生成时间之后,交易Tx所在区块的生成时间之前的时间范围作为签名T的时间戳,是一种去中心化的为数字签名打时间戳的精确方法。
技术领域
本发明属于数据保护技术,具体涉及一种为数字签名打时间戳的方法。
背景技术
时间戳是数字文件创建于某个时间的证明,是保护数字信息证据价值的必不可少的工具。1990年,Stuart Haber等人在CRYPTO 90上提出了一个为数字文件打时间戳的方案,该方案通过一个可信中心为数字文件的哈希值和当前时间进行签名来实现时间戳的不可伪造性。后续工作提出了大量的改进方案,但是现有方案均依赖可信第三方,并不能解决单点失效的问题。
发明内容
本发明所要解决的技术问题是,提供一种基于区块链技术为数字签名打时间戳的实现方法。
本发明为解决上述技术问题所采用的技术方案是,一种基于区块链的数字签名的时间戳生成方法,主要包含三个阶段:系统参数建立阶段,签名阶段,验证阶段。
系统参数建立阶段:区块链生成区块并记录每个区块的生成时间,系统产生安全的哈希函数、签名算法以及相应的验证算法;
签名阶段:签名者获取区块链中n个最新确认的区块的哈希值,并将这n个哈希值与待签名的消息M绑定在一起记为M’,对M’进行签名得到签名T,签名者计算M’||T的哈希值h,并将h通过交易Tx上传到区块链上;
验证阶段:验证方在签名T的验证通过之后,取第n个哈希值所在区块的生成时间之后,交易Tx所在区块的生成时间之前的时间范围作为签名T的时间戳。
区块链是一个去中心化的分布式帐本,通过哈希值将链上的区块连接起来,保证了区块的时序性,并且区块链的每个区块中包含了该区块的产生时间。
本发明的有益效果是,基于区块链技术解决了单点失效的问题,是一种去中心化的为数字签名打时间戳的精确方法。
具体实施方式
Blockchain为一个公有区块链,对于系统中任意用户生成的数字签名,系统中其他任意用户均可通过Blockchain对该数据签名进行验证并产生精确的,具有一致性的时间戳。以下以签名者A、验证者B为例进行说明。
一、系统参数建立阶段:
设Blockchain中一个区块后链接有n个区块则可以确认该区块在Blockchain上。系统生成安全的哈希函数H(.)、签名算法SigA(.)以及相应的验证算法VerA(.),下标A表示签名者A。T=SigA(M)表示签名者A对消息M签名,得到签名T。VerA(M,T)表示验证者验证签名者A对消息M的签名T的有效性,有效则返回true,无效则返回false。||表示连接符号。签名算法Sig可以为任意签名算法。
二、签名阶段:
签名者A需要对消息M签名时,执行以下操作:
1.获取目前Blockchain上最新确认的n个区块的哈希值h1,h2,...,hn(按照区块高度由低到高排列);优选的,在以太坊中n≥12,在比特币中n≥6;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学,未经电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910929365.5/2.html,转载请声明来源钻瓜专利网。