In cryptography, Curve448 or Curve448-Goldilocks is an elliptic curve potentially offering 224 bits of security and designed for use with the elliptic-curve Diffie–Hellman (ECDH) key agreement scheme.
History
editDeveloped by Mike Hamburg of Rambus Cryptography Research, Curve448 allows fast performance compared with other proposed curves with comparable security.[1] The reference implementation is available under an MIT license.[2] The curve was favored by the Internet Research Task Force Crypto Forum Research Group (IRTF CFRG) for inclusion in Transport Layer Security (TLS) standards along with Curve25519.
In 2017, NIST announced that Curve25519 and Curve448 would be added to "Special Publication 800-186", which specifies approved elliptic curves for use by the US Federal Government,[3] and in 2023 it was approved for use in FIPS 186-5.[4] Both are described in RFC 7748. The name X448 is used for the DH function. X448 support was added to OpenSSL in version 1.1.1 (released on 11 September 2018).[5]
Mathematical properties
editHamburg chose the Solinas trinomial prime base p = 2448 − 2224 − 1, calling it a "Goldilocks" prime "because its form defines the golden ratio φ ≡ 2224". The main advantage of a golden-ratio prime is fast Karatsuba multiplication.[6]
The curve Hamburg used is an untwisted Edwards curve Ed: y2 + x2 = 1 − 39081x2y2. The constant d = −39081 was chosen as the smallest absolute value that had the required mathematical properties, thus a nothing-up-my-sleeve number.
Curve448 is constructed such that it avoids many potential implementation pitfalls.[7]
See also
editReferences
edit- ^ Hamburg, Mike (2015). "Ed448-Goldilocks, a new elliptic curve". Cryptology ePrint Archive.
- ^ "SourceForge.net: Ed448-Goldilocks". ed448goldilocks.sourceforge.net.
- ^ "Transition Plans for Key Establishment Schemes". 31 October 2017. Archived from the original on 11 March 2018. Retrieved 23 February 2018.
- ^ Moody, Dustin (2023-02-03). FIPS 186-5: Digital Signature Standard (DSS) (Report). NIST. doi:10.6028/NIST.FIPS.186-5. S2CID 256480883. Retrieved 2023-03-04.
- ^ OpenSSL Foundation (2023-09-11). "/news/openssl-1.1.1-notes.html". openssl.org. Retrieved 2024-01-11.
- ^ Sasdrich, Pascal; Géneysu, Tim (2017). Cryptography for next generation TLS: Implementing the RFC 7748 elliptic Curve448 cryptosystem in hardware. 2017 54th ACM/EDAC/IEEE Design Automation Conference (DAC). doi:10.1145/3061639.3062222.
- ^ "SafeCurves: Introduction". safecurves.cr.yp.to. Retrieved 2018-02-23.