NIST algorithms include ECDH and ECDSA. NIST also specifies curves. Is the use of NIST curves required for FIPS certification or could other curves theoretically be certified if someone were willing to do the work?

  • 7
    $\begingroup$ I think algorithms certified by FIPS 140-2 need to have either their own FIPS or must be (in) a NIST SP. I don't think Curve25519 / Ed25519 have any such standards from NIST (yet). Rumours suggest this will change. However, you can get your implementation certified for P-256 and make it generic so that you can also run Curve25519 on it. $\endgroup$
    – SEJPM
    Aug 21 '17 at 14:19
  • 1
    $\begingroup$ NIST claimed in late 2017 that the upcoming draft of NIST SP 800-186 would include Curve25519 and Curve448 as approved curves, and the X25519 and X448 DH functions would be considered for the next revision to NIST SP 800-56A: csrc.nist.gov/News/2017/… Unclear whether this will cover the Ed25519 and Ed448 signature schemes; unclear what the status of the alleged NIST SP 800-186 draft; no mention of this in NIST SP 800-56A rev. 3 form April 2018. $\endgroup$ Feb 28 '19 at 7:29

Could a C25519/ED25519 cryptographic module be FIPS certified?

Likely yes in the near future—although ‘near’ is measured relative to the pace of a US federal government bureaucracy.

On 2019-10-31, NIST submitted a request for comments to the Federal Register on drafts for FIPS 186-5 and NIST SP 800-186 that include the Montgomery and Edwards curve shapes; the particular curves Curve25519, Curve448, edwards25519, and edwards448; and the EdDSA signature scheme instantiated with them, as defined in RFC 7748 and RFC 8032. Comments are due by 2020-01-20.

(The updates do not cover the X25519/X448 DH functions, but NIST's late 2017 announcement of the upcoming changes also mentioned future updates to NIST SP 800-56A, which covers key agreement.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.