Set of cryptographic algorithms by the NSA
The Commercial National Security Algorithm Suite (CNSA ) is a set of cryptographic algorithms promulgated by the National Security Agency as a replacement for NSA Suite B Cryptography algorithms. It serves as the cryptographic base to protect US National Security Systems information up to the top secret level, while the NSA plans for a transition to quantum-resistant cryptography .[ 1] [ 2] [ 3] [ 4] [ 5] [ 6]
Timeline for the transition to CNSA 2.0
The suite includes:
The CNSA transition is notable for moving RSA from a temporary legacy status, as it appeared in Suite B, to supported status. It also did not include the Digital Signature Algorithm . This, and the overall delivery and timing of the announcement, in the absence of post-quantum standards, raised considerable speculation about whether NSA had found weaknesses e.g. in elliptic-curve algorithms or others, or was trying to distance itself from an exclusive focus on ECC for non-technical reasons.[ 7] [ 8] [ 9]
In September 2022, the NSA announced CNSA 2.0, which includes its first recommendations for post-quantum cryptographic algorithms.[ 10]
CNSA 2.0 includes:[ 2]
Note that compared to CNSA 1.0, CNSA 2.0:
Suggests separate post-quantum algorithms (XMSS/LMS) for software/firmware signing for use immediately
Allows SHA-512
Announced the selection of CRYSTALS-Kyber and CRYSTALS-Dilithium early, with the expectation that they will be mandated only when the final standards and FIPS-validated implementations are released.
RSA, Diffie-Hellman, and elliptic curve cryptography will be deprecated at that time.
The CNSA 2.0 and CNSA 1.0 algorithms, detailed functions descriptions, specifications, and parameters are below:[ 11]
CNSA 2.0
Algorithm
Function
Specification
Parameters
Advanced Encryption Standard (AES)
Symmetric block cipher for information protection
FIPS PUB 197
Use 256-bit keys for all classification levels.
Module-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM aka CRYSTALS-Kyber)
Asymmetric algorithm for key establishment
FIPS PUB 203
Use ML-KEM-1024 parameter set for all classification levels.
Module-Lattice-Based Digital Signature Standard (aka CRYSTALS-Dilithium)
Asymmetric algorithm for digital signatures
FIPS PUB 204
Use ML-DSA-87 parameter set for all classification levels.
Secure Hash Algorithm (SHA)
Algorithm for computing a condensed representation of information
FIPS PUB 180-4
Use SHA-384 or SHA-512 for all classification levels.
Leighton-Micali Signature (LMS)
Asymmetric algorithm for digitally signing firmware and software
NIST SP 800-208
All parameters approved for all classification levels. SHA256/192 recommended.
Xtended Merkle Signature Scheme (XMSS)
Asymmetric algorithm for digitally signing firmware and software
NIST SP 800-208
All parameters approved for all classification levels.
CNSA 1.0
Algorithm
Function
Specification
Parameters
Advanced Encryption Standard (AES)
Symmetric block cipher for information protection
FIPS PUB 197
Use 256-bit keys for all classification levels.
Elliptic Curve Diffie-Hellman (ECDH) Key Exchange
Asymmetric algorithm for key establishment
NIST SP 800-56A
Use Curve P-384 for all classification levels.
Elliptic Curve Digital Signature Algorithm (ECDSA)
Asymmetric algorithm for digital signatures
FIPS PUB 186-4
Use Curve P-384 for all classification levels.
Secure Hash Algorithm (SHA)
Algorithm for computing a condensed representation of information
FIPS PUB 180-4
Use SHA-384 for all classification levels.
Diffie-Hellman (DH) Key Exchange
Asymmetric algorithm for key establishment
IETF RFC 3526
Minimum 3072-bit modulus for all classification levels
[Rivest-Shamir-Adleman] RSA
Asymmetric algorithm for key establishment
FIPS SP 800-56B
Minimum 3072-bit modulus for all classification levels
[Rivest-Shamir-Adleman] RSA
Asymmetric algorithm for digital signatures
FIPS PUB 186-4
Minimum 3072-bit modulus for all classification levels
References
^ Cook, John (2019-05-23). "NSA recommendations | algorithms to use until PQC" . www.johndcook.com . Retrieved 2020-02-28 .
^ a b c "Announcing the Commercial National Security Algorithm Suite 2.0" (PDF) . media.defense.gov . 2022-09-07. Retrieved 2024-06-10 .
^ "CNSA Suite and Quantum Computing FAQ" (PDF) . cryptome.org . January 2016. Retrieved 24 July 2023 .
^ "Use of public standards for the secure sharing of information among national security systems, Advisory Memorandum 02-15 CNSS Advisory Memorandum Information Assurance 02-15" . Committee on National Security Systems . 2015-07-31. Archived from the original on 2020-02-28. Retrieved 2020-02-28 .
^ "Commercial National Security Algorithm Suite" . apps.nsa.gov . 19 August 2015. Archived from the original on 2022-02-18. Retrieved 2020-02-28 .
^ Housley, Russ; Zieglar, Lydia (July 2018). "RFC 8423 - Reclassification of Suite B Documents to Historic Status" . tools.ietf.org . Retrieved 2020-02-28 .
^ "NSA's FAQs Demystify the Demise of Suite B, but Fail to Explain One Important Detail – Pomcor" . 9 February 2016. Retrieved 2020-02-28 .
^ "A riddle wrapped in a curve" . A Few Thoughts on Cryptographic Engineering . 2015-10-22. Retrieved 2020-02-28 .
^ Koblitz, Neal; Menezes, Alfred J. (2018-05-19). "A Riddle Wrapped in an Enigma" . Cryptology ePrint Archive .
^ "Post-Quantum Cybersecurity Resources" . www.nsa.gov . Retrieved 2023-03-03 .
^ "Announcing the Commercial National Security Algorithm Suite 2.0, U/OO/194427-22, PP-22-1338, Ver. 1.0" (PDF) . media.defense.gov . National Security Agency . September 2022. Table IV: CNSA 2.0 algorithms, p. 9.; Table V: CNSA 1.0 algorithms, p. 10. Retrieved 2024-04-14 .
Common algorithms Less common algorithms Other algorithms Design Attack (cryptanalysis ) Standardization Utilization
Algorithms
Theory Standardization Topics