[发明专利]一种抗量子计算攻击的默克尔树签名方法在审

专利信息
申请号: 202011073739.7 申请日: 2020-10-09
公开(公告)号: CN114338029A 公开(公告)日: 2022-04-12
发明(设计)人: 邱望洁;袁波 申请(专利权)人: 苏州鸿链信息科技有限公司
主分类号: H04L9/32 分类号: H04L9/32
代理公司: 暂无信息 代理人: 暂无信息
地址: 215010 江苏省苏*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 量子 计算 攻击 克尔 签名 方法
【权利要求书】:

1.一种抗量子计算攻击的默克尔树签名系统,其特征在于,可分为签名子系统和验证子系统两部分。其中签名子系统包括PN序列随机数生成模块、HASH函数核心运算模块、伪随机数生成器PRNG、签名-验证密钥对生成与存储模块、默克尔树公钥运算模块、计数器模块、消息摘要生成模块、一次性签名模块;验证子系统包括消息摘要生成模块、一次性签名验证模块、HASH函数核心运算模块、默克尔树根节点验证模块、综合判断模块;

PN序列随机数生成模块1通过256位的线性反馈移位寄存器产生PN256随机序列,并将该256位的伪随机数D10发送至HASH函数核心运算模块2作为HASH函数的随机输入参数,从而保证HASH函数的可变性和语义安全性,同时将伪随机数D10发送至验证子系统的HASH函数核心运算模块11;

HASH函数核心运算模块2是签名子系统中通过硬件电路高速实现HASH函数的核心部件,其接收来自PN序列随机数生成模块1的伪随机数D10作为HASH函数的核心参数,其分别接收到默克尔树公钥运算模块5、一次性签名验证模块8发送来的HASH函数运算待处理数据D50和D80,进行HASH运算后分别发送处理结果D20、D21至默克尔树公钥运算模块5和一次性签名验证模块8;

伪随机数生成器PRNG 3接收到DSeed0并以此为初始随机种子SEED0用于生成大量的签名秘钥,如图3。伪随机数生成器PRNG 3的核心是伪随机数产生单元PRNG,PRNG的运算逻辑可以表示为PRNG:{0,1}n→{0,1}n×{0,1}n,在图3中的第一行中,SEEDi经过PRNG运算得到SEEDi+1,即第一行由初始随机种子SEED0逐个生成种子序列SEEDi(i=1,2,3,…,2H-1),总共可以生成2H个种子,本发明中H指默克尔树的高度;而在图3的第i列中,由随机种子SEEDi逐个生成签名秘钥的分量xi,0、xi,1、xi,2、…、xi,n-1,而上述分量组成了一个签名秘钥Xi=(xi,0,xi,1,xi,2,…,xi,n-1),总共可以产生共2H个签名秘钥D30,并将D30发送至签名-验证密钥对生成与存储模块4。因为通过DSeed0可以扩展出所有的签名秘钥,所以DSeed0作为签名系统的私钥KEY_sec安全保存。伪随机数生成器PRNG3接收到签名-验证密钥对生成与存储模块4发送来的签名秘钥的查询坐标值D40,并将D40请求的签名秘钥D31发送给签名-验证密钥对生成与存储模块4;

签名-验证密钥对生成与存储模块4接收来自伪随机数生成器PRNG3发送来的2H个签名秘钥D30,并通过HASH单向函数运算模块对D30进行处理生成验证秘钥Yi=(yi,0,yi,1,yi,2,…,yi,n-1),其中yi,j=f(xi,j)(i=0,1,2,3,…,2H-1;j=0,1,2,…,n-1),其中单向函数f表示为f:{0,1}n→{0,1}n。签名子系统初始化阶段,签名-验证密钥对生成与存储模块4将所有的验证秘钥集合发送至默克尔树公钥运算模块5,用于计算签名系统的公钥KEY_pub。在签名子系统执行一次性签名阶段,签名-验证密钥对生成与存储模块4将签名秘钥坐标值的查询请求D41发送给计数器模块,从而接收来自计数器模块反馈的签名秘钥的坐标值D60=s,根据D60确定本次签名所需的签名秘钥的坐标值并向伪随机数生成器PRNG3发送签名秘钥的查询坐标值D40,从而接收伪随机数生成器PRNG3发送来的签名秘钥D31。签名-验证密钥对生成与存储模块4将用于一次性签名的数据D42=(s,Xs,Ys,Ys到默克尔根节点的途经节点在同一父节点之下的兄弟节点值)发送至一次性签名模块8;

