八、一次性签名方案
一次性签名方案是由三种算法组成的:一种用于生成一次性密钥对,一种用于计算一次性签名,还有一种用于签名验证。一个OTS方案的实例有一个特定的密钥对,其中P是公钥,S是私钥。
OTS方案和Merkle树都使用哈希函数。一个重要问题是,同一哈希函数是否可以安全地用于这两种结构。事实上,通过在每个哈希中包括一点额外的数据,我们基本上可以把一个散列函数当作许多不同的散列函数。换句话说,如果我们使用SHA-256来生成OTS实例,我们仍然可以安全地使用SHA-256来构建Merkle树。
多次或完整,基于哈希的签名方案使用哈希树来有效地结合OTS方案的许多实例。
九、基于哈希的密码学是如何工作的?
我们现在将讨论Merkle如何使用二进制树-如图1所示的二进制树-结合许多个OTS来创建一个基于哈希的多次签名方案的公钥。虽然从这些OTS中构建树的初始步骤与许多其他抗量子的构建相比通常很慢,但签名却很快。
徐明星新书《趣说金融史》正式发布 科普金融发展之道:金色财经现场报道,9月23日,欧科云链创始人徐明星携手著名财经作家李霁月、行业观察者顾泽辉力作《趣说金融史》一书,跨越5000年金融历史,重读金钱故事,并预测新的金融时代。该书由中信出版社出版,将于近期正式发售。据了解,本书可以更好地呈现金融的起源与发展,帮助人们理解货币、金融与未来经济。作为区块链行业领军企业——欧科云链的创始人,徐明星深知技术探索对经济社会的重要推动作用,他曾先后出版过《图说区块链》、《区块链:重塑经济与世界》、《通证经济》、《链与未来》等行业权威著作,解读区块链等新型技术的推动下,金融与社会的升级之道,对经济社会发展做出了重大贡献。其中,《区块链:重塑经济与世界》曾作为新中国70周年重点推荐图书之一被相关书店推荐。[2021/9/23 17:00:57]
十、二叉树
在一棵标准的二叉树中,所有的节点都是成对出现的,它们上面有一个节点,从最下面的节点到最上面的节点的距离总是相同的。另一个节点的正上方是其父节点,父节点的正下方是其子节点,一对具有相同父节点的子节点被称为兄弟姐妹节点。例如,在图2和图3中,N(1,0)和N(1,1)是兄弟姐妹节点。它们也是N(2,0)的子节点;也就是说,N(2,0)是它们的父节点。
美国说唱歌手Megan Thee Stallion与Cash App合作发布比特币科普视频:美国说唱歌手Megan Thee Stallion与由Square开发的移动支付服务Cash App合作发布了一段名为“Bitcoin for Hotties”的视频。该视频从她的角度解释了什么是比特币,为什么比特币有价值等内容。Megan Thee Stallion在Instagram上拥有超过2410万粉丝,在 Twitter上拥有640万粉丝。(Bitcoin News)[2021/8/8 1:41:10]
最上面的节点被称为根节点。树的底部没有子节点的节点被称为叶节点。叶节点表示为L0,....,图2中的L7。
一个节点的级别是它与底部的距离。我们的意思是叶子节点有0级,图2中的节点N(j,i)有j级。根节点的级别,通常表示为h,称为树的高度。例如,图2中的树的高度为3。Merkle使用二进制树来组合OTS,更具体地说:每个叶子节点来自一个OTS实例的公钥,而树上的每个其他节点都是由它的两个子节点计算出来的。我们现在将描述这些节点是如何使用加密散列函数计算的。
人民数字FINTECH推出区块链科普动画:人民日报数字传播发布微博称,人民数字FINTECH出品《趣味科普|区块链动画》。[2020/3/31]
十一、加密哈希函数(CryptographicHashFunctions)
简单地说,加密哈希函数H是一个将任意数量的数据映射到一个合理的、通常是固定长度的输出的函数,在这种情况下,实际上不可能找到一个映射到特定输出的输入。
直观来讲,我们可以认为默克尔树是使用哈希函数将一个有序的数值集压缩成一个单一的数值,其方式是很容易证明一个数值属于原来的数值集。更具体地说,Merkle树可以从O的公钥的一个有序集合P0...Pm的OTS的公钥和哈希函数H,以如下方式构造:
每个叶子节点是一个OTS公钥的哈希输出。换句话说,让底部一行的第i个条目为L(i)=H(P(i));见图2。树上的每一个其他节点都是其两个子节点的哈希值。例如,如图3N(1,0)=H(L(0)||L(1))andN(2,1)=H(N(1,0)||N(1,1))通用表达如下:
N(1,i)=H(L2(i)||L2(i+1))andN(j+1,i)=H(N(j,2i)||N(j,2i+1)))Merkle签名算法的公钥是根节点。在图2中,根节点是N(3,0)
科普时报:区块链与云计算长期发展目标不谋而合:据《科普时报》今日报道,区块链与云计算两项技术的结合,从宏观上来说,一方面,利用云计算已有的基础服务设施或根据实际需求做相应改变,实现开发应用流程加速,满足未来区块链生态系统中初创企业、学术机构、开源机构、联盟和金融等机构对区块链应用的需求。另一方面,对于云计算来说,“可信、可靠、可控制”被认为是云计算发展必须要翻越的“三座山”,而区块链技术以去中心化、匿名性,以及数据不可篡改为主要特征,与云计算长期发展目标不谋而合。[2018/5/4]
哈希树是Merkle树的一个概括,其中P(i)是任意数据而不是OTS公钥,见图2。
由于你无法找到哈希函数的逆运算,所以实际上不可能从树中较高的节点中找到树中较低的节点。因此,给定树中的任何一组节点,特别是给定根节点,都不可能找出关于OTS签名钥匙的信息。
十二、验证路径
金色财经独家分析 监管机构、媒体、业界提示风险 区块链科普道阻且长:新华社今日发文表示,近来“区块链”类案件频发,不法分子以“投资虚拟货币周期短、收益高、风险低”为借口,取用户信任并诱使其转账进行投资。无独有偶,同日消息,腾讯手机管家安全专家也提醒此类风险,并从技术上提出防建议。在美国,监管机构警示加密货币欺诈现象普遍承诺高收益而不披露潜在风险。金色财经独家分析,不法分子假借新技术之名进行,一方面是抓住民众趋利的心理,一方面反映出区块链科普的欠缺。区块链是新兴科技和底层技术并有改变社会生产关系的潜力,应该进行系统性的科普教育,当前,部分大学已经开始设置了区块链课程,但对于普通民众仍然有科普的需求,人们应该了解到系统和正确的知识,不仅要了解区块链的好,也要明确局限和弊端,以在高收益的诱惑下,保持清醒客观。[2018/4/11]
请注意,对于任何用于创建Merkle树的P(i),都有一条从叶子节点L(i)到根节点的唯一路径。例如,在图4中,从L(2)到顶部的路径是用红色画的。给定P(i),如果你能构建一个这种形式的路径,那么这几乎可以肯定地证明P(i)是用来创建Merkle树的值之一。这源于这样一个事实,即找到具有特定输出的哈希函数H的输入在计算上是不可行的,因此你不能从树中较高的节点找到树中较低的节点。
然而,我们实际上是利用叶子到根的路径节点的同级节点来检查路径是否被合法地构建。出于这个原因,我们引入了P(i)的认证路径的概念,即从L(i)到根节点的路径中的兄弟节点的有序集合。在图4中,P(2)的认证路径是L(3),N(1,0),N(2,1)。给出P(i),以及P(i)的认证路径,我们可以验证P(i)对应的是一个叶子节点。也就是说,如果P(i)确实被用于生成树,那么鉴于认证路径,重建从P(i)到根节点的路径应该很简单。
参照图4,我们可以证明P(2)被用来创建Merkle树的公钥,只需给它的认证路径L(3),N(1,0),N(2,1),通过构建一个从P(2)到根节点的路径。
要做到这一点,我们只需检查值:
H(P(2)),H(L(3)||H(P(2))),H(N(1,0)||H(L(3)||H(P(2)))),H(N(2,1)||H(N(1,0)||H(L(3)||H(P(2)))))给出一个路径,其中最后一个值H(N(2,1)||H(N(1,0)||H(L(3)||H(P(2)))))是多次签名算法的公钥。由于P(2)实际上是用来构建Merkle树的,所以构建H(N(2,1)||H(N(1,0)||H(L(3)||H(P(2)))))=N(3,0)。
如果上述计算得到了公钥,那么我们就证明了P(2)是最初用于创建哈希树的OTS密钥之一。
十三、基于状态哈希的签名方案一览
多次方案的一般构造总结如下。
密匙生成创建m=2^h个OTS公私钥对(Pi,Si)。直观地讲,我们可以认为多次秘钥(many-timescheme)是生成OTS密钥对所需的材料。公钥生成(PublicKeyGeneration)为P1,......,Pm创建如上所述的哈希树,根节点是基于哈希的签名方案的公钥。签名(Signatures)为了签署一个信息,选择一个以前从未使用过的索引i。用Si(OTS签名密钥)对消息进行签名,得到一次性签名,并计算出Pi的认证路径。该信息的签名是一次性签名以及Pi的认证路径。验证(Verification)为了验证一个消息的签名,我们首先使用消息和运行一次性验证方案。接下来,检查Pi的认证路径是否提供了一个从Pi到基于哈希的签名的公钥的有效路径。如果是这样,则接受该消息和签名为真实的。时间/空间的权衡(Time/SpaceTradeoffs)由于树可以从P1...Pm生成,存储整个树并不总是必要的。决定存储多少树以及如何管理树,会导致各种CPU/内存等资源消耗的权衡。此外,所有的密钥P1...Pm也可以从一个单一的短种子再生,进一步减少所需的长期存储量。签名的数量(NumberofSignatures)如果树的高度是h,那么它可以用来签署多达2^h的信息。有状态的签名(StatefulSignatures)由于每个OTS签名密钥最多只能使用一次,在一个有状态的基于哈希的签名方案中,跟踪哪些一次性密钥对被使用是很重要的。参考文献:
DavidCooper,DanielApon,QuynhDang,MichaelDavidson,MorrisDworkin,andCarlMiller.Recommendationforstatefulhash-basedsignatureschemes.Technicalreport,NationalInstituteofStandardsandTechnology,2019.
AndreasHülsingetal.SPHINCS+.NISTRound2SubmissionsforPost-QuantumCryptographyStandardization,2019.
AHülsing,DButin,SGazdag,JRijneveld,andAMohaisen.XMSS:eXtendedMerkleSignatureScheme.CryptoForumResearchGroupRFC.rfc-editor.org/info/rfc8391,2018.
DavidMcGrew,MichaelCurcio,andScottFluhrer.Leighton-Micalihash-basedsignatures.CryptoForumResearchGroupRFC.rfceditor.org/info/rfc8554,2019.
RalphMerkle.Secrecy,authentication,andpublickeysystems.Ph.D.Thesis,StanfordUniversity,1979.
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。