NIST SP 800-131Ar3 ipd: Transitioning the Use of Cryptographic Algorithms and Key Lengths
Analyze & explore related research in Conceptio
Connect this record directly into your research workflow or AI agent. Explore citations across open repositories, query full text, and export structured proof bundles.
NIST Special Publication 800 NIST SP 800-131Ar3 ipd
Transitioning the Use of Cryptographic Algorithms and Key Lengths Initial Public Draft Elaine Barker Allen Roginsky This publication is available free of charge from: https://doi.org/10.6028/NIST.SP.800-131Ar3.ipd
NIST Special Publication 800 NIST SP 800-131Ar3 ipd
Transitioning the Use of Cryptographic Algorithms and Key Lengths Initial Public Draft Elaine Barker Allen Roginsky
Computer Security Division Information Technology Laboratory
This publication is available free of charge from: https://doi.org/10.6028/NIST.SP.800-131Ar3.ipd
October 2024
U.S. Department of Commerce Gina M. Raimondo, Secretary National Institute of Standards and Technology Laurie E. Locascio, NIST Director and Under Secretary of Commerce for Standards and Technology
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
Certain commercial entities, equipment, or materials may be identified in this document in order to describe an experimental procedure or concept adequately. Such identification is not intended to imply recommendation or endorsement by the National Institute of Standards and Technology (NIST), nor is it intended to imply that the entities, materials, or equipment are necessarily the best available for the purpose. There may be references in this publication to other publications currently under development by NIST in accordance with its assigned statutory responsibilities. The information in this publication, including concepts and methodologies, may be used by federal agencies even before the completion of such companion publications. Thus, until each publication is completed, current requirements, guidelines, and procedures, where they exist, remain operative. For planning and transition purposes, federal agencies may wish to closely follow the development of these new publications by NIST. Organizations are encouraged to review all draft publications during public comment periods and provide feedback to NIST. Many NIST cybersecurity publications, other than the ones noted above, are available at https://csrc.nist.gov/publications. Authority This publication has been developed by NIST in accordance with its statutory responsibilities under the Federal Information Security Modernization Act (FISMA) of 2014, 44 U.S.C. § 3551 et seq., Public Law (P.L.) 113-283. NIST is responsible for developing information security standards and guidelines, including minimum requirements for federal information systems, but such standards and guidelines shall not apply to national security systems without the express approval of appropriate federal officials exercising policy authority over such systems. This guideline is consistent with the requirements of the Office of Management and Budget (OMB) Circular A-130. Nothing in this publication should be taken to contradict the standards and guidelines made mandatory and binding on federal agencies by the Secretary of Commerce under statutory authority. Nor should these guidelines be interpreted as altering or superseding the existing authorities of the Secretary of Commerce, Director of the OMB, or any other federal official. This publication may be used by nongovernmental organizations on a voluntary basis and is not subject to copyright in the United States. Attribution would, however, be appreciated by NIST. NIST Technical Series Policies Copyright, Fair Use, and Licensing Statements NIST Technical Series Publication Identifier Syntax Publication History Approved by the NIST Editorial Review Board on YYYY-MM-DD [will be added in final published version] How to Cite this NIST Technical Series Publication: Barker EB, Roginsky AL (2024) Transitioning the Use of Cryptographic Algorithms and Key Lengths. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-131Ar3 ipd. https://doi.org/10.6028/NIST.SP.800-131Ar3.ipd Author ORCID iDs Elaine Barker: 0000-0003-0454-0461 Allen Roginsky: 0000-0003-2684-6736
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
Public Comment Period October 21, 2024 – December 4, 2024 Submit Comments sp800-131a_comments@nist.gov National Institute of Standards and Technology Attn: Computer Security Division, Information Technology Laboratory 100 Bureau Drive (Mail Stop 8930) Gaithersburg, MD 20899-8930 Additional Information Additional information about this publication is available at https://csrc.nist.gov/pubs/sp/800/131/a/r3/ipd, including related content, potential updates, and document history. All comments are subject to release under the Freedom of Information Act (FOIA).
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
1
Abstract
2 3 4 5 6
NIST provides cryptographic key management guidance for defining and implementing appropriate key-management procedures, using algorithms that adequately protect sensitive information, and planning for possible changes in the use of cryptography because of algorithm breaks or the availability of more powerful computing techniques. This publication provides guidance for transitions to the use of stronger cryptographic keys and more robust algorithms.
7
Keywords
8 9 10 11
cryptographic algorithm; digital signature; elliptic curves; encryption; entropy; extendable output functions; hash function; key agreement; key-derivation functions; key encapsulation; key transport; key wrapping; message authentication codes; quantum-resistant algorithms; random bit generation; security strength; transition.
12
Reports on Computer Systems Technology
13 14 15 16 17 18 19 20 21 22
The Information Technology Laboratory (ITL) at the National Institute of Standards and Technology (NIST) promotes the U.S. economy and public welfare by providing technical leadership for the Nation’s measurement and standards infrastructure. ITL develops tests, test methods, reference data, proof of concept implementations, and technical analyses to advance the development and productive use of information technology. ITL’s responsibilities include the development of management, administrative, technical, and physical standards and guidelines for the cost-effective security and privacy of other than national security-related information in federal information systems. The Special Publication 800-series reports on ITL’s research, guidelines, and outreach efforts in information system security, and its collaborative activities with industry, government, and academic organizations.
i
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
23
Note to Reviewers
24 25 26 27 28
This revision proposes a) the retirement of ECB as a confidentiality mode of operation (see Sec. 2.2) and the use of DSA for digital signature generation (Sec. 3) and b) a schedule for the retirement of SHA-1 and the 224-bit hash functions (Sec. 3 and 10). New sections are included for block cipher modes, (Sec. 2.2), key generation (Sec. 4), and extendable-output functions (Sec. 12). These and other changes are listed in Appendix B.3.
29 30
Question: Does the retirement date of December 31, 2030, for the 224-bit hash functions pose an unacceptable burden on implementers or users?
31 32 33 34 35 36 37 38
This draft revision also discusses the transition from a security strength of 112 bits to a 128-bit security strength and to quantum-resistant algorithms for digital signatures and key establishment. Since NIST is simultaneously working on multiple FIPS and SPs related to the quantum-resistant algorithms, this draft may include references to documents that have not yet been finalized, are in the process of being revised to address the availability of the quantumresistant algorithms (e.g., SP 800-57 Part 1 and SP 800-175B), or are being developed as guidance for using them (e.g., a proposed transition schedule to the PQC algorithms). It is anticipated that these documents will either be finalized and/or publicly available as drafts by the end of 2024.
39 40
NIST is in the process of developing a schedule for a transition to the quantum-resistant algorithms. SP 800-131A will then be revised to be consistent with that guidance.
41
ii
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
42
Call for Patent Claims
43 44 45 46 47 48 49
This public review includes a call for information on essential patent claims (claims whose use would be required for compliance with the guidance or requirements in this Information Technology Laboratory (ITL) draft publication). Such guidance and/or requirements may be directly stated in this ITL Publication or by reference to another publication. This call also includes disclosure, where known, of the existence of pending U.S. or foreign patent applications relating to this ITL draft publication and of any relevant unexpired U.S. or foreign patents.
50 51
ITL may require from the patent holder, or a party authorized to make assurances on its behalf, in written or electronic form, either:
52 53
assurance in the form of a general disclaimer to the effect that such party does not hold and does not currently intend holding any essential patent claim(s); or
54 55 56
assurance that a license to such essential patent claim(s) will be made available to applicants desiring to utilize the license for the purpose of complying with the guidance or requirements in this ITL draft publication either:
57 58
under reasonable terms and conditions that are demonstrably free of any unfair discrimination; or
59 60
without compensation and under reasonable terms and conditions that are demonstrably free of any unfair discrimination.
61 62 63 64 65
Such assurance shall indicate that the patent holder (or third party authorized to make assurances on its behalf) will include in any documents transferring ownership of patents subject to the assurance, provisions sufficient to ensure that the commitments in the assurance are binding on the transferee, and that the transferee will similarly include appropriate provisions in the event of future transfers with the goal of binding each successor-in-interest.
66 67
The assurance shall also indicate that it is intended to be binding on successors-in-interest regardless of whether such provisions are included in the relevant transfer documents.
68
Such statements should be addressed to sp800-131a_comments@nist.gov
69 70
iii
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
71
Table of Contents
72
1. Introduction ...................................................................................................................................1
73 74 75
1.2.1. Security Strengths ........................................................................................................................ 1
76
1.2.2. Definition of Status Approval Terms ............................................................................................ 2
77
1.2.3. Transition Strategy from 112-Bit Security Strength ..................................................................... 3
78
2. Data Encryption and Decryption Using Block Cipher Algorithms.......................................................5
79 80 81
3. Digital Signatures ...........................................................................................................................8
82
4. Cryptographic Key Generation ......................................................................................................13
83
5. Random Bit Generation ................................................................................................................14
84 85 86 87
6. Key Agreement Using Diffie-Hellman and MQV .............................................................................16
88
7. Key Agreement and Key Transport Using RSA................................................................................19
89
8. Key Establishment Using a Key Encapsulation Mechanism (KEM) ...................................................21
90
9. Key Derivation Methods ...............................................................................................................22
91 92
9.1.1. One-Step Key-Derivation Functions ........................................................................................... 22
93
9.1.2. Two-Step Key-Derivation Procedures ........................................................................................ 23
94 95 96
10. Key Wrapping.............................................................................................................................26
97
11. Hash Functions ...........................................................................................................................28
98
12. eXtendable-Output Functions (XOFs) ..........................................................................................30
99
13. Message Authentication Codes (MACs) .......................................................................................31
100
References.......................................................................................................................................35
101
Appendix A. Continued Use of AES ...................................................................................................40
102
Appendix B. Change History .............................................................................................................41
103
Appendix C. List of Symbols, Abbreviations, and Acronyms ...............................................................43
104
Appendix D. Glossary .......................................................................................................................44 iv
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
105
List of Tables
106
Table 1. Approval status of block cipher algorithms for encryption and decryption ..............................5
107
Table 2. Approval status of the block cipher modes of operation for AES encryption and decryption ....6
108
Table 3. Approval status of algorithms used for digital signature generation .......................................9
109
Table 4. Approval status of algorithms used for random bit generation .............................................14
110
Table 6. Approval status for SP 800-56A key agreement (DH and MQV) schemes ...............................16
111
Table 7. Approval status for the RSA-based key-agreement and key-transport schemes ..................... 19
112
Table 8. Approval status for the one-step KDFs in SP 800-56C............................................................22
113
Table 9. Approval status for the two-step KDMs in SP 800-56C ..........................................................23
114
Table 10. Approval status of the algorithms used for a key derivation function (KDF) ........................ 24
115
Table 11. Approval status of the PBKDFs ...........................................................................................25
116
Table 12. Approval status of block cipher algorithms used for key wrapping ......................................26
117
Table 13. Approval status of hash functions ......................................................................................28
118
Table 14. Approval status of eXtendable-Output Functions (XOFs) ....................................................30
119
Table 15. Approval status of MAC algorithms....................................................................................31
120 121
v
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
122
Acknowledgments
123 124 125
The authors would like to specifically acknowledge the assistance of the following colleagues in developing this revision of SP 800-131A: Alex Calis, Chris Celi, Lily Chen, David Cooper, Morris Dworkin, Kerry McKay, Nicky Mouha, Ray Perlman, and Andrew Regenscheid.
vi
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
126
1. Introduction
127
1.1. Background and Purpose
128 129 130 131 132 133 134 135
At the beginning of the 21st century, the National Institute of Standards and Technology (NIST) began the task of providing cryptographic key-management guidance. This guidance is intended to 1) encourage the specification and implementation of appropriate key-management procedures, 2) use algorithms that adequately protect sensitive information, and 3) plan for possible changes in the use of cryptographic algorithms, including any migration to different algorithms and key lengths. The third item addresses not only the possibility of new cryptanalysis but also the increasing power of classical computing technology and the emergence of quantum computers.
136 137 138 139 140 141
This third revision of Special Publication (SP) 800-131A is intended to provide details about the transitions associated with the use of cryptography by federal agencies to protect sensitive but unclassified information. The document addresses the use of algorithms and key lengths specified in Federal Information Processing Standards (FIPS) and SPs. Unless otherwise specified (e.g., by a revision number), the latest versions of specific FIPS and SPs are referenced in the discussions.
142 143 144 145 146 147 148 149
SP 800-131A was originally published in January 2011 and revised in 2015 and 2019. This revision updates the transition guidance provided in the 2019 version and includes 1) the retirement of the ECB mode when used for confidentiality (Sec. 2.2) and DSA for digital signature generation (Sec. 3), 2) a schedule for the retirement of SHA-1 and the 224-bit hash functions (Sec. 3 and 10), and 3), and discussions about the planned transition from 112-bit security strength to 128-bit security strength and/or the use of quantum-resistant algorithms. New sections have been included for block cipher modes (Sec. 2.2), key generation (Sec. 4), and extendable-output functions (XOFs) (Sec. 12). These and other changes are listed in Appendix B.
150
1.2. Useful Terms for Understanding this Recommendation
151
1.2.1. Security Strengths
152 153 154 155
NIST Special Publication (SP) 800-57 Part 1 [SP 800-57] includes the definition of an estimated maximum security strength (hereafter shortened to “security strength”) and the association of the algorithms and key lengths with these security strengths. The length of the cryptographic keys is an integral part of these determinations.
156 157 158
In [SP 800-57], the classical security strength provided by an algorithm with a particular key length 1 is measured in bits and based on the difficulty of subverting the cryptographic protection that is provided by the algorithm and key. An estimated security strength for each algorithm is 1 The term “key size” is commonly used in other documents.
1
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
159 160 161
provided in [SP 800-57] and the FIPS 140 Implementation Guide [FIPS 140 IG] Annex D.B. This is the security strength that an algorithm with a particular key length can provide, given that the key used with that algorithm is correctly generated. 2
162 163 164 165 166
The appropriate (classical) security strength to protect data depends on its sensitivity and needs to be determined by the data owner (e.g., a person or organization). For the Federal Government, a security strength of at least 112 bits is currently required for applying cryptographic protection (e.g., for encrypting or signing data). Section 1.2.3 discusses the proposed strategy used in this document for a transition from the 112-bit security strength.
167
1.2.2. Definition of Status Approval Terms
168 169 170 171
The terms “acceptable,” “deprecated, “disallowed,” and “legacy use” are used throughout this recommendation to indicate the approval status of an algorithm. Often, the approval status for an algorithm will also depend on the length and/or strength of its key, any domain parameters, and the mode or manner in which it is used.
172 173 174 175
•
Acceptable means that the algorithm and key length/strength in a FIPS or SP are approved for use in accordance with any associated guidance. The FIPS 140 Implementation Guide [FIPS_140_IG] may indicate additional acceptable algorithms that are allowed for use but are not specified in a FIPS or NIST recommendation.
176 177 178
•
Deprecated means that the algorithm and key length/strength may be used, but there is some security risk. The data owner must examine this risk potential and decide whether to use a deprecated algorithm or key length.
179 180
•
Disallowed means that the algorithm, key length/strength, parameter set, or scheme is no longer allowed for the stated purpose.
181 182 183 184 185 186
•
Legacy use means that the algorithm, key length/strength, parameter set, or scheme may only be used to process already protected information (e.g., to decrypt ciphertext data or to verify a digital signature). By default, applications should treat data processed in this way as having no more assurance of integrity and/or confidentiality than unprotected data. User interfaces should clearly distinguish between data processed via legacy-use cryptography and data processed using cryptography that remains acceptable.
187 188 189 190 191 192
The relevant risks associated with legacy use differ depending on the type of cryptography. The risk of a loss of confidentiality due to the use of weak encryption exists whether an authorized user has decrypted the data or not. Therefore, restricting the application of legacy-use decryption is not an effective risk management strategy. Instead, risk management should rely on informing the user that a loss of
2 The term “security strength” refers to the classical security strength — a measure of the difficulty of subverting the cryptographic protection
(e.g., discovering the key) using classical computers. For a discussion of quantum security strength (i.e., the difficulty of subverting the protection using quantum computers), see [NIST IR 8413].
2
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
193 194
confidentiality has occurred and either revoking or replacing any secrets that may have suffered a loss of confidentiality.
195 196 197 198 199 200
In contrast, the primary risk for signatures is that an authorization decision may be made based on trusting the result of verifying a weak signature. This can be mitigated by treating the signature as invalid, regardless of the result of any verification. In most cases, applications should not trust a signature verified via legacy-use cryptography without displaying a warning message.
201 202 203 204 205 206
A possible case where the result of legacy-use verification may be trusted is when obtaining assurance (e.g., via local log files) that the signature was not altered before the status of the verification algorithm changed to legacy use. Even in this case, the level of risk incurred depends significantly on the level of assurance provided by cryptographic and noncryptographic protections on the relevant log files.
207 208 209 210 211 212
The use of algorithms and key lengths/strengths for which the terms deprecated and legacy use are listed involve some risk that increases over time.3 If it is determined that the risk is unacceptable for a given application, then the algorithm or key length/strength shall be considered disallowed for that application. The level of risk that can be tolerated for an application and its associated data must be determined, and methods for mitigating those risks must be defined.
213 214 215 216 217 218 219
This document uses the terms acceptable, deprecated, and disallowed as the approval status for applying cryptographic protection (e.g., encrypting data or generating a MAC or digital signature). The terms acceptable and legacy use are used as the approval status for processing already protected information (e.g., decryption or MAC or digital signature verification). When acceptable or deprecated is used as the status for applying protection, acceptable is used for processing already protected information. When disallowed is used for the status of applying protection, the legacy use status applies to the processing of already protected information.
220
1.2.3. Transition Strategy from the 112-Bit Security Strength
221 222 223 224 225 226 227 228
NIST recognizes that large-scale quantum computers, when available, will threaten the security of several NIST-approved public-key algorithms. In particular, NIST-approved digital signature schemes, key agreements using Diffie-Hellman and MQV, and key agreements and key transport using RSA will need to be replaced with secure quantum-resistant counterparts. NIST has finalized the initial quantum-resistant standards: [FIPS 203], [FIPS 204], and [FIPS 205]. Additional standards are expected in the future. NIST encourages implementers to plan for cryptographic agility to facilitate transitions to quantum-resistant algorithms where needed. Information on the post-quantum project is available at https://csrc.nist.gov/projects/post-quantum-cryptography. 3 For example, a signature that was purportedly created when the algorithm was deemed acceptable is verified after the algorithm is declared to only be allowed for legacy use, and the actual time when the signature was generated cannot be verified.
3
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
229 230 231 232
Transitioning the Use of Cryptographic Algorithms and Key Lengths
For several years, the plan has been to transition from the 112-bit security strength to a 128-bit security strength on January 1, 2031. However, since quantum-resistant digital signature and keyencapsulation mechanisms are now standardized, this revision of SP 800-131A is modifying the transition schedule as follows:
233 234 235 236 237
•
Transition to the 128-bit security strength for block ciphers and hash functions (for collision resistance) on January 1, 2031, as planned. TDEA is disallowed as of 2024 (see Sec. 2). This revision of SP 800-131A also deprecates SHA-1 and the 224-bit hash functions through December 31, 2030, and disallows them thereafter for applying cryptographic protection (see Sec. 11).
238 239 240 241 242 243 244 245 246 247 248
•
Deprecate the use of the 112-bit security strength for the classical digital signature and key-establishment mechanisms after December 31, 2030 (rather than requiring a transition to the 128-bit security strength). Instead of a two-step transition from a 112bit security strength to a 128-bit security strength and ultimately to the approved quantum-resistant algorithms, this revision is proposing a one-step approach whereby the quantum-resistant algorithms are implemented and available as soon as feasible. Currently, a 112-bit security strength for the classical digital signature and keyestablishment algorithms does not appear to be in imminent danger of becoming insecure in the near future, so this approach should allow an orderly transition to quantum-resistant algorithms without unnecessary effort for the cryptographic community.
249 250
•
NIST is developing a schedule for transitioning to the quantum-resistant algorithms discussed in Sec. 3, 6, and 7.
251 252 253
If attacks against 112-bit security strength for digital signature and key establishment become viable, a transition to the 128-bit security strength will be required. Prudent implementers and users should consider transitioning to the 128-bit security strength as originally planned.
4
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
254
2. Data Encryption and Decryption Using Block Cipher Algorithms
255 256 257 258 259 260
Encryption is a cryptographic operation that is used to provide confidentiality for sensitive information, and decryption is the inverse operation. Encryption and decryption using block cipher algorithms employ a cryptographic primitive algorithm with a mode of operation. This section addresses the encryption and decryption of data using block cipher algorithms (Sec. 2.1) and the modes of operation that may be used to provide confidentiality for that data (Sec. 2.2). Some of the modes may also provide data authentication.
261
2.1. Block Cipher Cryptographic Primitive Algorithms
262 263
Since 2004, two block cipher primitive algorithms have been approved for use by the Federal Government for unclassified applications:
264 265
•
AES is specified in FIPS 197, Advanced Encryption Standard (AES) [FIPS 197], and has three key lengths/strengths: 128, 192, and 256 bits.
266 267 268 269
•
The Triple Data Encryption Algorithm (TDEA) (often referred to as “Triple DES”) is specified in SP 800-67r2, Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher [SP 800-67], and has two variants known as two-key TDEA and threekey TDEA. Three-key TDEA is the stronger of the two variants.
270 271
Table 1 provides the approval status of the block cipher primitive algorithms. These algorithms are also used for purposes other than data encryption and decryption (see Sec. 5, 8, 9, and 12).
272
Table 1. Approval status of block cipher algorithms for encryption and decryption Algorithm
Status
TDEA Encryption TDEA Decryption AES-128 Encryption and Decryption AES-192 Encryption and Decryption AES-256 Encryption and Decryption
Disallowed Legacy use Acceptable Acceptable Acceptable
273
TDEA:
274
•
Encryption using TDEA is disallowed.
275
•
Decryption using TDEA is allowed for legacy use.
276
AES:
277
Encryption and decryption using AES with 128, 192, and 256-bit keys are acceptable. 4
4 Even with the impact of quantum computers, AES-128, AES-192, and AES-256 will remain secure for the foreseeable future. See Appendix A
for further discussion.
5
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
278
2.2. Block Cipher Modes of Operation for Encryption and Decryption
279 280 281 282 283 284 285 286 287
Encryption and decryption using block cipher algorithms require the use of modes of operation to perform successive encryption or decryption processes on data, which in turn require multiple calls to the primitive algorithm. [SP 800-38A] and a separately published addendum [SP 80038A_addendum] specify modes that are only used to perform encryption and decryption on the input data. [SP 800-38C] and [SP 800-38D] specify authenticated encryption modes and are used to both encrypt/decrypt data and provide a method for determining the authenticity of data processed by the mode. [SP 800-38E] specifies the encryption and decryption of data for storage devices with fixed-length data units. [SP 800-38G] specifies the use of encryption and decryption that preserve the format of the original unencrypted data.
288 289
The approval status of these modes for block-cipher encryption and decryption is provided in Table 2.
290 291
Table 2. Approval status of the block cipher modes of operation for AES encryption and decryption Publication
Mode
Status
CBC
Disallowed for data encryption Legacy use for decryption Acceptable
CFB
Acceptable
CTR OFB CBC-CS1 CBC-CS2 CBC-CS3 CCM GCM XTS-AES
Acceptable Acceptable
ECB SP 800-38A
SP 800-38A Addendum SP 800-38C SP 800-38D SP 800-38E SP 800-38G
FF1 FF3
Acceptable (will be incorporated into SP 800-38A) Acceptable Acceptable Acceptable Acceptable (domain size of at least one million) Disallowed (domain size of less than one million) Disallowed
292 293
[SP 800-38A] includes modes of encryption/decryption for use with AES and TDEA (see Sec. 2.1 for the approval status of these algorithms):
294 295 296 297 298
The ECB mode is disallowed for encrypting secret data but is allowed for legacy use (i.e., to decrypt data that has been encrypted prior to the publication of this revision of SP 800-131A). However, NIST Internal Report (IR ) 8459 discusses applications for which the ECB mode remains acceptable for non-confidentiality purposes (i.e., challenge-response protocols and initialization vector [IV] generation) [NIST IR 8459].
299 300
CBC (including CBC-CS1, CBC-CS2, and CBC-CS3, defined in [SP 800-38A_addendum]), CFB, CTR, and OFB are acceptable.
6
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
301 302
[SP 800-38C], [SP 800-38D], and [SP 800-38E] specify, correspondingly, the CCM, GCM, and XTSAES modes for block ciphers with a block size of 128 bits (i.e., using AES):
303 304 305 306
The use of the CCM, GCM, and XTS-AES modes is acceptable when used as specified in SP 800-38C, SP 800-38D, and SP 800-38E, respectively. In addition, an implementation of the AES GCM mode shall comply with one of the scenarios defined in the FIPS 140 Implementation Guide, Annex C.H [FIPS 140_IG].
307
[SP 800-38G] specifies two modes for format-preserving encryption and decryption:
308 309 310
1. FF1: The FF1 mode is acceptable when used as specified in SP 800-38G with the additional restriction that the domain size be at least one million. The use of FF1 with a domain size of less than one million is disallowed.
311
2. FF3: The use of FF3, as currently specified in SP 800-38G, is disallowed.5
312
5 SP 800-38G will be revised to remove FF3.
7
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
313
3. Digital Signatures
314 315 316 317
Digital signatures provide assurance of origin authentication and data integrity. These assurances can be extended to provide assurance that the signatory cannot effectively deny signing a document, which is commonly known as non-repudiation. The digital signature algorithms are specified in [FIPS 186], [FIPS 204], [FIPS 205], and [SP 800-208].
318 319 320
The security strength estimated for a digital signature algorithm depends on the hash function used, the key length/strength and method used for key generation, and any other parameters used during the digital signature process.
321 322 323 324 325
•
DSA: DSA keys are generated and used with domain parameters p, q, and g. The security strength that the algorithm can provide depends on the bit lengths of p (L) and q (N) and the proper generation of the domain parameters used. The specification for DSA is not included in the current version of FIPS 186 (i.e., [FIPS 186-5]). However, DSA is specified in the previous version (i.e., [FIPS 186-4]).
326 327 328 329 330
•
Elliptic Curve-based Digital Signatures (ECDSA and EdDSA): Keys are generated and used with respect to domain parameters that define elliptic curves. The length of n (i.e., the domain parameter that specifies the order of the base point G) is used to determine the security strength that can be provided by a properly generated key. ECDSA and EdDSA are specified in FIPS 186.
331 332 333
•
RSA: RSA keys are generated with respect to a modulus n, which is used to determine the security strength that can be provided by a digital signature. The RSA algorithm for digital signatures is specified in [RFC 8017], and guidance for use is provided in FIPS 186.
334 335
•
ML-DSA: ML-DSA is a lattice-based quantum-resistant digital signature algorithm that is specified in [FIPS 204].
336 337
•
SLH-DSA: SLH-DSA is a quantum-resistant stateless hash-based digital signature algorithm that is specified in [FIPS 205].
338 339
•
Stateful hash-based signatures: The LMS, HSS, XMSS, and XMSSMT quantum-resistant digital signature algorithms are specified in [SP 800-208].
340 341 342 343 344
The security strength provided by a digital signature generation process is no greater than the minimum of 1) the security strength that the digital signature algorithm can support with a given parameter set (including the length of the key) and 2) the security strength supported by the cryptographic hash method 6 that is used. See [SP 800-57] for the estimated security strength for a given algorithm and parameter set.
345 346
Sections 11 and 12 discuss the hash methods used during the digital signature generation and verification processes: hash functions and extendable-output functions (XOFs).
347 348
Table 3 provides the approval status of the algorithms and key lengths used for the generation and verification of digital signatures in accordance with [FIPS 186], [FIPS 204], [FIPS 205], and [SP 6 A hash method is 1) a hash function specified in either FIPS 180 or FIPS 202 or 2) an XOF specified in FIPS 202.
8
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
349 350 351
800-208]. The approval status of DSA, ECDSA, EdDSA, and RSA will be impacted by the transition to quantum-resistant digital signature algorithms. This is indicated in the table using an asterisk (*).
352
Table 3. Approval status of algorithms used for digital signature generation Digital Signature Algorithm DSA generation
Criteria
Status Disallowed
All security strengths
DSA verification
Legacy use < 112 bits of security strength
ECDSA generation
ECDSA verification
EdDSA generation and verification
≥ 112 but < 128 bits of security strength
RSA verification (PKCS #1 v1.5 & PSS) RSA generation (ASC X9.31) RSA verification (ASC X9.31) ML-DSA generation and verification SLH-DSA
Acceptable through 2030 Deprecated after 2030*
≥ 128 bits of security strength
Acceptable*
< 112 bits of security strength
Legacy use
≥ 112 bits of security strength
Acceptable*
≥ 128 bits of security strength < 112 bits of security strength
RSA generation (PKCS #1 v1.5 & PSS)
Disallowed
≥ 112 but < 128 bits of security strength
Acceptable* Disallowed Acceptable through 2030 Deprecated after 2030*
≥ 128 bits of security strength
Acceptable*
< 112 bits of security strength
Legacy use
≥ 112 bits of security strength
Acceptable* Disallowed
All security strengths Legacy use Parameter sets in FIPS 204
Acceptable
Parameter sets in FIPS 205
Acceptable
9
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
generation and verification LMS, HSS, XMSS, XMSSMT generation and verification
353
DSA:
354
• •
360 361 362 363 364
Signature generation: Signature verification: o Verification of DSA digital signatures is allowed for legacy use when using previously approved domain parameters and private keys.
357 358 359
Acceptable
o Signature generation using DSA is disallowed.
355 356
Parameter sets in SP 800-208
ECDSA and EdDSA: •
Signature generation: The security strength provided by an elliptic curve signature is 1/2 of the length of the domain parameter n. Recommended and deprecated elliptic curves for digital signature generation are provided in [SP 800-186]. Elliptic curves that meet the security strength requirements are also allowed when they satisfy the requirements of FIPS 140 Implementation Guide [FIPS 140 IG], Annex C.A.
365
o ECDSA signature generation providing less than 112 bits of security is disallowed.
366 367 368
o ECDSA signature generation providing at least 112 bits of security (but less than 128 bits of security) is acceptable through December 31, 2030. For these curves, 224 ≤ len(n) < 256.
369 370
After December 31, 2030, the use of these curves and keys is deprecated for digital signature generation.
371 372 373
o ECDSA and EdDSA signature generation providing at least 128 bits of security is acceptable. These signatures shall be generated using elliptic curves and private keys such that len(n) ≥ 256.
374
•
Signature verification:
375 376 377
o Signature verification of ECDSA digital signatures that were generated to provide less than 112 bits of security is allowed for legacy use when using curves and public keys such that 160 ≤ len(n) < 224.
378 379 380
o Signature verification of ECDSA digital signatures that were generated to provide at least 112 bits of security is acceptable using the recommended elliptic curves included in [SP 800-186]. In this case, len(n) ≥ 224.
381 382 383
o Signature verification of EdDSA digital signatures is acceptable using the recommended elliptic curves included in [SP 800-186] where len(n) ≥ 256. The use of EdDSA was never approved for a security strength less than 128 bits. 10
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
384 385 386 387 388 389 390 391
Transitioning the Use of Cryptographic Algorithms and Key Lengths
o Signature verification using curves that comply with FIPS 140 Implementation Guide [FIPS140_IG], Annex C.A is allowed for legacy use. RSA (PKCS #1 v1.5 & PSS): •
Signature generation: The security strength provided by an RSA signature depends on the bit length of the modulus n. The security strength associated with several values of len(n) is provided in [SP 800-57]. The security strength associated with other values of len(n) may be estimated using the formula in FIPS 140 Implementation Guide [FIPS140_IG], Annex D.B.
392
o Signature generation providing less than 112 bits of security is disallowed.
393 394 395
o Signature generation providing at least 112 bits of security (but less than 128 bits of security) is acceptable through December 31, 2030. These signatures shall be generated using private keys and a modulus n such that 2048 ≤ len(n) < 3072.
396 397
After December 31, 2030, the use of these moduli and keys is deprecated for digital signature generation.
398 399 400
o Signature generation providing at least 128 bits of security is acceptable. These signatures shall be generated using a modulus n and public keys such that len(n) ≥ 3072.
401
•
Signature verification:
402 403 404
o Signature verification using public keys providing less than 112 bits of security is allowed for legacy use when the modulus n and the public keys are such that 1024 ≤ len(n) and len(n) is a multiple of 256.
405 406 407
o Signature verification using public keys providing at least 112 of security is acceptable. Verification requires the use of a modulus n and public keys such that len(n) ≥ 2048.
408 409
RSA (ASC [X9.31]): Approved in FIPS 186-4. •
Signature generation: o Signature generation in accordance with ASC [X9.31] is disallowed.
410 411
•
Signature verification:
412 413
o Signature verification of signatures generated in accordance with ASC [X9.31] is allowed for legacy use.
414
ML-DSA:
415 416
•
417
SLH-DSA:
Signature generation and verification are acceptable using the parameter sets listed in [FIPS 204].
11
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
418 419 420 421 422
•
Transitioning the Use of Cryptographic Algorithms and Key Lengths
Signature generation and verification are acceptable using the parameter sets listed in [FIPS 205].
LMS, HSS, XMSS, XMSSMT: •
Signature generation and verification are acceptable using the parameter sets listed in [SP 800-208].
423
12
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
424
4. Cryptographic Key Generation
425 426 427 428 429 430 431
[SP 800-133] addresses the generation of the cryptographic keys used in cryptography. The keys are either 1) generated using mathematical processing on the output of approved random bit generators (RBGs) and possibly other parameters or 2) generated based on keys that are generated in this fashion. These keys shall be obtained directly or indirectly from the output of an approved RBG as specified in the [SP 800-90] series and generated in accordance with appropriate FIPS or NIST SPs (e.g., [SP 800-108] for key derivation from a preexisting shared key). [SP 800-133] includes methods for producing a key by:
432 433
•
Combining the output of an approved RBG with independently determined data of the same length by exclusive-oring the values and
434 435 436
•
Combining independently generated keys with other (independently generated) keys and/or independently determined data by concatenation, XOR-oring, or using a specified key-extraction process.
437 438
These methods for determining keys are acceptable when consistent with the requirements of the application for which the keys will be used.
13
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
439
5. Random Bit Generation
440 441 442
Random numbers are used for various purposes, such as the generation of keys, nonces, and authentication challenges. The SP 800-90 series of documents specifies methods for generating random bits for these purposes.
443
5.1. Deterministic Random Bit Generator Mechanisms (DRBGs)
444 445 446 447
Several deterministic random bit generator (DRBG) mechanisms have been specified for use by the Federal Government. [SP 800-90A] includes three DRBGs: Hash_DRBG, HMAC_DRBG, and CTR_DRBG, which are specified to include either a hash function or a block cipher (e.g., AES) as cryptographic primitives.
448 449
The approval status for the DRBGs and the cryptographic primitives they use is provided in Table 4.
450
Table 4. Approval status of algorithms used for random bit generation DRBG Hash_DRBG and HMAC_DRBG CTR_DRBG
451
Crypto. Primitive SHA-1, SHA-224, SHA512/224, and SHA3-224 All other SHA-2 and SHA-3 hash functions TDEA AES-128, AES-192, AES-256
Status Deprecated through 2030 Disallowed after 2030 Acceptable Disallowed Acceptable
Hash_DRBG and HMAC_DRBG:
452 453 454
•
The use of SHA-1 or a 224-bit hash function (i.e., SHA-224, SHA-512/224, or SHA3-224) as the cryptographic primitive in Hash_DRBG and HMAC DRBG is deprecated through December 31, 2030, and disallowed after 2030.
455 456 457
•
The use of Hash_DRBG and HMAC_DRBG is acceptable with any other SHA-2 or SHA-3 hash function specified in [FIPS 180] or [FIPS 202] (i.e., SHA-256, SHA-384, SHA-512, SHA512/256, SHA3-256, SHA3-384, and SHA3-512).
458
CTR_DRBG:
459
•
The use of CTR_DRBG using TDEA as the cryptographic primitive is disallowed.
460
•
The use of CTR_DRBG using AES-128, AES-192, or AES-256 is acceptable.
461
5.2. Entropy Sources
462 463 464 465
Entropy sources provide entropy for RBGs. [SP 800-90B] provides guidance for designing and testing entropy sources. Additional guidance related to the validation of entropy sources is provided in the FIPS 140 Implementation Guide [FIPS 140 IG], Sec. 9.3.A and Annexes D.J, D.K, and D.O. 14
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
466
5.3. Random Bit Generator (RBG) Constructions
467 468 469
[SP 800-90C] provides constructions for designing RBGs based on the use of entropy sources that are compliant with [SP 800-90B] and the DRBGs specified in [SP 800-90A]. [SP 800-90C] is currently in draft form; the RBG constructions in [SP 800-90C] are acceptable.
470
15
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
471
6. Key Agreement Using Diffie-Hellman and MQV
472 473 474 475 476
Key agreement is a technique for establishing keying material via an electronic key-agreement transaction between two entities that intend to communicate. Both parties contribute information so that neither party can predetermine the value of the resulting secret keying material independently from the contributions of the other party. The agreed-upon keys are not transmitted between the two entities.
477 478 479
[SP 800-56A] specifies two families of key-agreement schemes: Diffie-Hellman (DH) and MenezesQu-Vanstone (MQV). Each has been defined over two different mathematical structures: finite fields and elliptic curves.
480 481 482 483 484
Key agreement, as specified in [SP 800-56A], includes two steps: the use of an appropriate DH or MQV “primitive” to generate a shared secret and the use of a key-derivation method (KDM) to generate one or more keys from the resulting shared secret. [SP 800-56A] contains the DH and MQV primitives and refers to [SP 800-56C] for KDMs. The approval status for these key-derivation methods is discussed in Sec. 9.1.
485 486 487
The security strength of a key-agreement scheme specified in [SP 800-56A] depends on the keyagreement algorithm, the parameters used with that algorithm (e.g., the keys), and its form (i.e., finite field or elliptic curve).
488 489 490 491
•
Finite field DH and MQV: The keys for these algorithms are generated and used with domain parameters p, q, and g. The security strength that can be provided by the algorithm depends on the length of p, the length of q, and the proper generation of the domain parameters and the key.
492 493 494 495
•
Elliptic Curve DH and MQV: The keys for these algorithms are generated and used with respect to domain parameters that define elliptic curves. The length of n (i.e., the order of the base point G) is used to determine the security strength that can be provided by a properly generated curve.
496 497 498 499 500 501
Table 6 contains the Federal Government approval status for the DH and MQV key-agreement schemes. In some cases, a scheme is only allowed for legacy use; additional details below the table indicate the conditions for allowing continued use (e.g., the associated dates and parameters). The approval status of the schemes in this section will be impacted by the transition to quantum-resistant key-establishment methods. This is indicated in the table using an asterisk (*).
502
Table 5. Approval status for SP 800-56A key agreement (DH and MQV) schemes Scheme
Domain Parameters
Status
< 112 bits of security strength
Legacy use
16
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024 Scheme
Domain Parameters
SP 800-56A DH and MQV schemes using finite fields and elliptic curves
112 bits of security strength
Non-conformance to SP 800-56A
503 504 505
Transitioning the Use of Cryptographic Algorithms and Key Lengths Status Acceptable through 2030 Deprecated after 2030*
≥ 128 bits of security strength
Acceptable*
Any
Legacy use
[SP 800-56A] DH and MQV schemes using finite fields: •
For key-agreement transactions providing less than 112 bits of security strength (i.e., using domain parameters where len(p) < 2048 or len(q) < 224):
506 507
The initiation of a key-agreement transaction providing less than 112 bits of security is disallowed.
508 509
The processing of information in a key-agreement transaction is allowed for legacy use when len(p) = 1024 or len(q) = 160. See parameter set FA in [SP 800-56Ar2].
510 511
•
Key-agreement transactions providing 112 bits of security strength are acceptable through December 31, 2030, using the following domain parameters:
512
o The MODP-2048 safe-prime group specified in [RFC 3526] (listed in [SP 800-56A])
513
o The ffdhe2048 safe-prime group specified in [RFC 7919] (listed in [SP 800-56A])
514 515 516
o For FIPS 186-type domain parameters, (len(p), len(q)) = (2048, 224) or (2048, 256); these domain parameters are provided as parameter sets FB and FC in [SP 80056A] After December 31, 2030, the use of these domain parameters is deprecated.
517 518 519
•
520
Key-agreement transactions providing at least 128 bits of security strength are acceptable in the following cases: o The following safe-prime groups are used:
521
The MODP-X safe-prime group specified in [RFC 3526] or
522
The ffdheX safe-prime group specified in [RFC 7919],
523 524 525 526 527 528
where X = 3072, 4096, 6144, or 8192 (listed in [SP 800-56A]). [SP 800-56A] DH and MQV schemes using elliptic curves: •
For key-agreement transactions providing less than 112 bits of security strength (i.e., using curves where len(n) < 224): Initiating a key-agreement transaction providing less than 112 bits of security strength is disallowed. 17
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
The processing of information in a key-agreement transaction is allowed for legacy use when len(n) = 160 to 223. See parameter set EA in [SP 800-56Ar2].
529 530 531 532
Transitioning the Use of Cryptographic Algorithms and Key Lengths
•
Key-agreement transactions providing 112 bits of security strength are acceptable through December 31, 2030, using the following curves:
533 534
o The P-224 curve specified in [SP 800-186] (see parameter set EB in [SP 800-56A]) or
535 536
o The brainpoolP224r1 and brainpoolP224t1 curves specified in [RFC 5639] (see FIPS 140 Implementation Guide [FIPS 140_IG], Annex C.A.). After December 31, 2030, the use of these curves is deprecated.
537 538 539
•
Key-agreement transactions providing at least 128 bits of security strength using the following elliptic curves are acceptable:
540 541
o P-256, P-384, P-521, K-283, K-409, K-571, B-283, B-409, B-571, and sep256k1, as specified in [SP 800-186] (see parameter sets EC, ED, and EE in [SP 800-56A])
542 543 544 545
o The brainpool curves and twisted variants of these curves specified in [RFC 5639]: brainpoolP256r1, brainpoolP320r1, brainpoolP384r1, brainpoolP512r1, brainpoolP256t1, brainpoolP320t1, brainpoolP384t1, and brainpoolP512t1 (see [FIPS 140 IG], Annex C.A)
546
Schemes not compliant with [SP 800-56A]:
547
Initiating a key-agreement transaction using these schemes is disallowed.
548 549
Processing the information in a key-agreement transaction using these schemes is allowed for legacy use when using parameters that were previously acceptable.
550
18
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
551
7. Key Agreement and Key Transport Using RSA
552 553 554 555 556 557 558
[SP 800-56B] specifies the use of RSA for both key-agreement and key-transport transactions. Key agreement is a technique in which both parties contribute information to the generation of keying material so that neither party can predetermine the value of the secret keying material independently from the contributions of the other party. Two key-agreement schemes are specified: KAS1 and KAS2. Key transport is a key-establishment technique in which only one party determines the key and sends it to the other party. One key-transport scheme is specified (i.e., RSA-OAEP), and another general hybrid method is described.
559 560 561
RSA keys are generated with respect to the desired bit length of a modulus n. The length of n is used to determine the security strength of a key-establishment scheme that uses n, assuming that n and the RSA keys are generated as specified in [SP 800-56B]. 7
562 563 564 565 566 567
[SP 800-56B] provides guidance on key lengths for RSA and explicitly specifies several key lengths and the intended security strengths beginning with len(n) = 2048, which is estimated to support a security strength of 112 bits. Additional key lengths greater than 2048 bits and not explicitly listed in [SP 800-56B] may also be used. The approximate security strength that is supported by a given key length may be estimated using a formula in [SP 800-56B] and Annex D.B of [FIPS 140 IG].
568 569 570
Table 7 provides the approval status for the choice of len(n). The approval status of the schemes in this section will be impacted by the transition to quantum-resistant key-establishment methods. This is indicated by an asterisk (*) in the table.
571
Table 6. Approval status for the RSA-based key-agreement and key-transport schemes Scheme
SP 800-56B Key-Agreement and Key-Transport schemes
Domain Parameters
Status
< 112 bits of security strength
Legacy use
112 bits of security strength
573 574 575 576
Deprecated after 2030*
≥ 128 bits of security strength
Acceptable*
Any
Legacy use
Non-conformance to SP 800-56B
572
Acceptable through 2030
[SP 800-56B] RSA key-agreement and key-transport schemes: •
For key establishment transactions providing less than 112 bits of security strength (i.e., len(n) < 2048): Initiating a key-establishment transaction providing less than 112 bits of security strength is disallowed.
7 [SP 800-56B] refers to [FIPS 186] for generation guidance.
19
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
The processing of information in a key-establishment transaction is allowed for legacy use when len(n) = 1024 or len(q) = 160. See parameter set FA in [SP 800-56Ar2].
577 578 579 580
Transitioning the Use of Cryptographic Algorithms and Key Lengths
•
Key-establishment transactions that provide 112 bits of security strength (i.e., 2048 ≤ len(n) < 3072):
581 582
Key establishment is acceptable through December 31, 2030, using the schemes specified in [SP 800-56B].
583
After December 31, 2030, key establishment using these values of len(n) is deprecated.
584 585
•
Key establishment is acceptable using the schemes specified in [SP 800-56B].
586 587 588
Key-establishment transactions providing at least 128 bits of security strength (i.e., len(n) ≥ 3072):
Non-[SP 800-56B]-compliant RSA key-establishment schemes that were previously allowed in [FIPS 140 IG]:
589 590
•
Initiating a key-establishment transaction using a non-[SP 800-56B]-compliant scheme is disallowed.
591 592
•
The processing of information in a key-establishment transaction using a non-[SP 80056B]-compliant scheme is allowed for legacy use when len(n) ≥ 1024.
593
20
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
594
8. Key Establishment Using a Key Encapsulation Mechanism (KEM)
595 596 597 598 599
[FIPS 203] specifies a quantum-resistant key encapsulation mechanism (KEM) — a set of algorithms that can be used by two parties to establish a secret key over a public channel under certain conditions. A key that is securely established using a KEM can then be used with symmetric-key cryptographic algorithms to perform basic tasks in secure communications, such as encryption and authentication.
600 601
[FIPS 203] specifies three parameter sets for a key-encapsulation mechanism (ML-KEM): MLKEM-512, ML-KEM-768, and ML-KEM-1024.
602 603
The use of any of these approved KEMs is acceptable for establishing keying material between two parties.8
8 Guidance for the use of a KEM for key establishment is under development.
21
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
604
9. Key Derivation Methods
605 606 607 608
One or more keys or other keying material may be derived using pre-established key-derivation keys (KDKs). A KDK may be established using a key-establishment scheme (see Sec. 6 and 7) or manual key-distribution method or generated using an RBG (see Sec. 5) or a previous instance of a key-derivation function.
609
9.1. Key-Derivation Methods in SP 800-56C
610 611 612 613 614 615
[SP 800-56C] provides key-derivation methods (KDMs) for key-establishment schemes in [SP 80056A] and [SP 800-56B] (see Sec. 6 and 7 herein, respectively). [SP 800-56C] specifies one-step key-derivation functions (KDFs) and two-step key-derivation procedures. When a key-derivation method is allowed for legacy use, other conditions specified in Sec. 6 and 7 for the keyestablishment schemes also apply. Approved key derivation methods are also provided in [SP 800-135] for specific applications.
616
9.1.1. One-Step Key-Derivation Functions
617 618
One-step key-derivation functions use a hash function, as specified in [FIPS 180] or [FIPS202]; HMAC, as specified in [SP 800-224]; or KMAC, as specified in [SP 800-185].
619 620
Table 8 provides the approval status of the one-step key-derivation functions specified in [SP 80056C].
621
Table 7. Approval status for the one-step KDFs in SP 800-56C H(x) Hash function and HMAC KMAC
622 623 624
Crypto. Primitive
Status
SHA-1, SHA-224, SHA-512/224, and SHA3224
Deprecated through 2030 Legacy use after 2030
All other hash functions
Acceptable
KMAC128 and KMAC256
Acceptable
H(x) is a hash function or HMAC: •
The use of SHA-1 and the 224-bit hash functions (i.e., SHA-224, SHA-512/224, or SHA3224):
625 626
The use of these hash functions for one-step key derivation during a key-establishment transaction is deprecated through December 31, 2030.
627 628 629
After 2030, the use of these hash functions is allowed for legacy use to derive keying material using the information from a key-establishment transaction (also see Sec. 6 and 7).
22
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
The use of all other hash functions specified in [FIPS 180] and [FIPS 202] for one-step key derivation is acceptable (i.e., SHA-256, SHA-384, SHA-512, SHA-512/256, SHA3-256, SHA3-384, and SHA3-512).
630 631 632
•
633
H(x) is KMAC:
634
•
The use of KMAC128 and KMAC256 for one-step key derivation is acceptable.
635
9.1.2. Two-Step Key-Derivation Procedures
636 637
Two-step key-derivation procedures use separate steps for randomness extraction and key expansion based on HMAC, as specified in [SP 800-224], or CMAC, as specified in [SP 800-38B].
638 639
Table 9 provides the approval status of the two-step key-derivation methods specified in [SP 80056C].
640
Table 8. Approval status for the two-step KDMs in SP 800-56C MAC Algorithm
Crypto. Primitive
Status
SHA-1, SHA-224, SHA-512/224, and SHA3-224
Deprecated through 2030 Legacy use after 2030
All other hash functions
Acceptable
AES-128, AES-192, and AES-256
Acceptable
HMAC-hash
AES-CMAC
641
HMAC-hash:
642 643 644
•
The use of SHA-1 and the 224-bit hash functions (i.e., SHA-224, SHA-512/224, and SHA3224) for two-step key derivation using HMAC is deprecated through December 31, 2030, and allowed for legacy use thereafter.
645 646 647
•
The use all other hash functions specified in [FIPS 180] and [FIPS 202] for two-step key derivation using HMAC is acceptable (i.e., using SHA-256, SHA-384, SHA-512, SHA512/256, SHA3-256, SHA3-384, and SHA3-512).
648
AES-CMAC:
649 650
1. The use of AES-128, AES-192, or AES-256 as the cryptographic primitive for two-step key derivation using CMAC is acceptable.
23
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
651
9.2. Key-Derivation Functions in SP 800-108
652 653 654
[SP 800-108] specifies KDFs that use pseudorandom functions (PRFs) and a cryptographic key (called a key-derivation key) to generate additional keys. Three PRFs are used in the KDFs specified in [SP 800-108]:
655
1. HMAC, as specified in [SP 800-224], requires the use of a hash function (see Sec. 10).
656 657
2. CMAC, as specified in [SP 800-38B], requires the use of a block cipher algorithm (e.g., AES128, which is specified in [FIPS 197]).
658
3. KMAC, as specified in [SP 800-185].
659 660
HMAC, CMAC, and KMAC are also known as message authentication code (MAC) algorithms. Section 13 discusses these algorithms and the keys used with them.
661
Table 10 provides the approval status of the PRFs for key derivation, as specified in [SP 800-108].
662
Table 9. Approval status of the algorithms used for a key derivation function (KDF) KDF Type HMAC-based KDF
CMAC-based KDF KMAC-based KDF
663
Crypto. Primitive SHA-1, SHA-224, SHA-512/224, and SHA3-224 All other approved hash functions
Status Deprecated through 2030 Legacy use after 2030 Acceptable
TDEA
Legacy use
AES-128, AES-192, and AES-256
Acceptable
KMAC128 and KMAC 256
Acceptable
HMAC-based KDF:
664 665 666
•
The use of SHA-1 and the 224-bit hash functions (i.e., SHA-224, SHA-512/224, and SHA3224) for key derivation using HMAC is deprecated through December 31, 2030, and allowed for legacy use thereafter.
667 668 669
•
The use of all other hash functions specified in [FIPS 180] and [FIPS 202] for key derivation using HMAC is acceptable (i.e., using SHA-256, SHA-384, SHA-512, SHA-512/256, SHA3256, SHA3-384, and SHA3-512).
670 671 672
CMAC-based KDF: •
The use of TDEA for CMAC-based key derivation is allowed for legacy use when processing a transaction.
673 674 675
The use of TDEA, as specified in [SP 800-67], is disallowed for initiating a transaction that uses a CMAC-based KDF for the key-derivation process.
•
The use of AES for CMAC-based key derivation is acceptable.
24
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
676 677 678
Transitioning the Use of Cryptographic Algorithms and Key Lengths
KMAC-based KDF: •
For KMAC-based KDFs, the use of KMAC128 and KMAC256 (as specified in [SP 800-185]) is acceptable.
679
9.3. Key-Derivation in SP 800-132
680 681 682 683
[SP 800-132] specifies a family of password-based key-derivation functions (PBKDFs) for deriving cryptographic keys from passwords or passphrases to protect electronically stored data or data protection keys. The PBKDFs require the use of a randomly generated salt of at least 128 bits, a minimum iteration counter of 1000, and an HMAC with an approved hash function.
684
Table 11 provides the approval status for PBKDFs.
685
Table 10. Approval status of the PBKDFs HMAC Crypto. Primitive SHA-1, SHA-224, SHA-512/224, and SHA3-224 All other hash functions
686
Status Deprecated through 2030 Legacy use after 2030 Acceptable
Password-based key derivation using HMAC:
687 688 689
•
The use of SHA-1 and the 224-bit hash functions (i.e., SHA-224, SHA-512/224, and SHA3224) for password-based key derivation using HMAC is deprecated through December 31, 2030, and allowed for legacy use thereafter.
690 691 692
•
The use of all other hash functions specified in [FIPS 180] and [FIPS 202] for passwordbased key derivation using HMAC is acceptable (i.e., using SHA-256, SHA-384, SHA-512, SHA-512/256, SHA3-256, SHA3-384, and SHA3-512).
25
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
693
10. Key Wrapping
694 695 696
Key wrapping is the encryption and integrity protection of keying material using a block-cipher key-wrapping algorithm and a symmetric key. Approved methods for key wrapping using a block cipher are provided in [SP 800-38F].
697 698 699 700 701 702
[SP 800-38F] specifies three algorithms for key wrapping that use block ciphers: KW and KWP, which use AES (as specified in [FIPS 197]); and TKW, which uses TDEA (as specified in [SP 80067]). [SP 800-38F] also approves the CCM and GCM authenticated-encryption modes specified in [SP 800-38C] and [SP 800-38D] for key wrapping using AES, as well as combinations of an approved encryption mode (e.g., AES-CBC) with an approved authentication method (e.g., HMAC or a digital signature).
703 704
Table 12 provides the approval status of the block cipher algorithms that may be used for key wrapping.
705
Table 11. Approval status of block cipher algorithms used for key wrapping
706
Algorithm TDEA (using TKW) KW, KWP, CCM and GCM (using AES)
Use Key wrapping Key unwrapping
Status Disallowed Legacy use
Key wrapping and unwrapping
Acceptable
The combination of an approved encryption mode and approved authentication method other than KW, KWP, CCM, or GCM
Key wrapping using separate encryption and authentication processes Key unwrapping using separate decryption and authenticity/integrity verification processes
•
The use of TDEA for key wrapping is disallowed.
708
•
The use of TDEA for unwrapping is allowed for legacy use.
711 712 713 714 715 716 717 718 719
Acceptable
TDEA (using TKW, as specified in [SP 800-38F]):
707 709 710
Deprecated
KW and KWP (specified in [SP 800-38F]), CCM (specified in [SP 800-38C]), and GCM (specified in [SP 800-38D]): •
The use of KW, KWP, CCM, and GCM using AES for both key wrapping and unwrapping is acceptable.
The combination of an approved encryption mode and an approved authentication method other than KW, KWP, CCM, and GCM: •
The use of an approved encryption mode and an approved authentication method for key wrapping is deprecated until additional guidance is provided for using these combinations securely. The approved AES encryption modes include: o The CBC, CFB, OFB, and CTR modes specified in [SP 800-38A]. 26
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
720
Transitioning the Use of Cryptographic Algorithms and Key Lengths
The authentication methods include:
721
o The CMAC mode specified in [SP 800-38B];
722
o The GMAC mode specified in [SP 800-38D];
723 724
o A digital signature scheme specified in [FIPS 186], [FIPS 204], [FIPS 205], or [SP 800-208] (see Sec. 3);
725
o HMAC, as specified in [SP 800-224]; and
726
o KMAC, as specified in [SP 800-185].
27
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
727
11. Hash Functions
728 729 730 731
A hash function produces a condensed representation of its input by taking an input of arbitrary length and outputting a value with a predetermined length. Hash functions are used in the generation and verification of digital signatures, key derivation, random number generation, computation of message authentication codes, and hash-only applications.
732
Several hash functions have been approved and specified:
733 734 735
•
[FIPS 180] specifies SHA-1 and the SHA-2 family of hash functions (i.e., SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, and SHA-512/256). Information about the security strengths that can be provided by these hash functions is given in [SP 800-57].
736 737 738
•
[FIPS 202] specifies the SHA-3 family of hash functions (i.e., SHA3-224, SHA3-256, SHA3384, and SHA3-512). Discussions about the SHA-3 hash functions are provided, and the security strengths that can be provided by these functions are given in [SP 800-57].
739 740 741
•
[SP 800-185] specifies two SHA-3-derived hash functions (i.e., TupleHash and ParallelHash) that are based on the XOFs specified in [FIPS 202] and discusses their use and the security strengths that they can support.
742
Table 13 provides the approval status of the hash functions.
743
Table 12. Approval status of hash functions Hash Function
SHA-1
SHA-224, SHA-512/224, and SHA3224 All other SHA-2 and SHA3 hash functions TupleHash and ParallelHash
744
SHA-1:
745
•
746
Use
Status
Digital signature generation
Disallowed
Digital signature verification
Legacy use
Applying protection for non-digitalsignature applications Processing already protected information using non-digital signature applications
Deprecated through 2030 Disallowed after 2030 Acceptable through 2030 Legacy use after 2030 Deprecated through 2030 Applying protection Disallowed after 2030 Acceptable through 2030 Processing already-protected information Legacy use after 2030 Acceptable for all hash function applications Acceptable
Digital signature generation: SHA-1 is disallowed for digital signature generation.
28
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
747
• •
•
Processing already protected information using SHA-1 for non-digital signature applications: The use of SHA-1 is acceptable for processing already-protected information through December 31, 2030, and allowed for legacy use thereafter.
754 755 756
Applying cryptographic protection for non-digital signature applications: The use of SHA-1 is deprecated through December 31, 2030, for applying protection in non-digital signature applications and disallowed thereafter.
750 751 752 753
Digital signature verification: When used for digital signature verification, SHA-1 is allowed for legacy use.
748 749
Transitioning the Use of Cryptographic Algorithms and Key Lengths
Hash functions with a 224-bit output (i.e., SHA-224, SHA-512/224, and SHA3-224):
757 758
•
The use of 224-bit hash functions for applying cryptographic protection is deprecated through December 31, 2030, and disallowed thereafter.
759 760
•
The use of 224-bit hash functions to process already protected information is acceptable through December 31, 2030, and allowed for legacy use thereafter.
761 762
All other SHA-2 and SHA-3 hash functions (i.e., SHA-256, SHA-384, SHA-512, SHA-512/256, SHA3256, SHA3-384, and SHA3-512):
763
The use of these hash functions is acceptable for all hash function applications.
764 765 766
TupleHash and ParallelHash: The use of TupleHash and ParallelHash is acceptable for the purposes specified in [SP 800185].
767
29
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
768
12. Extendable-Output Functions (XOFs)
769 770 771 772
Like hash functions, XOFs operate on input of an arbitrary length. The output of an XOF can be extended to any desired length, whereas the output of a hash function is a predetermined fixed length. Two XOFs are approved in [FIPS 202]: SHAKE128 and SHAKE256. [SP 800-185] provides approved uses for these XOFs. Table 14 provides the approval status of the XOFs.
773
Table 13. Approval status of eXtendable-Output Functions (XOFs) SHAKE128 SHAKE256
774 775
XOF
Status Acceptable
The use of SHAKE128 and SHAKE256 is acceptable when used as specified in approved cryptographic applications.
776
30
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
777
13. Message Authentication Codes (MACs)
778 779 780 781 782 783
A MAC is a cryptographic checksum on the data over which it is computed and is used to provide assurance of data integrity and source authentication. It is generated using a MAC algorithm and a cryptographic key. The MAC can provide assurance that the data has not been modified since the MAC was generated and that the MAC was computed by one of the parties sharing the key. The key shall be generated and/or established using an approved method (e.g., using an approved RBG or key-establishment scheme).
784
Three types of message authentication code mechanisms are specified for use:
785 786
1. [SP 800-224] specifies a keyed-hash message authentication code (HMAC) that uses a hash function.
787 788
2. [SP 800-38B] and [SP 800-38D] 9 specify the CMAC and GMAC modes, respectively, for block ciphers (i.e., AES and TDEA).
789 790
3. [SP 800-185] defines the KMAC algorithm that is based on the SHA-3 XOFs specified in [FIPS 202].
791 792 793
The security strength that can be supported by a given MAC algorithm depends on the primitive algorithm used (e.g., the hash function or block cipher) and the strength of the cryptographic key. 10
794 795
Table 15 provides the approval status and required key strengths for the MAC algorithms and the associated cryptographic primitives, as appropriate.
796
Table 14. Approval status of MAC algorithms MAC Algorithm
HMAC Generation
HMAC Verification
Cryptographic Primitive SHA-1, SHA-2, SHA-3 SHA-1, SHA-224, SHA512/224, SHA3-224
Status
All other SHA-2 and SHA3 hash functions
112 ≤ strength < 128 ≥ 128
Disallowed Deprecated through 2030 Disallowed after 2030 Acceptable through 2030 Disallowed after 2030 Acceptable
SHA-1, SHA-2, SHA-3
< 112
Legacy use
SHA-1, SHA-224, SHA512/224, SHA3-224
≥ 112
All other SHA-2 and SHA3 hash functions CMAC Generation
Key Strengths (in bits) < 112 ≥ 112
112 ≤ strength < 128
Acceptable through 2030 Legacy use after 2030 Acceptable through 2030 Legacy use after 2030
≥ 128 bits
Acceptable
< 112
Disallowed
Two-key TDEA
9 The CCM authenticated encryption mode specified in [SP 800-38C] also generates a MAC. However, the CCM mode cannot be used to generate
a MAC without also performing encryption. The modes listed in this section are used only to generate a MAC.
10 The strength of the key is less than or equal to its length.
31
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024 Cryptographic Primitive Three-key TDEA AES
Key Strengths (in bits) 112 128, 192, 256
Disallowed Acceptable
TDEA
≤ 112
Legacy use
AES-128, AES-192 AES256,
128, 192, 256
Acceptable
AES-128, AES-192, 256
128, 192, 256
Acceptable
< 112 112 ≤ strength < 128 ≥ 128 < 112 112 ≤ strength < 128 ≥ 128
Disallowed Acceptable through 2030 Disallowed after 2030 Acceptable Disallowed Acceptable through 2030 Legacy use after 2030 Acceptable
MAC Algorithm
CMAC Verification GMAC Generation and Verification KMAC Generation
KMAC
KMAC Verification
KMAC
797
HMAC:
798
•
Transitioning the Use of Cryptographic Algorithms and Key Lengths Status
HMAC generation:
799 800
o HMAC generation using keys providing less than 112 bits of security strength is disallowed, regardless of the hash function used as the cryptographic primitive.
801 802 803
o HMAC generation using SHA-1 or the 224-bit hash functions (i.e., SHA-224, SHA512/224, or SHA3-224) and keys providing ≥ 112 bits of security strength is deprecated through December 31, 2030, and disallowed thereafter.
804 805
o HMAC generation using all other hash functions (i.e., SHA-256, SHA-384, SHA-512, SHA-512/256, SHA3-256, SHA3-384, or SHA3-512):
806 807 808 809
When using keys providing at least 112 bits of security strength but less than 128 bits of security strength, the use of these hash functions is acceptable through December 31, 2030, for HMAC generation and disallowed thereafter.
810 811
When using keys providing at least 128 bits of security strength, the use of these hash functions is acceptable for HMAC generation.
812
•
HMAC Verification:
813 814
o HMAC verification using keys with less than 112 bits of security strength is allowed for legacy use.
815 816 817
o HMAC verification using SHA-1 or the 224-bit hash functions (i.e., SHA-224, SHA512/224, or SHA3-224) and keys providing ≥ 112 bits of security strength is acceptable through December 31, 2030, and allowed for legacy use thereafter. 32
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
o HMAC verification using all other hash functions (i.e., SHA-256, SHA-384, SHA-512, SHA-512/256, SHA3-256, SHA3-384, or SHA3-512):
818 819 820 821 822 823
When using keys providing at least 112 bits of security strength but less than 128 bits of security strength, the use of these hash functions is acceptable through December 31, 2030, for HMAC verification and allowed for legacy use thereafter.
824 825
When using keys providing at least 128 bits of security strength, the use of these hash functions is acceptable for HMAC verification.
826
CMAC:
827
•
CMAC Generation:
828
o The use of TDEA for CMAC generation is disallowed.
829
o The use of AES-128, AES-192, or AES-256 for CMAC generation is acceptable.
830
•
CMAC Verification:
831
o The use of TDEA for CMAC verification is allowed for legacy use.
832
o The use of AES for CMAC verification is acceptable.
833
GMAC Generation and Verification:
834
•
835
KMAC:
836
•
The use of GMAC for MAC generation is acceptable when using AES. KMAC generation:
837 838
o The use of KMAC for MAC generation using keys with less than 112 bits of security strength is disallowed.
839 840 841
o The use of KMAC for MAC generation using keys with security strengths of at least 112 bits but less than 128 bits is acceptable through December 31, 2030, and disallowed thereafter.
842 843
o The use of KMAC for MAC generation using keys with at least 128 bits of security strength is acceptable.
844
•
KMAC verification:
845 846
o The use of KMAC for MAC verification using keys with less than 112 bits of security strength is disallowed. 11
847 848 849
o The use of KMAC for MAC verification using keys with security strengths of at least 112 bits but less than 128 bits is acceptable through December 31, 2030, and allowed for legacy use thereafter.
11 KMAC was initially approved after a security strength of 112 bits was required.
33
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
850 851
Transitioning the Use of Cryptographic Algorithms and Key Lengths
o The use of KMAC for MAC verification using keys with security strengths of at least 128 bits is acceptable.
34
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
852
References
853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892
[FIPS140]
[FIPS140_IG]
[FIPS180]
[FIPS186-4]
[FIPS186-5]
[FIPS197]
[FIPS202]
[FIPS203]
[FIPS204]
[FIPS205]
Transitioning the Use of Cryptographic Algorithms and Key Lengths
National Institute of Standards and Technology (2019) Security Requirements for Cryptographic Modules. (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 140-3. https://doi.org/10.6028/NIST.FIPS.140-3 National Institute of Standards and Technology, Canadian Centre for Cyber Security Implementation Guidance for FIPS 140-3 and the Cryptographic Module Validation Program. Available at https://csrc.nist.gov/CSRC/media/Projects/cryptographic-module-validationprogram/documents/fips%20140-3/FIPS%20140-3%20IG.pdf National Institute of Standards and Technology (2015) Secure Hash Standard (SHS). (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 180-4. https://doi.org/10.6028/NIST.FIPS.180-4 National Institute of Standards and Technology (2013) Digital Signature Standard (DSS). (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 186-4 [withdrawn]. https://doi.org/10.6028/NIST.FIPS.186-4 National Institute of Standards and Technology (2023) Digital Signature Standard (DSS). (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 186-5. https://doi.org/10.6028/NIST.FIPS.186-5 National Institute of Standards and Technology (2001) Advanced Encryption Standard (AES). (U.S. Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 197-upd1, updated May 9, 2023. https://doi.org/10.6028/NIST.FIPS.197-upd1 National Institute of Standards and Technology (2015) SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions. (U.S. Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 202. https://doi.org/10.6028/NIST.FIPS.202 National Institute of Standards and Technology (2024) Module-Lattice-Based Key-Encapsulation Mechanism Standard. (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 203. https://doi.org/10.6028/NIST.FIPS.203 National Institute of Standards and Technology (2024) Module-Lattice-Based Digital Signature Standard. (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 204. https://doi.org/10.6028/NIST.FIPS.204 National Institute of Standards and Technology (2024) Stateless Hash-Based Digital Signature Standard. (Department of Commerce, Washington, DC),
35
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935
Transitioning the Use of Cryptographic Algorithms and Key Lengths
Federal Information Processing Standards Publication (FIPS) NIST FIPS 205. https://doi.org/10.6028/NIST.FIPS.205 [Grover] Lov K. Grover. A fast quantum mechanical algorithm for database search. In Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing, STOC ’96, page 212–219, New York, NY, USA, 1996. Association for Computing Machinery. [RFC3526] Kivinen T, Kojo M (2003) More Modular Exponential (MODP) Diffie-Hellman Groups for Internet Key Exchange (IKE), Internet Engineering Task Force (IETF) Request for Comments (RFC) 3526. https://doi.org/10.17487/RFC3526 [RFC4492] Blake-Wilson S, Bolyard N (2006) Elliptic Curve Cryptography (ECC) Cipher Suites for Transport Layer Security (TLS), Internet Engineering Task Force (IETF) Request for Comments (RFC) 4492. https://doi.org/10.17487/RFC4492 [RFC5639] Lochter M (2010) Elliptic Curve Cryptography (ECC) Brainpool Standard Curves and Curve Generation, Internet Engineering Task Force (IETF) Request for Comments (RFC)5639. https://doi.org/10.17487/RFC5639 [RFC5903] Fu D, Salinas J (2010) Elliptic Curve Groups modulo a Prime (ECP Groups) for IKE and IKEv2, Internet Engineering Task Force (IETF) Request for Comments (RFC) 5903. https://doi.org/10.17487/RFC5903 [RFC7919] Gillmor D (2016) Negotiated Finite Field Diffie-Hellman Ephemeral Parameters for Transport Layer Security (TLS), Internet Engineering Task Force (IETF) Request for Comments (RFC) 7919. https://doi.org/10.17487/RFC7919 [RFC8017] Moriarty K (ed.), Kaliski B, Jonsson J, Rusch A (2016) PKCS #1: RSA Cryptography Specifications Version 2.2. (Internet Engineering Task Force (IETF)), IETF Request for Comments (RFC) 8017. https://doi.org/10.17487/RFC8017 [SP80038A] Dworkin MJ (2001) Recommendation for Block Cipher Modes of Operation: Methods and Techniques. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-38A. https://doi.org/10.6028/NIST.SP.800-38A [SP80038A_addendum] Dworkin MJ (2010) Recommendation for Block Cipher Modes of Operation: Three Variants of Ciphertext Stealing for CBC Mode. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-38A, Addendum. https://doi.org/10.6028/NIST.SP.800-38A-Add [SP80038B] Dworkin MJ (2005) Recommendation for Block Cipher Modes of Operation: the CMAC Mode for Authentication. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-38B, Includes updates as of October 6, 2016. https://doi.org/10.6028/NIST.SP.80038B [SP80038C] Dworkin MJ (2004) Recommendation for Block Cipher Modes of Operation: the CCM Mode for Authentication and Confidentiality. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-38C, Includes updates as of July 20, 2007. https://doi.org/10.6028/NIST.SP.800-38C 36
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977
[SP80038D]
[SP80038E]
[SP80038F]
[SP80038G]
[SP80056Ar2]
[SP80056Ar3]
[SP80056B]
[SP80056Br2]
[SP80056C]
[SP80057]
Transitioning the Use of Cryptographic Algorithms and Key Lengths
Dworkin MJ (2007) Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-38D. https://doi.org/10.6028/NIST.SP.800-38D Dworkin MJ (2010) Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Storage Devices. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-38E. https://doi.org/10.6028/NIST.SP.800-38E Dworkin MJ (2012) Recommendation for Block Cipher Modes of Operation: Methods for Key Wrapping. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-38F. https://doi.org/10.6028/NIST.SP.800-38F Dworkin MJ (2016) Recommendation for Block Cipher Modes of Operation: Methods for Format-Preserving Encryption. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-38G. https://doi.org/10.6028/NIST.SP.800-38G Barker EB, Chen L, Roginsky A, Smid M (2013) Recommendation for Pair-Wise Key-Establishment Schemes Using Discrete Logarithm Cryptography. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-56Ar2 [withdrawn]. https://doi.org/10.6028/NIST.SP.800-56Ar2 Barker EB, Chen L, Roginsky A, Vassilev A, Davis R (2018) Recommendation for Pair-Wise Key-Establishment Using Schemes Using Discrete Logarithm Cryptography. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-56Ar3. https://doi.org/10.6028/NIST.SP.800-56Ar3 Barker E, Chen L, Regenscheid A, Smid M (2009) Recommendation for Pair-Wise Key-Establishment Schemes Integer Factorization Cryptography. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-56B [withdrawn]. https://doi.org/10.6028/NIST.SP.800-56B Barker EB, Chen L, Roginsky A, Vassilev A, Davis R, Simon S (2019) Recommendation for Pair-Wise Key-Establishment Schemes Integer Factorization Cryptography. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-56Br2. https://doi.org/10.6028/NIST.SP.800-56Br2 Barker EB, Chen L, Davis R (2020) Recommendation for Key-Derivation Methods in Key-Establishment Schemes. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-56Cr2. https://doi.org/10.6028/NIST.SP.800-56Cr2 Barker EB (2020) Recommendation for Key Management: Part 1 – General. (National Institute of Standards and Technology, Gaithersburg, MD), NIST 37
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019
Transitioning the Use of Cryptographic Algorithms and Key Lengths
Special Publication (SP) NIST SP 800-57pt1r5. https://doi.org/10.6028/NIST.SP.800-57pt1r5 [SP80067] Barker EB, Mouha N (2017) Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-67r2. https://doi.org/10.6028/NIST.SP.800-67r2 [SP80090A] Barker EB, Kelsey JM (2015) Recommendation for Random Number Generation Using Deterministic Random Bit Generators. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-90Ar1. https://doi.org/10.6028/NIST.SP.800-90Ar1 [SP80090B] Turan MS, Barker EB, Kelsey JM, McKay KA, Baish ML, Boyle VM (2018) Recommendation for the Entropy Sources Used for Random Bit Generation. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-90B. https://doi.org/10.6028/NIST.SP.80090B [SP80090C] Barker EB, Kelsey JM, McKay KA, Roginsky A, Turan MS (2024) Recommendation for Random Bit Generator (RBG) Constructions. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 80090C 4pd. https://doi.org/10.6028/NIST.SP.800-90C.4pd [SP800108] Chen L (2022) Recommendation for Key Derivation Using Pseudorandom Functions (Revised). (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-108r1-upd1, Includes updates as of February 2, 2024. https://doi.org/10.6028/NIST.SP.800108r1-upd1 [SP800131Ar2] Barker E, Roginsky A (2019) Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-131Ar2. http://dx.doi.org/10.6028/NIST.SP.800-131Ar2 [SP800132] Sönmez Turan M, Barker EB, Burr WE, Chen L (2010) Recommendation for Password-Based Key Derivation: Part 1: Storage Applications. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-132. https://doi.org/10.6028/NIST.SP.800-132 [SP800133] Barker E, Roginsky A, Davis R (2020) Recommendation for Key Generation. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-133r2. https://doi.org/10.6028/NIST.SP.800-133r2 [SP800135] Dang Q (2011) Recommendation for Existing Application-Specific Key Derivation Functions. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-135r1. https://doi.org/10.6028/NIST.SP.800-135r1 [SP800185] Kelsey JM, Chang S-jH, Perlner RA (2016) SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash, and ParallelHash. (National Institute of Standards and 38
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051
[SP800186]
[SP800208]
[SP800224]
[NISTIR8413]
[NISTIR8459]
[X931] [Zalka]
Transitioning the Use of Cryptographic Algorithms and Key Lengths
Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-185. https://doi.org/10.6028/NIST.SP.800-185 Chen L, Moody D, Regenscheid A, Robinson A, Randall K (2023) Recommendations for Discrete Logarithm-based Cryptography: Elliptic Curve Domain Parameters (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-186. https://doi.org/10.6028/NIST.SP.800-186 Cooper DA, Apon DC, Dang QH, Davidson MS, Dworkin MJ, Miller CA (2020) Recommendation for Stateful Hash-Based Signature Schemes, (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-208. https://doi.org/10.6028/NIST.SP.800-208 Sönmez Turan M, Brandão LTAN (2024) Keyed-Hash Message Authentication Code (HMAC): Specification of HMAC and Recommendations for Message Authentication (National Institute of Standards and Technology, Gaithersburg, MD), NIST Special Publication (SP) NIST SP 800-224 ipd. https://doi.org/10.6028/NIST.SP.800-224.ipd Alagic G, Apon D, Cooper D, Dang Q, Dang T, Kelsey J, Lichtinger J, Liu Y, Miller C, Moody D, Peralta R, Perlner R, Robinson A, Smith-Tone D (2022) Status Report on the Third Round of the NIST Post-Quantum Cryptography Standardization Process. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Interagency or Internal Report (IR) NIST IR 8413-upd1, Includes updates as of September 26, 2022. https://doi.org/10.6028/NIST.IR.8413-upd1 Mouha N, Dworkin M (2024) Report on the Block Cipher Modes of Operation in the NIST SP 800-38 Series. (National Institute of Standards and Technology, Gaithersburg, MD), NIST Interagency or Internal Report (IR) NIST IR 8459 ipd. https://doi.org/10.6028/NIST.IR.8459 American National Standard (ANS) X9.31-1998, Digital Signatures Using Reversible Public Key Cryptography for the Financial Services Industry (rDSA). Withdrawn. C. Zalka, Grover’s quantum searching algorithm is optimal, Phys. Rev. A 60, 2746 (1999).
39
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
1052
Appendix A. Continued Use of AES
1053 1054 1055 1056 1057 1058 1059
Grover’s algorithm [Grover] allows a quantum computer to perform a brute-force key search using (approximately) the square root of the number of steps that would be required using a classical computer. This suggests that an attacker with access to a quantum computer might be able to attack a symmetric cipher with a key up to twice as long as could be attacked by an attacker with access to only classical computers. However, quantum computing hardware will likely be more expensive to build and use than classical hardware, and Grover’s algorithm might not speed up brute-force key search as dramatically as suspected.
1060 1061 1062 1063 1064 1065 1066 1067
In 1997, Zalka proved that in order to obtain the full quadratic speedup, all of the steps of Grover’s algorithm must be performed in series [Zalka]. The advantage of Grover’s algorithm will be smaller in the real world, where attacks on cryptography use massively parallel processing. Taking this into account, it is quite likely that Grover’s algorithm will provide less than the expected advantage in attacking AES. Furthermore, even if quantum computers become much less expensive than anticipated, the known difficulty of parallelizing Grover’s algorithm suggests that AES will still be safe for a very long time. This, of course, assumes that no new cryptographic weaknesses with respect to classical or quantum cryptanalysis are found in AES.
1068 1069 1070 1071
Based on this understanding, current applications can continue to use AES with key sizes of 128, 192, or 256 bits. When NIST foresees the need for a transition of symmetric key algorithms, hash functions, key-establishment methods, or digital signature schemes to protect against threats from quantum computers, NIST and the CMVP will issue guidance regarding such transitions.
1072
40
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
1073
Appendix B. Change History
1074
Revision 3 includes the following changes to SP 800-131A:
1075 1076
1. The document has been reformatted using a revised template for NIST Special Publications (SPs).
1077 1078
2. Section 1.2.2 expands the discussion on legacy use to include how users should consider the legacy-use status.
1079 1080 1081 1082
3. Section 1.2.3 is a new section that discusses the strategy for transitioning from a 112-bit security strength to a 128-bit security strength for block ciphers and hash functions or continuing the acceptability of the 112-bit security strength until further PQC guidance is provided for digital signatures and key establishment.
1083 1084 1085
4. In Sec. 2, the Skipjack algorithm has been removed, TDEA is disallowed for applying cryptographic protection, and a subsection on the block cipher modes of operation has been added.
1086 1087 1088 1089
5. In Sec. 3, EdDSA (specified in [FIPS 186]), the new quantum-resistant digital signature algorithms (specified in [FIPS 204] and [FIPS 205]), and the stateful hash-based signature algorithms (specified in [SP 800-208]) have been added. DSA and RSA (as specified in [X9.31]) are now disallowed for generating digital signatures.
1090 1091
6. Sections 4, 8, and 12 have been added to discuss key generation [SP 800-133], key encapsulation mechanisms [FIPS 203], and XOFs [FIPS 202].
1092 1093
7. Section 5 has been augmented to include entropy sources [SP 800-90B] and RBG constructions [SP 800-90C]. The discussion of Dual_EC_DRBG RNGs has been removed.
1094 1095
8. Sections 6 and 7 have been updated to show that DH, MQV, and RSA schemes that do not comply with [SP 800-56A] or [SP 800-56B] are only allowed for legacy use.
1096 1097 1098
9. Section 9 has added the one- and two-step key-derivation methods specified in [SP 80056C] and key derivation [SP 800-108]. HMAC using SHA-1 and the 224-bit hash functions has been deprecated.
1099 1100 1101
10. In Sec. 10, key wrapping using TDEA is disallowed, and CCM and GCM have been added. The combination of an approved encryption mode and an approved authentication method for key wrapping has been deprecated.
1102
11. In Sec. 11, the use of SHA-1 and the 224-bit hash functions has been deprecated.
1103 1104
12. In Sec. 13, the use of SHA-1 and the 224-bit hash functions for generating a MAC has been deprecated.
1105
13. The References section has been updated.
1106 1107
14. Appendix A has been added to discuss the continued use of AES when quantum computers become available.
1108
15. Appendix C includes a list of the acronyms used in this document. 41
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
1109
Transitioning the Use of Cryptographic Algorithms and Key Lengths
16. Appendix D provides a glossary of terms.
42
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
1110
Appendix C. List of Symbols, Abbreviations, and Acronyms
1111 1112
AES Advanced Encryption Standard
1113 1114
CAVP Cryptographic Algorithm Validation Program
1115 1116
CMVP Cryptographic Module Validation Program
1117 1118
DRBG Deterministic Random Bit Generator
1119 1120
FIPS Federal Information Processing Standards
1121 1122
ITL Information Technology Laboratory
1123 1124
MAC Message Authentication Code
1125 1126
MQV Menezes-Qu-Vanstone (algorithm)
1127 1128
NIST National Institute of Standards and Technology
1129 1130
RBG Random Bit Generator
1131 1132
SP (NIST) Special Publication
1133 1134 1135
TDEA Triple Data Encryption Algorithm
43
NIST SP 800-131Ar3 ipd (Initial Public Draft) October 2024
Transitioning the Use of Cryptographic Algorithms and Key Lengths
1136
Appendix D. Glossary
1137 1138 1139
acceptable The algorithm and key length/strength in a FIPS or SP is approved for use in accordance with any associated guidance.
1140 1141 1142
apply cryptographic protection Depending on the algorithm, to encrypt or sign data, generate a hash function or message authentication code (MAC), or establish keys, including wrapping and deriving keys.
1143 1144
approval status Used to designate usage by the U.S. Federal Government.
1145 1146 1147 1148
approved FIPS-approved or NIST-recommended. An algorithm or technique that is either 1) specified in a FIPS or NIST recommendation or 2) adopted in a FIPS or NIST recommendation and specified in (a) an appendix to the FIPS or NIST recommendation or (b) a document referenced by a FIPS or NIST recommendation.
1149 1150
deprecated The algorithm and key length may be used, but there is some security risk.
1151 1152
disallowed The algorithm or key length is no longer allowed for applying cryptographic protection.
1153 1154
entropy A measure of disorder, randomness, or variability in a closed system.
1155 1156
hash(ing) method A hash function or extendable-output function.
1157 1158 1159
legacy use The algorithm or key length may only be used to process already protected information (e.g., decrypt ciphertext data or verify a digital signature).
1160 1161
len(x) The length of x in bits.
1162 1163 1164 1165 1166
security strength A number associated with the amount of work (i.e., the number of operations) that is required to break a cryptographic algorithm or system. If 2N execution operations of the algorithm (or system) are required to break the cryptographic algorithm, then the security strength is N bits. As used herein, security strength is a measure of the difficulty of subverting cryptographic protection (e.g., discovering the key) using classical computers.
1167 1168
shall A requirement for Federal Government use. Shall may be coupled with not to become shall not.
1169 1170
XOR(ing) Bit-wise exclusive-or. A mathematical operation that is defined as 0 ⊕ 0 = 0, 0 ⊕ 1 = 1, 1 ⊕ 0 = 1, and 1 ⊕ 1 = 0.
44
Related documents
- The Cryptogram: A Novel#44198
- Structural Analysis of Cryptographic Sequences using Stringology-Based Fingerprinting#204734
- New Ideas on a New Old Type of Cipher:The Mixed-Radix One-Time Pad#280124
- A Description of the MISTY1 Encryption Algorithm#134966
- NIST SP 800-186: Recommendations for Discrete Logarithm-based Cryptography: Elliptic Curve Domain Parameters#2935
Retrieved via Conceptio: every document is proof-bundled with source, license, and retrieval metadata.
Read the Docs → · View CLI source on GitHub · Conceptio Open Knowledge Archive