Hash-based cryptography: Difference between revisions

Content deleted Content added
m Updated the "QRL" Acronym to its current meaning "Quantum Resistant Ledger"
FrescoBot (talk | contribs)
m Bot: link syntax and minor changes
Line 24:
Some hash-based signature schemes use multiple layers of tree, offering faster signing at the price of larger signatures. In such schemes, only the lowest layer of trees is used to sign messages, while all other trees sign root values of lower trees.
 
The Naor-Yung work <ref>M. Naor, M. Yung. "Universal One-Way Hash Functions and their Cryptographic Applications". STOC 1989. [http://www.wisdom.weizmann.ac.il/~naor/PAPERS/uowhf.pdf] </ref> shows the pattern by which to transfer a limited time signature of the Merkle type family into an unlimited (regular) signature scheme.
 
==Properties of hash-based signature schemes==
Line 41:
 
==Implementations==
Unlike other popular [[Blockchain|blockchain networks]] and [[Cryptocurrency|cryptocurrencies]] that use already [[NIST]] standardized Elliptic Curve Digital Signature Algorithms ([[Elliptic Curve Digital Signature Algorithm|ECDSA)]])<ref>{{Cite journal|last=Wang|first=Licheng|last2=Shen|first2=Xiaoying|last3=Li|first3=Jing|last4=Shao|first4=Jun|last5=Yang|first5=Yixian|date=2019-02-01|title=Cryptographic primitives in blockchains|url=http://www.sciencedirect.com/science/article/pii/S108480451830362X|journal=Journal of Network and Computer Applications|volume=127|pages=43–58|doi=10.1016/j.jnca.2018.11.003|issn=1084-8045}}</ref>, The Quantum Resistant Ledger (QRL) is the first [[Open-source software|open source]] network to implement eXtended Merkle Signature Scheme<ref>{{cite web|url=https://theqrl.org/|title=The Quantum Resistant Ledger|date=2019-08-24|website=theqrl.org|language=en}}</ref>. In contrast to traditional ECDSA signatures, this stateful signature scheme is provably resistant to a sufficiently powerful quantum computer running [[Shor's algorithm|Shor’s algorithm]]. <ref>{{cite web|title=NIST Stateful Hash-Based Signatures|url=https://csrc.nist.gov/CSRC/media/Projects/Stateful-Hash-Based-Signatures/documents/stateful-HBS-public-comments-June2018-rfi.pdf|website=NIST|language=en|date=2019-02-04}}</ref><ref>{{Cite web|url=https://csrc.nist.gov/Projects/Stateful-Hash-Based-Signatures|title=Hash-Based Signatures {{!}} CSRC|last=Computer Security Division|first=Information Technology Laboratory|date=2018-12-20|website=CSRC {{!}} NIST|language=EN-US|access-date=2019-09-06}}</ref>
 
The XMSS, GMSS and SPHINCS schemes are available in the Java [[Bouncy Castle (cryptography)|Bouncy Castle]] cryptographic APIs.<ref>{{cite web|title=bcgit/bc-java|url=https://github.com/bcgit/bc-java/tree/master/core/src/main/java/org/bouncycastle/pqc/crypto|website=GitHub|language=en|date=2018-12-18}}</ref> SPHINCS is implemented in the SUPERCOP benchmarking toolkit.<ref>{{cite web|title=SUPERCOP|url=http://bench.cr.yp.to/supercop.html}}</ref> Optimised<ref>{{cite web|title=Code|url=https://huelsing.wordpress.com/code/|website=Andreas Hülsing}}</ref> and unoptimised<ref>{{cite web|title=squareUP > Publications|url=http://www.pqsignatures.org/index/publications.html#code|website=www.pqsignatures.org|language=en-gb}}</ref> reference implementations of the XMSS RFC exist. The LMS scheme has been implemented in Python<ref>{{cite web|last1=David|first1=McGrew|title=The hash-sigs package: an implementation of the Leighton-Micali Hierarchical Signature System (HSS).|url=https://github.com/davidmcgrew/hash-sigs/|website=GitHub|language=en|date=2018-05-29}}</ref> and in C<ref>{{cite web|last1=David|first1=McGrew|title=A full-featured implementation of the LMS and HSS Hash Based Signature Schemes from draft-mcgrew-hash-sigs-07.|url=https://github.com/cisco/hash-sigs|website=GitHub|language=en|date=2018-11-22}}</ref> following its Internet-Draft.