新闻资讯

提供最新的公司新闻、行业资讯、API产品、帮助支持等信息

联系我们

如何使用量子计算机创建Lamport哈希值签名

你是否还记得那个时候电脑有“intel内嵌”的标示吗?嗯,迅速,很有可能便会出現宣传策划“后量子科技robust”的纸贴。这种纸贴将说明所应用的手机软件不容易被量子计算机的出現所毁坏。无论你爱不爱,大家区块链技术上目前的全部签名都将被毁坏,大家的绝大多数数据签名手机软件也将随着被毁坏,因而Corda和IOTA等程序运行已经为后量子科技时期做准备,而别的很多程序运行仅仅在睡觉时走入一个信赖被毁坏的全球。

详细介绍

公钥方法为大家出示了认证推送方一致性的方法。悲剧的是,大部分用以建立这种签名的方法,如素数因素溶解(如RSA)和椭圆曲线方法,都将被量子计算机破译。文中简述了一些根据哈希值的签名方法,这种方法能够 作为根据哈希值的签名的基本。

我们在互联网技术上见到的很多难题都和买卖中欠缺信赖相关。你接到的电子邮箱与你浏览的网址通常沒有是多少信赖。以便得到信赖,大家查验发货人的电子邮箱详细地址,可是所有人都能够仿冒该详细地址。因而,大家愈来愈多地建立数据签名,并在这其中应用私钥对信息签名。根据这类方法,我们可以查验身份认证、一致性和毫无疑问性。

根据这一,Alice建立了一个密匙对:一个公钥和一个私钥。随后,她获得信息的哈希值,并且用她的私钥数据加密这一哈西还(它是她的签名),并将信息和签名传送给Bob。随后Bob载入信息并对其开展hach。随后他将Alice的签名公布破译,并查验哈希值。假如她们配对,他就了解她签了名,并且在这里全过程中沒有变更:

现阶段,大家常常应用RSA、DSA和ECDSA对信息开展签名。这种全是根据找到一个数的因素难度系数和离散变量多数的解决。现阶段这种方法都存有测算艰难的难题,可是拥有量子计算机,他们越来越非常容易多了。Peter Shor证实了其在多项式时间内是能够 破译他们的。

在全部明确提出的方法中,根据哈希值的方法看上去有非常大的机遇取得成功地建立量子科技robust签名。根据网格图和编码的方法已经科学研究中,但哈希值方法的应用早已获得了非常好的界定,能够 出示目前方法的最好取代方法。哈希值方法也经常产生别的优势,例如往前安全系数,这代表着被破译的密匙不容易显示信息全部之前的密匙。

Lamport签名

没多久的未来,大家很有可能必须舍弃目前的公钥方法,继而应用对量子计算机更具有趣味性的技术性。伴随着Shor ‘s alorigthm [here]在量子计算机上的完成,大家将见到大家的RSA和椭圆曲线方法被量子科技robust方法所替代。一种方法是Lamport签名方法,由Leslie B. Lamport于1979年建立:

现阶段,它被觉得是一种用以信息签名的量子科技健硕技术性。在我们签定一条信息时,大家获得它的哈希值,随后用大家的私钥数据加密。随后应用公钥来证实它,并将证实大家应用私钥签定了它。Lamport签名应用512个任意哈希值做为私钥,他们被分为结合A和结合B。公钥是这种哈希值。私钥的尺寸为16KB(2×256×256位),公钥的尺寸也是16KB(512哈希值,每一个哈希值包括256位)。

建立Lamport哈希值签名的基础方法是:

· 大家建立了2个数据,在其中包括256个任意256位数据(结合A和结合B)。

· 接下去大家取每一个随机数字的哈希值。这将造成512个哈希值,并将做为公钥。

· 随后大家应用SHA-256对信息开展hach,随后检测哈希值的每一个位(0…255)。假如它是0,大家用结合A中的第i数量,不然大家用结合B中的第i数量。

· 签名是256个随机数字(来源于结合A或结合B),公钥是512个哈希值(来源于结合A和结合B)。

该全过程如下图所显示:

我们可以应用Lamport方法开展一次性签名,可是在其关键文件格式中,每一次签名都必须一个新的公钥。Lamport的关键难题是大家只有应用每一个公钥签名一次。但是,我们可以根据建立一个哈希值树来摆脱这个问题,它是将好几个公钥合拼到一个网站根目录中。

