Skip to content

Commit ff46073

Browse files
tghosthrandomstuff
andauthored
Fix presentation issues in tables, titles (#3282) (#3283)
* Fix presentation issues in tables, titles (#3282) * Change layout for h4 in PDF (\paragraph) * Fix column widths in in cryptographic appendix * Tweak column widths in in cryptographic appendix Interestingly, the column width is proportional to the number of dashed * Fix presentation of the argon2id and scrypt parameters * Use multiple rows for argon2id and scrypt parameters * Port presentation fixed to translations * Update PDFs --------- Co-authored-by: Gabriel Corona <corona.gabriel@gmail.com>
1 parent d96e105 commit ff46073

9 files changed

+146
-114
lines changed
-1.99 KB
Binary file not shown.
-1.63 KB
Binary file not shown.
-2.15 KB
Binary file not shown.
-1.52 KB
Binary file not shown.

5.0/en/0x92-Appendix-C_Cryptography.md

Lines changed: 38 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ This section provides additional information
4949
for V11.5 Random Values.
5050

5151
| Name | Version/Reference | Notes | Status |
52-
|:-:|:-:|:-:|:-:|
52+
|:---|:----|:----|:-:|
5353
| `/dev/random` | Linux 4.8+ [(Oct 2016)](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=818e607b57c94ade9824dad63a96c2ea6b21baf3), also found in iOS, Android, and other Linux-based POSIX operating systems. Based on [RFC7539](https://datatracker.ietf.org/doc/html/rfc7539) | Utilizing ChaCha20 stream. Found in iOS [`SecRandomCopyBytes`](https://developer.apple.com/documentation/security/secrandomcopybytes(_:_:_:)?language=objc) and Android [`Secure Random`](https://developer.android.com/reference/java/security/SecureRandom) with the correct settings provided to each. | A |
5454
| `/dev/urandom` | Linux kernel's special file for providing random data | Provides high-quality, entropy sources from hardware randomness | A |
5555
| `AES-CTR-DRBG` | [NIST SP800-90A](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90Ar1.pdf) | As used in common implementations, such as [Windows CNG API `BCryptGenRandom`](https://learn.microsoft.com/en-us/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom) set by [`BCRYPT_RNG_ALGORITHM`](https://learn.microsoft.com/en-us/windows/win32/seccng/cng-algorithm-identifiers). | A |
@@ -67,7 +67,7 @@ for V11.3 Encryption Algorithms.
6767
Approved cipher algorithms are listed in order of preference.
6868

6969
| Symmetric Key Algorithms | Reference | Status |
70-
|--|--|--|
70+
| ------ | ------ |:-:|
7171
| AES-256 | [FIPS 197](https://csrc.nist.gov/pubs/fips/197/final) | A |
7272
| Salsa20 | [Salsa 20 specification](https://cr.yp.to/snuffle/spec.pdf) | A |
7373
| XChaCha20 | [XChaCha20 Draft](https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-xchacha-03) | A |
@@ -90,7 +90,7 @@ Block ciphers, such as AES, can be used with different modes of operations. Many
9090
Approved modes are listed in order of preference.
9191

9292
| Mode | Authenticated | Reference | Status | Restriction |
93-
|--|--|--|--|--|
93+
|--|--|--|:-:|--|
9494
| GCM | Yes | [NIST SP 800-38D](https://csrc.nist.gov/pubs/sp/800/38/d/final) | A | |
9595
| CCM | Yes | [NIST SP 800-38C](https://csrc.nist.gov/pubs/sp/800/38/c/upd1/final) | A | |
9696
| CBC | No | [NIST SP 800-38A](https://csrc.nist.gov/pubs/sp/800/38/a/final) | L | |
@@ -117,7 +117,7 @@ However, serious consideration should be given to understanding the nature (e.g.
117117
Specifically, AES-256 MUST be used for key wrapping, following [NIST SP 800-38F](https://csrc.nist.gov/pubs/sp/800/38/f/final) and considering forward-looking provisions against the quantum threat. Cipher modes using AES are the following, in order of preference:
118118

119119
| Key Wrapping | Reference | Status |
120-
|--|--|--|
120+
|--|--|:-:|
121121
| KW | [NIST SP 800-38F](https://csrc.nist.gov/pubs/sp/800/38/f/final) | A |
122122
| KWP | [NIST SP 800-38F](https://csrc.nist.gov/pubs/sp/800/38/f/final) | A |
123123

@@ -132,7 +132,7 @@ The application should preferably use an approved AEAD scheme. It might alternat
132132
MAC-then-encrypt is still allowed for compatibility with legacy applications. It is used in TLS v1.2 with old ciphers suites.
133133

134134
| AEAD mechanism | Reference | Status |
135-
|--------------------------|---------|-----|
135+
|---|---------|:-:|
136136
|AES-GCM | [SP 800-38D](https://csrc.nist.gov/pubs/sp/800/38/d/final) | A |
137137
|AES-CCM | [SP 800-38C](https://csrc.nist.gov/pubs/sp/800/38/c/upd1/final) | A |
138138
|ChaCha-Poly1305 | [RFC 7539](https://datatracker.ietf.org/doc/html/rfc7539) | A |
@@ -156,7 +156,7 @@ The following table lists hash functions approved in general cryptographic use c
156156
* Hash function with less than 254 bit of output have insufficient collision resistance and must not be used for digital signature or other applications requiring collision resistance. For other usages, they might be used for compatibility and verification ONLY with legacy systems but must not be used in new designs.
157157

158158
| Hash function | Reference | Status | Restrictions |
159-
| -------------- | ------------------------------------------------------------- |--|--|
159+
| ------ | ----------- |:-:| ---------- |
160160
| SHA3-512 |[FIPS 202](https://csrc.nist.gov/pubs/fips/202/final) | A | |
161161
| SHA-512 |[FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final) | A | |
162162
| SHA3-384 |[FIPS 202](https://csrc.nist.gov/pubs/fips/202/final) | A | |
@@ -180,10 +180,14 @@ The following table lists hash functions approved in general cryptographic use c
180180

181181
For secure password hashing, dedicated hash functions must be used. These slow-hashing algorithms mitigate brute-force and dictionary attacks by increasing the computational difficulty of password cracking.
182182

183-
| KDF | Reference | Required Parameters | Status |
184-
| --- | --------- | ------------------- | ------ |
185-
| argon2id | [RFC 9106](https://www.rfc-editor.org/info/rfc9106) | t = 1: m ≥ 47104 (46 MiB), p = 1<br>t = 2: m ≥ 19456 (19 MiB), p = 1<br>t ≥ 3: m ≥ 12288 (12 MiB), p = 1 | A |
186-
| scrypt | [RFC 7914](https://www.rfc-editor.org/info/rfc7914) | p = 1: N ≥ 2^17 (128 MiB), r = 8<br>p = 2: N ≥ 2^16 (64 MiB), r = 8<br>p ≥ 3: N ≥ 2^15 (32 MiB), r = 8 | A |
183+
| KDF | Reference | Required Parameters | Status |
184+
| ---------- | --------- | ------------ |:-:|
185+
| argon2id | [RFC 9106](https://www.rfc-editor.org/info/rfc9106) | t = 1: m ≥ 47104 (46 MiB), p = 1 | A |
186+
| | | t = 2: m ≥ 19456 (19 MiB), p = 1 | A |
187+
| | | t ≥ 3: m ≥ 12288 (12 MiB), p = 1 | A |
188+
| scrypt | [RFC 7914](https://www.rfc-editor.org/info/rfc7914) | p = 1: N ≥ 2^17 (128 MiB), r = 8 | A |
189+
| | | p = 2: N ≥ 2^16 (64 MiB), r = 8 | A |
190+
| | | p ≥ 3: N ≥ 2^15 (32 MiB), r = 8 | A |
187191
| bcrypt | [A Future-Adaptable Password Scheme](https://www.researchgate.net/publication/2519476_A_Future-Adaptable_Password_Scheme) | cost ≥ 10 | A |
188192
| PBKDF2-HMAC-SHA-512 | [NIST SP 800-132](https://csrc.nist.gov/pubs/sp/800/132/final), [FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final) | iterations ≥ 210,000 | A |
189193
| PBKDF2-HMAC-SHA-256 | [NIST SP 800-132](https://csrc.nist.gov/pubs/sp/800/132/final), [FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final) | iterations ≥ 600,000 | A |
@@ -196,18 +200,21 @@ Approved password-based key derivations functions can be used for password stora
196200
### General Key Derivation Functions
197201

198202
| KDF | Reference | Status |
199-
| ---------------- | --------------------------------------------------------------------------------------------- | ------ |
203+
| ---------------- | -------- |:-:|
200204
| HKDF | [RFC 5869](https://www.rfc-editor.org/info/rfc5869) | A |
201205
| TLS 1.2 PRF | [RFC 5248](https://www.rfc-editor.org/info/rfc5248) | L |
202206
| MD5-based KDFs | [RFC 1321](https://www.rfc-editor.org/info/rfc1321) | D |
203207
| SHA-1-based KDFs | [RFC 3174](https://www.rfc-editor.org/info/rfc3174) & [RFC 6194](https://www.rfc-editor.org/info/rfc6194) | D |
204208

205209
### Password-based Key Derivation Functions
206210

207-
| KDF | Reference | Required Parameters | Status |
208-
| --- | --------- | ------------------- | ------ |
209-
| argon2id | [RFC 9106](https://www.rfc-editor.org/info/rfc9106) | t = 1: m ≥ 47104 (46 MiB), p = 1<br>t = 2: m ≥ 19456 (19 MiB), p = 1<br>t ≥ 3: m ≥ 12288 (12 MiB), p = 1 | A |
210-
| scrypt | [RFC 7914](https://www.rfc-editor.org/info/rfc7914) | p = 1: N ≥ 2^17 (128 MiB), r = 8<br>p = 2: N ≥ 2^16 (64 MiB), r = 8<br>p ≥ 3: N ≥ 2^15 (32 MiB), r = 8 | A |
211+
| KDF | Reference | Required Parameters | Status |
212+
| ---------- | --------- | ------------ |:-:|
213+
| argon2id | [RFC 9106](https://www.rfc-editor.org/info/rfc9106) | t = 1: m ≥ 47104 (46 MiB), p = 1 | A |
214+
| | | t = 2: m ≥ 19456 (19 MiB), p = 1 | A |
215+
| scrypt | [RFC 7914](https://www.rfc-editor.org/info/rfc7914) | p = 1: N ≥ 2^17 (128 MiB), r = 8 | A |
216+
| | | p = 2: N ≥ 2^16 (64 MiB), r = 8 | A |
217+
| | | p ≥ 3: N ≥ 2^15 (32 MiB), r = 8 | A |
211218
| PBKDF2-HMAC-SHA-512 | [NIST SP 800-132](https://csrc.nist.gov/pubs/sp/800/132/final), [FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final) | iterations ≥ 210,000 | A |
212219
| PBKDF2-HMAC-SHA-256 | [NIST SP 800-132](https://csrc.nist.gov/pubs/sp/800/132/final), [FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final) | iterations ≥ 600,000 | A |
213220
| PBKDF2-HMAC-SHA-1 | [NIST SP 800-132](https://csrc.nist.gov/pubs/sp/800/132/final), [FIPS 180-4](https://csrc.nist.gov/pubs/fips/180-4/upd1/final) | iterations ≥ 1,300,000 | L |
@@ -222,7 +229,7 @@ for V11.6 Public Key Cryptography.
222229
A security strength of 112 bits or above MUST be ensured for all Key Exchange schemes, and their implementation MUST follow the parameter choices in the following table.
223230

224231
| Scheme | Domain Parameters | Forward Secrecy |Status |
225-
|--|--|--|--|
232+
|--|--|--|:-:|
226233
| Finite Field Diffie-Hellman (FFDH) | L >= 3072 & N >= 256 | Yes | A |
227234
| Elliptic Curve Diffie-Hellman (ECDH) | f >= 256-383 | Yes | A |
228235
| Encrypted key transport with RSA-PKCS#1 v1.5 | | No | D |
@@ -240,7 +247,7 @@ Any new implementation MUST NOT use any scheme that is NOT compliant with [NIST
240247
The following groups are approved for implementations of Diffie-Hellman key exchange. Security strengths are documented in [NIST SP 800-56A](https://csrc.nist.gov/pubs/sp/800/56/a/r3/final), Appendix D, and [NIST SP 800-57 Part 1 Rev.5](https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final).
241248

242249
| Group | Status |
243-
|------------------|--------|
250+
|------------------|:------:|
244251
| P-224, secp224r1 | A |
245252
| P-256, secp256r1 | A |
246253
| P-384, secp384r1 | A |
@@ -270,26 +277,26 @@ The following groups are approved for implementations of Diffie-Hellman key exch
270277

271278
Message Authentication Codes (MACs) are cryptographic constructs used to verify the integrity and authenticity of a message. A MAC takes a message and a secret key as inputs and produces a fixed-size tag (the MAC value). MACs are widely used in secure communication protocols (e.g., TLS/SSL) to ensure that messages exchanged between parties are authentic and intact.
272279

273-
| MAC Algorithm | Reference | Status | Restrictions |
274-
| --------------| ----------------------------------------------------------------------------------------- | -------| ------------ |
275-
| HMAC-SHA-256 | [RFC 2104](https://www.rfc-editor.org/info/rfc2104) & [FIPS 198-1](https://csrc.nist.gov/pubs/fips/198-1/final) | A | |
276-
| HMAC-SHA-384 | [RFC 2104](https://www.rfc-editor.org/info/rfc2104) & [FIPS 198-1](https://csrc.nist.gov/pubs/fips/198-1/final) | A | |
277-
| HMAC-SHA-512 | [RFC 2104](https://www.rfc-editor.org/info/rfc2104) & [FIPS 198-1](https://csrc.nist.gov/pubs/fips/198-1/final) | A | |
278-
| KMAC128 | [NIST SP 800-185](https://csrc.nist.gov/pubs/sp/800/185/final) | A | |
279-
| KMAC256 | [NIST SP 800-185](https://csrc.nist.gov/pubs/sp/800/185/final) | A | |
280-
| BLAKE3 (keyed_hash mode) | [BLAKE3 one function, fast everywhere](https://github.com/BLAKE3-team/BLAKE3-specs/raw/master/blake3.pdf) | A | |
281-
| AES-CMAC | [RFC 4493](https://datatracker.ietf.org/doc/html/rfc4493) & [NIST SP 800-38B](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38b.pdf) | A | |
282-
| AES-GMAC | [NIST SP 800-38D](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf) | A | |
283-
| Poly1305-AES | [The Poly1305-AES message-authentication code](https://cr.yp.to/mac/poly1305-20050329.pdf) | A | |
284-
| HMAC-SHA-1 | [RFC 2104](https://www.rfc-editor.org/info/rfc2104) & [FIPS 198-1](https://csrc.nist.gov/pubs/fips/198-1/final) | L | |
285-
| HMAC-MD5 | [RFC 1321](https://www.rfc-editor.org/info/rfc1321) | D | |
280+
| MAC Algorithm | Reference | Status |
281+
| ---------- | --------------- |:-:|
282+
| HMAC-SHA-256 | [RFC 2104](https://www.rfc-editor.org/info/rfc2104) & [FIPS 198-1](https://csrc.nist.gov/pubs/fips/198-1/final) | A |
283+
| HMAC-SHA-384 | [RFC 2104](https://www.rfc-editor.org/info/rfc2104) & [FIPS 198-1](https://csrc.nist.gov/pubs/fips/198-1/final) | A |
284+
| HMAC-SHA-512 | [RFC 2104](https://www.rfc-editor.org/info/rfc2104) & [FIPS 198-1](https://csrc.nist.gov/pubs/fips/198-1/final) | A |
285+
| KMAC128 | [NIST SP 800-185](https://csrc.nist.gov/pubs/sp/800/185/final) | A |
286+
| KMAC256 | [NIST SP 800-185](https://csrc.nist.gov/pubs/sp/800/185/final) | A |
287+
| BLAKE3 (keyed_hash mode) | [BLAKE3 one function, fast everywhere](https://github.com/BLAKE3-team/BLAKE3-specs/raw/master/blake3.pdf) | A |
288+
| AES-CMAC | [RFC 4493](https://datatracker.ietf.org/doc/html/rfc4493) & [NIST SP 800-38B](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-38b.pdf) | A |
289+
| AES-GMAC | [NIST SP 800-38D](https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf) | A |
290+
| Poly1305-AES | [The Poly1305-AES message-authentication code](https://cr.yp.to/mac/poly1305-20050329.pdf) | A |
291+
| HMAC-SHA-1 | [RFC 2104](https://www.rfc-editor.org/info/rfc2104) & [FIPS 198-1](https://csrc.nist.gov/pubs/fips/198-1/final) | L |
292+
| HMAC-MD5 | [RFC 1321](https://www.rfc-editor.org/info/rfc1321) | D |
286293

287294
## Digital Signatures
288295

289296
Signature schemes MUST use approved key sizes and parameters per [NIST SP 800-57 Part 1](https://csrc.nist.gov/pubs/sp/800/57/pt1/r5/final).
290297

291298
| Signature Algorithm | Reference | Status |
292-
| ------------------------------ | ---------------------------------------------------------- | ------ |
299+
| ------------------------------ | --------------------------------------------- | :-: |
293300
| EdDSA (Ed25519, Ed448) | [RFC 8032](https://www.rfc-editor.org/info/rfc8032) | A |
294301
| XEdDSA (Curve25519, Curve448) | [XEdDSA](https://signal.org/docs/specifications/xeddsa/) | A |
295302
| ECDSA (P-256, P-384, P-521) | [FIPS 186-4](https://csrc.nist.gov/pubs/fips/186-5/final) | A |

0 commit comments

Comments
 (0)