默克尔树公钥运算模块5用于计算签名系统的公钥,如图4所示。其接收到签名-验证密钥对生成与存储模块4发送来的验证秘钥集合按照图4中的结构生成默克尔树的根节点值,作为签名系统的公钥D51=KEY_pub,同时将KEY_pub广播给所有用户。以图4中高度H=3的默克尔树为例,具体根节点值的运算过程如下:v0,j=hash(Yj),vh,j=hash(vh-1,2j||vh-1,2j+1),1≤h≤H,0≤j2H-h,这里vh,j表示默克尔树中高度为h,坐标为j的节点值,hash为哈希函数,||表示拼接。在此过程中,默克尔树公钥运算模块5将所有需要HASH运算的需求D50发送至HASH函数核心运算模块2,从而获得HASH函数核心运算模块2反馈回来的HASH计算结果D20

计数器模块6接收到签名-验证密钥对生成与存储模块4关于签名秘钥坐标值的查询请求D41,并向签名-验证密钥对生成与存储模块4反馈本次签名所使用的签名秘钥的坐标值D60。在每次一次性签名完成后,计数器模块6的内部寄存器s=s+1,即坐标值+1指向下一个待使用的签名秘钥;

消息摘要生成模块7接收待签名的消息数据Din_sign=m,并通过特定的HASH函数对其进行处理得到消息摘要D70=d=(dn-1,dn-2,…,d0)发送至一次性签名模块8;

一次性签名模块8接收消息摘要生成模块7发来的消息摘要D70=d=(dn-1,dn-2,…,d0),接收到签名-验证密钥对生成与存储模块4发来的用于一次性签名的信息D42=(s,Xs,Ys,Ys到默克尔根节点验证的途经节点在同一父节点之下的兄弟节点值),接收到默克尔树公钥运算模块5发送来的签名系统的公钥D51=KEY_pub。通过对摘要d进行签名,得到消息签名通过Ys到默克尔根节点验证的途经节点在同一父节点之下的兄弟节点值,计算Ys到默克尔树根节点的验证路径P=(p1,p2,…,pH-1),其中,这里h=0,1,…,H-1,符号/表示整数相除求整数商,符号表示下取整。如图5所示,以高度H=3的默克尔树为例,P=(v0,5,v1,3,v2,0,v3,5)。最后,签名子系统输出完整的默克尔树数字签名Dout_sign=(m,s,es,Ys,P);

消息摘要生成模块9接收到消息的数字签名Dout_sign=(m,s,es,Ys,P)中的m,并通过与签名子系统同样的HASH函数对消息m进行处理得到消息摘要D90=g=(gn-1,gn-2,…,g0)发送至一次性签名验证模块10;

一次性签名验证模块10接收到消息摘要生成模块9发来的消息摘要D90=g=(gn-1,gn-2,…,g0),接收到到消息的数字签名Dout_sign=(m,s,es,Ys,P)中的s、es和Ys,通过计算并检验等式是否成立,从而验证一次性签名es的有效性,即确认es是否由验证秘钥Ys对应的签名秘钥Xs签名所得,若成立,则表示签名es有效,否则无效。将一次性签名es的验证结果D100发送给综合判断模块13;

HASH函数核心运算模块11是验证子系统中通过硬件电路高速实现HASH函数计算的核心部件,其接收来自PN序列随机数生成模块1的伪随机数作为HASH函数的核心参数,其接收到默克尔树根节点验证模块12发送来的HASH函数运算待处理数据D120,进行HASH运算后发送处理结果D110至默克尔树根节点验证模块12;

默克尔树根节点验证模块12接收到消息的数字签名Dout_sign=(m,s,es,Ys,P)中的P和Ys,接收来自默克尔树公钥运算模块5发来的签名系统的公钥D51=KEY_pub。如图5,通过P=(p1,p2,…,pH-1)按照默克尔树根节点的计算方法计算根节点值Merkel,T0=hash(Ys),若则Th=hash(Th-1||ph-1),若则Th=hash(ph-1||Th-1),这里1≤h≤H,最后得到,Merkel=TH。若Merkel=KEY_pub成立,则说明Ys是一个有效的验证秘钥,否则无效,将一次性验证秘钥Ys的判断结果D121发送至综合判断模块13;

综合判断模块13接收来自一次性签名验证模块10的一次性签名es的验证结果D100和来自默克尔树根节点验证模块12的一次性验证秘钥Ys的判断结果D121。当且仅当D100和D121均验证成功,则判定该签名验证成功,否则其中任意一个结果失败,则视为该签名验证失败。综合判断模块13输出判定结果Dout_verify,表示签名的整体有效性。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州鸿链信息科技有限公司,未经苏州鸿链信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202011073739.7/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top