[发明专利]一种用于产生Merkle树签名方案认证路径的新方法有效

专利信息
申请号: 201310341001.8 申请日: 2013-08-07
公开(公告)号: CN103441845A 公开(公告)日: 2013-12-11
发明(设计)人: 彭双和;韩臻;刘吉强 申请(专利权)人: 北京交通大学
主分类号: H04L9/32 分类号: H04L9/32;G06F9/44
代理公司: 北京正理专利代理有限公司 11257 代理人: 张文祎
地址: 100044*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 用于 产生 merkle 签名 方案 认证 路径 新方法
【说明书】:

技术领域

发明涉及信息安全领域,特别是涉及一种用于产生Merkle树签名方案认证路径的新方法,应用于数字签名领域。

背景技术

数字签名是安全通信应用中不可缺少的部分。以往的数字签名机制,如DSA(Digital Signature Scheme)签名机制和RSA签名机制依赖于解决离散对数问题和大因子分解问题的困难性。目前,还没有解决这些困难问题的有效办法。但这并不意味着没有解决这些问题的算法存在,而且,在量子计算机存在的情况下已有相关算法能解决这些困难问题。因此,在DSA签名机制和RSA签名机制不再安全的情况下有必要提出新的签名机制。Merkle签名机制正是这样的签名方案。

Merkle签名机制是依赖于安全hash函数的一次签名机制。一次签名机制存在的主要问题是密钥的管理。因此,1979年Merkle提出了Merkle签名方案MSS(Merkle Signature Scheme),该方案中只需一个公钥就可实现多个消息的签名。怎样有效地求得各叶子节点的认证路径是Merkle签名方案中非常重要的一环。目前,认证路径节点值计算使得Merkle签名方案效率低下,并且认证路径节点值庞大的计算量也使Merkle签名方案很难应用于实际。

如图1所示,若有8个消息A8..A15需要签名,Merkle签名方案的思想是根据这8个消息的hash值作为叶子节点构建完全二叉树,内部节点是其左右孩子节点值级联后的hash值。根节点的值h1即为签名机制的公钥。

如图2所示,叶子节点NodeH对应消息m的签名为sig=(sig’||NodeI||NodeE||NodeC)。其中,sig’即为消息m的hash值,斜线节点定义为叶子节点NodeH的认证路径节点,它是叶子节点NodeH到根节点NodeA路径上各节点的兄弟节点。

怎样有效地求得各叶子节点的认证路径是Merkle签名方案中非常重要的一环。

发明内容

本发明的目的在于提出一种新的方法用于产生Merkle树签名方案的认证路径。本发明根据完全二叉树的性质,利用双栈结构,获取Merkle签名树中叶子节点的认证路径。

本发明的目的可以通过以下措施来达到:

一种用于产生Merkle树签名方案认证路径的新方法,包括以下步骤:

首先设置两个栈,分别为stackNode和stackAuth,并将所述两栈初始化为空栈,分别用于存储签名树中的当前访问的节点及其认证路径节点,并将栈中的当前访问节点和认证路径节点分别设置一个标志位flag,用于记录栈中节点的左右孩子是否已经入栈。当标记为0时表示其孩子节点未曾入栈,当标记为1时表示其孩子节点已经入栈,执行如下的步骤:

第一步,将Merkle签名树的根节点左右孩子节点分别入栈stackNode 和stackAuth,并设进栈元素的flag标志为0;

第二步,判断栈stackNode是否为空?若不为空则进行第三步,若为空,则结束;

第三步,获取stackNode栈中的栈顶元素curNode,判断curNode是否为内部节点?若是,则进行第四步,否则进行第五步;

第四步,判断curNode节点的flag标志?

(1)若curNode节点的flag标志为0,则其对应的左右孩子分别进栈,并设置curNode节点的flag标志为1,跳转到第二步;

(2)若curNode节点的flag标志为1,则判断curNode节点与另一栈stackAuth的栈顶节点即stackAuth.Top()的关系?

(a)若curNode节点的右兄弟为stackAuth.Top(),则两栈stackNode和stackAuth的栈顶元素交换位置,即stackNode.Top()<-->stackAuth.Top();

(b)若curNode节点是stackAuth.Top()的右兄弟,则两栈栈顶元素出栈,即stackNode.pop(),并且stackAuth.pop(),跳转到第二步;

第五步,输出stackAuth栈中的全部节点,这些节点即为curNode节点的认证路径上的所有节点,并判断curNode节点与stackAuth栈栈顶元素的关系?

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

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京交通大学,未经北京交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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