NIST standardized 5 elliptic curves (P-192, P-224, P-256, P-384, P-521) for prime fields. When I looked into openssl, these curves are named as prime192v1, secp224r1, prime256v1, secp384r1, secp521r1. Is there any reason why the name convention was different for different curves?
1 Answer
The good thing about standards is that there are so many to choose from.
The P-192, P-224, P-256, P-384 and P-521 names come from the FIPS DSS (Latest version of which is FIPS 186-4):
https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-4.pdf
The secp224r1, secp384r1 and secp521r1 names come from SEC2:
https://www.secg.org/sec2-v2.pdf
The prime192v1 and prime256v1 names come from RFC3279:
https://www.ietf.org/rfc/rfc3279.txt
They're all the same curves though.
-
1$\begingroup$ So, did NIST pick 3 curves from SEC2 and 2 curves from an RFC and standardized them as P-XXX curves? $\endgroup$– satyaMay 30, 2019 at 16:38
-
1$\begingroup$ Well there's also another standard: X9.62 which at least some of these curves appear in. The FIPS standard is based on X9,.62. It's not clear to me what the origin of the other NIST curves are but they seem to predate the earliest versions of the SEC document I could find as well as the RFC. So my guess is its more the other way around...i.e. SEC and the RFC taking the NIST curves and giving them a different name. $\endgroup$ May 30, 2019 at 22:46