Analysis of the Cryptographic Tools for Blockchain and Bitcoin
Abstract
:1. Introduction
2. Hash Functions
2.1. Definition
- f is a unidirectional function, thus, from a computational standpoint, it must be easy to compute for all elements but, at the same time, it must be very difficult to obtain for a given value .
- If additional information, known as trapdoor, is learned, then it must be feasible to calculate in polynomial time an element so that .
2.2. Properties
- Bit dependency: The hash of a message, , must be a complex function dependent on all the bits of the message, so that, if a bit of the message is changed, its hash must change, approximately, half of the bits.
- Preimage Resistance: Given a hash , it must be computationally difficult to get a message m so that . In other words, from a computational point of view, any hash function must be difficult to reverse.
- Resistance to the second preimage: Given a message , it must be computationally difficult to find another message, , , with the same hash. That is to say, it must not be possible to find another message such that .
- Collision Resistance: It must be computationally difficult to find two messages and , , so that .
2.3. Widely-Used Hash Functions
3. Elliptic Curves
3.1. Definition
3.2. Elliptic Curves over Finite Fields
Weierstrass Curves
4. Digital Signatures
4.1. Definition
4.2. Digital Signature Protocol
- Alice must make available her public key, A, so anybody willing to verify her signatures can do so.
- After selecting a hash function , she must compute the digest of the document to be signed, m, using the function. The digest is represented as .
- Alice must use her private key a in conjunction with the encryption function, , to the message hash, obtaining the signature for that message s: .
- Finally, Alice must post the message whose signature has just been calculated together with its corresponding signature: .
- Calculate the document hash using the same hashing function that Alice used in order to obtain .
- Decipher with the public key of , A, the signature of the message, s, obtaining:
- Finally, check if the values of and match. If so, the signature is verified. Otherwise, the signature for that message is rejected.
4.3. Elliptic Curve Digital Signature Algorithm (ECDSA)
- Alice must compute the hash of the message m in the usual way, .
- She must generate a random number k, (where n is the order of the elliptic curve) and compute the point and the value . If , then Alice must discard those elements and repeat this step.
- Alice must determine and calculate .
- The signature associated to the message m is the pair .
- Bob must compute by himself the hash associated to the message m.
- Then, he must check that the values r and s belong to the range .
- Bob must compute the value so he can calculate and .
- After that, he must determine the point of the curve , where G is the generator of the curve.
- Finally, Bob will accept the signature as valid if and only if .
4.4. Other Digital Signatures
5. Hash Pointers and Merkle Trees
5.1. Hash Pointers
5.2. Binary Trees and Merkle Trees
6. The Bitcoin Cryptocurrency
6.1. Digicash
6.2. Bitcoin, ₿
7. Conclusions
Author Contributions
Funding
Conflicts of Interest
Abbreviations
ANSI | American National Standards Institute |
BFT | Byzantine Fault Tolerance |
DDoS | Distributed Denial-of-Service |
ECC | Elliptic Curve Cryptography |
ECDSA | Elliptic Curve Digital Signature Algorithm |
MD | Message Digest |
NIST | National Institute of Standard and Technology |
P2P | Peer-to-Peer |
PoW | Proof of Work |
RIPEMD | RACE Integrity Primitives Evaluation Message Digest |
RSA | Rivest, Shamir, and Adleman |
SECG | Standards for Efficient Cryptography Group |
SHA | Secure Hash Function |
TOWF | Trapdoor One-Way Function |
References
- Menezes, A.J.; van Oorschot, P.C.; Vanstone, S.A. Handbook of Applied Cryptography; CRC Press, Inc.: Boca Raton, FL, USA, 1996. [Google Scholar] [CrossRef]
- Paar, C.; Pelzl, J. Understanding Cryptography. A Textbook for Students and Practitioners; Springer: Heidelberg, Germany, 2010. [Google Scholar] [CrossRef]
- Rivest, R. The MD5 message-digest algorithm. RFC 1992, 1321. [Google Scholar] [CrossRef] [Green Version]
- Wang, X.; Yu, H. How to break MD5 and other hash functions. In Advances in Cryptology-Eurocrypt’2005; Cramer, R., Ed.; Springer: Berlin, Germany, 2005; pp. 19–35. [Google Scholar] [CrossRef] [Green Version]
- NIST. Secure Hash Standard (SHS). Federal Information Processing Standard Publication. FIPS 180-4; 2015. Available online: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.180-4.pdf (accessed on 15 January 2020).
- Wang, X.; Yin, Y.L.; Yu, H. Finding collisions in the full SHA-1. In Advances in Cryptology-Crypto’2005; Shoup, V., Ed.; Springer: Berlin, Germany, 2005; pp. 17–36. [Google Scholar] [CrossRef] [Green Version]
- Dobbertin, H.; Bosselaers, A.; Preneel, B. RIPEMD-160: A strengthened version of RIPEMD. In Fast Software Encryption; Gollmann, D., Ed.; Springer: Berlin, Germany, 1996; pp. 71–82. [Google Scholar] [CrossRef] [Green Version]
- NIST. SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions. FIPS PUB 202; 2015. Available online: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf (accessed on 15 January 2020).
- Menezes, A.J. Handbook of Elliptic and Hyperelliptic Curve Cryptography; Chapman & Hall/CRC: Boca Raton, FL, USA, 2006. [Google Scholar]
- Bernstein, D.J.; Lange, T. Curve25519: New Diffie-Hellman speed records. In Proceedings of the 9th International Conference on Theory and Practice in Public-Key Cryptography (PKC 2006), New York, NY, USA, 24–26 April 2006; pp. 207–228. [Google Scholar]
- Lochter, M.; Merkle, J. Elliptic Curve Cryptography (ECC) Brainpool standard curves and curve generation. RFC 2010, 5639. [Google Scholar] [CrossRef]
- Bernstein, D.J.; Lange, T. Explicit-Formulas Database. 2016. Available online: https://hyperelliptic.org/EFD/ (accessed on 15 January 2020).
- Rivest, R.; Shamir, A.; Adleman, L.M. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 1978, 21, 120–126. [Google Scholar] [CrossRef]
- Menezes, A.J. Elliptic Curve Public Key Cryptosystems; Kluwer Academic Publishers: Boston, MA, USA, 1993. [Google Scholar] [CrossRef]
- ANSI. Public Key Cryptography for the Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA), National Bureau of Standards. ANSI X9.62. 2005. Available online: https://standards.globalspec.com/std/1955141/ANSIX9.62 (accessed on 15 January 2020).
- NIST. Elliptic Curve Digital Signature Algorithm Validation System (ECDSA2VS). Federal Information Processing Standards. FIPS 186-4; 2014. Available online: https://csrc.nist.gov/Presentations/2014/The-FIPS-186-4-Elliptic-Curve-Digital-Signature-Al (accessed on 15 January 2020).
- SECG. Recommended Elliptic Curve Domain Parameters. SEC 2 Version 2.0. 2010. Available online: https://www.secg.org/sec2-v2.pdf (accessed on 15 January 2020).
- Arroyo, D.; Diaz, J.; Rodríguez, F.B. Non-conventional Digital Signatures and Their Implementations-A Review. In Advances in Intelligent Systems and Computing, Proceedings of the International Joint Conference: CISIS’15 and ICEUTE’15; Herrero, A., Baruque, B., Sedano, J., Quintián, H., Corchado, E., Eds.; Springer: Heidelberg, Germany, 2015; Volume 369, pp. 425–435. [Google Scholar] [CrossRef] [Green Version]
- Itakura, K.; Nakamura, K. A public-key cryptosystem suitable for digital multisignatures. NEC Res. Dev. 1983, 71, 1–8. Available online: https://scinapse.io/papers/200023587 (accessed on 15 January 2020).
- Chaum, D.; Van Heyst, E. Group signatures. In Advances in Cryptology-Eurocrypt’91; Davies, D.W., Ed.; Springer: Berlin, Germany, 1991; pp. 257–265. [Google Scholar] [CrossRef] [Green Version]
- Rivest, R.; Shamir, A.; Tauman, Y. How to leak a secret. In Advances in Cryptology-Asiacrypt’2001; Boyd, C., Ed.; Springer: Berlin, Germany, 2001; pp. 552–565. [Google Scholar] [CrossRef] [Green Version]
- Merkle, R.C. Method of Providing Digital Signatures. U.S. Patent 4,309,569, 5 January 1982. Available online: https://patents.google.com/patent/US4309569A/en (accessed on 15 January 2020).
- Chaum, D. Blind signatures for untraceable payments. In Advances in Cryptology-Proceedings of Crypto’82; Chaum, D., Rivest, R.L., Sherman, A.T., Eds.; Springer: Boston, MA, USA, 1983; pp. 199–203. [Google Scholar] [CrossRef]
- Nakamoto, S. Bitcoin: A Peer-to-Peer Electronic Cash System. Available online: https://bitcoin.org/bitcoin.pdf (accessed on 15 January 2020).
- Dwork, C.; Naor, M. Pricing via Processing or Combatting Junk Mail. In Advances in Cryptology-Proceedings of Crypto’92; Brickell, E.F., Ed.; Springer: Berlin, Germany, 1993; pp. 139–147. [Google Scholar] [CrossRef] [Green Version]
- Jakobsson, M.; Juels, A. Proofs of Work and Bread Pudding Protocols (Extended Abstract). In Secure Information Networks; Preneel, B., Ed.; Springer: Boston, MA, USA, 1999; pp. 258–272. [Google Scholar] [CrossRef] [Green Version]
- Lamport, L.; Shostak, R.; Pease, M. The Byzantine Generals Problem. ACM Trans. Program. Lang. Syst. 1982, 4, 382–401. [Google Scholar] [CrossRef] [Green Version]
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Martínez, V.G.; Hernández-Álvarez, L.; Encinas, L.H. Analysis of the Cryptographic Tools for Blockchain and Bitcoin. Mathematics 2020, 8, 131. https://doi.org/10.3390/math8010131
Martínez VG, Hernández-Álvarez L, Encinas LH. Analysis of the Cryptographic Tools for Blockchain and Bitcoin. Mathematics. 2020; 8(1):131. https://doi.org/10.3390/math8010131
Chicago/Turabian StyleMartínez, Víctor Gayoso, Luis Hernández-Álvarez, and Luis Hernández Encinas. 2020. "Analysis of the Cryptographic Tools for Blockchain and Bitcoin" Mathematics 8, no. 1: 131. https://doi.org/10.3390/math8010131
APA StyleMartínez, V. G., Hernández-Álvarez, L., & Encinas, L. H. (2020). Analysis of the Cryptographic Tools for Blockchain and Bitcoin. Mathematics, 8(1), 131. https://doi.org/10.3390/math8010131