一个实例运作,它只显示信息前好多个私钥和第一个公钥:

==== Private key (keep secret) =====

Priv[0][0] (SetA): 6f74f11f20953dc91af94e15b7df9ae00ef0ab55eb08900db03ebdf06d59557c

Priv[0][1] (SetB): 4b1012fc5669b45672e4ab4b659a6202dd56646371a258429ccc91cdbcf09619

Priv[1][0] (SetA): 19f0f71e913ca999a23e152edfe2ca3a94f9869ba973651a4b2cea3915e36721

Priv[1][1] (SetB): 04b05e62cc5201cafc2db9577570bf7d28c77e923610ad74a1377d64a993097e

Priv[2][0] (SetA): 15ef65eda3ee872f56c150a5eeecff8abd0457408357f2126d5d97b58fc3f24e

Priv[2][1] (SetB): 9a5e7513075ce3fbea71fbec9b7a1d43d049af613aa79c6f89c7671ab8921073

Priv[3][0] (SetA): 1c408e62f4c44d73a2fff722e6d6115bc614439fff02e410b127c9aeeaa94346

Priv[3][1] (SetB): e9dcbdd63d53a1cfc4c23ccd55ce008d5a71e31803ed05e78b174a0cbaf43887

==== Public key (show everyone)=====

Pub[0][0]: 7f2c9414db83444c586c83ceb29333c550bedfd760a4c9a22549d9b4f03e9ba9

Pub[0][1]: 4bc371f8b242fa479a20f5b6b15d36c2f07f7379f788ea36111ebfaa331190a3

Pub[1][0]: 663cda4de0bf16a4650d651fc9cb7680039838d0ccb59c4300411db06d2e4c20

Pub[1][1]: 1a853fde7387761b4ea22fed06fd5a1446c45b4be9a9d14f26e33d845dd9005f

==== Message to sign ===============

Message: The quick brown fox jumps over the lazy dog

SHA-256: d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592

==== Signature =====================

Sign[0]: 4b1012fc5669b45672e4ab4b659a6202dd56646371a258429ccc91cdbcf09619

Sign[1]: 04b05e62cc5201cafc2db9577570bf7d28c77e923610ad74a1377d64a993097e

Sign[2]: 9a5e7513075ce3fbea71fbec9b7a1d43d049af613aa79c6f89c7671ab8921073

Sign[3]: 1c408e62f4c44d73a2fff722e6d6115bc614439fff02e410b127c9aeeaa94346

The signature test is True

在本例中,大家取随机数字,随后将其变换为字符串数组。因而,“6f74f11f20953dc91af94e15…0db03ebdf06d59557c”的SHA-256签名为7f2c9414db83444c587c…49d9b4f03e9ba9。假如能见到信息哈希值(“the quick brown fox jumps over the lazy dog”)在开始有一个十六进制D值,在二进制中是1101,大家见到大家从SetB[0]、SetB[1]、SetA[2]和SetB[3]中获取。

结果

Lamport OTS速率迅速,可是密匙尺寸和签名相对性很大。那麼Lamport有哪些难题呢?它是一次性使用,大家只有应用公钥一次。可是,在BTC中,大家可以用当今的公钥签名,随后加上下一个公钥。殊不知,ECDSA的较大 优势是公钥仅有33字节数长,签名是73字节数,而Lamport签名的公钥是16 KB(256位的512个版本号),签名是8KB(256个版本号的256位)。

可是,EDCSA应用椭圆曲线登陆密码,量子计算机非常容易破译它,因此 大家的公钥和签名很有可能早已变成以往。因而,IOTA和Corda等程序运行早已鉴别出了这类风险性,并且用后量子技术替代了RSA和ECC方法。IOTA集成化了Winternitz一次性签名计划方案(W-OTS),该计划方案转化成了合理的密匙尺寸和缩小签名,Corda应用区块链技术后量子科技签名(BPQS) [Link]。

开启APP阅读文章更多精彩內容

文章转载自网络,如有侵权,请联系api@1dq.com删除

相关关键词

相关新闻

暂时没有

现在注册,免费试用所有产品

免费体验