Skip to content

Commit

Permalink
Updated documentation for counterFieldLen support added to AES ctrDRBG
Browse files Browse the repository at this point in the history
  • Loading branch information
jbrock24 committed Nov 14, 2024
1 parent b51d911 commit c6a419a
Show file tree
Hide file tree
Showing 6 changed files with 24 additions and 11 deletions.
12 changes: 8 additions & 4 deletions src/drbg/sections/05-capabilities.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ Each DRBG algorithm capability advertised is a self-contained JSON object. A reg
| persoStringLen | Personalization string length. See the notes below. | domain | Min: maximum security strength (see <<supported_values>>), Max: See <<supported_values>>. Set to 0 if not supported
| additionalInputLen | See the notes below. | domain | Min: maximum security strength (see <<supported_values>>), Max: See <<supported_values>>. Set to 0 if not supported
| returnedBitsLen | Returned bits length | integer | Min: See <<supported_values>>, Max: 4096.
| counterFieldLen | Optional: See the notes below. | integer | Min: 4, Max: 128. Set to 128 if not altered
|===


Expand All @@ -53,6 +54,8 @@ NOTE: ACVP allows bit length values for 'persoString' ranging from the maximum s

NOTE: The 'addtionalInput' configuration and restrictions are the same as those for the 'persoString'.

NOTE: The custom 'counterFieldLen' was introduced in the SP800-90Ar1 update. This is only valid for AES and not TDES ctrDRBG, please refer to SP800-90Ar1 for guidance.

[[value_req_per_option]]
=== Supported values per DRBG option

Expand All @@ -74,20 +77,20 @@ DRBG minimum/maximum values for the properties listed in <<capabilities-table>>
| hashDRBG | "SHA-1" | N/A | 128 | 128 | 65536 | 65536 | 65536 | 64 | 65536 | 160
| hashDRBG | "SHA2-224" | N/A | 192| 192 | 65536 | 65536 | 65536 | 96 | 65536 | 224
| hashDRBG | "SHA2-256" | N/A | 256| 256 | 65536 | 65536 | 65536 | 128 | 65536 | 256
| hashDRBG | "SHA2-384" | N/A | 256| 256 | 65536 | 65536 | 65536 | 128 | 65536 | 384
| hashDRBG | "SHA2-384" | N/A | 256| 256 | 65536 | 65536 | 65536 | 128 | 65536 | 384
| hashDRBG | "SHA2-512" | N/A | 256| 256 | 65536 | 65536 | 65536 | 128 | 65536 | 512
| hashDRBG | "SHA2-512/224" | N/A | 192 | 192 | 65536 | 65536 | 65536 | 96 | 65536 | 224
| hashDRBG | "SHA2-512/256" | N/A | 256 | 256 | 65536 | 65536 | 65536 | 128 | 65536 | 256
| hashDRBG | "SHA3-224" | N/A | 192| 192 | 65536 | 65536 | 65536 | 96 | 65536 | 224
| hashDRBG | "SHA3-256" | N/A | 256| 256 | 65536 | 65536 | 65536 | 128 | 65536 | 256
| hashDRBG | "SHA3-384" | N/A | 256| 256 | 65536 | 65536 | 65536 | 128 | 65536 | 384
| hashDRBG | "SHA3-384" | N/A | 256| 256 | 65536 | 65536 | 65536 | 128 | 65536 | 384
| hashDRBG | "SHA3-512" | N/A | 256| 256 | 65536 | 65536 | 65536 | 128 | 65536 | 512
| hmacDRBG | "SHA-1" | N/A | 128 | 128 | 65536 | 65536 | 65536 | 64 | 65536 | 160
| hmacDRBG | "SHA2-224" | N/A | 192 | 192 | 65536 | 65536 | 65536 | 96 | 65536 | 224
| hmacDRBG | "SHA2-256" | N/A | 256 | 256 | 65536 | 65536 | 65536 | 128 | 65536 | 256
| hmacDRBG | "SHA2-384" | N/A | 256 | 256 | 65536 | 65536 | 65536 | 128 | 65536 | 384
| hmacDRBG | "SHA2-512" | N/A | 256 | 256 | 65536 | 65536 | 65536 | 128 | 65536 | 512
| hmacDRBG | "SHA2-512/224" | N/A | 192 | 192 | 65536 | 65536 | 65536 | 96 | 65536 | 224
| hmacDRBG | "SHA2-512/224" | N/A | 192 | 192 | 65536 | 65536 | 65536 | 96 | 65536 | 224
| hmacDRBG | "SHA2-512/256" | N/A | 256 | 256 | 65536 | 65536 | 65536 | 128 | 65536 | 256
| hmacDRBG | "SHA3-224" | N/A | 192 | 192 | 65536 | 65536 | 65536 | 96 | 65536 | 224
| hmacDRBG | "SHA3-256" | N/A | 256 | 256 | 65536 | 65536 | 65536 | 128 | 65536 | 256
Expand Down Expand Up @@ -144,7 +147,8 @@ The following is an example registration.
"additionalInputLen": [
256
],
"returnedBitsLen": 512
"returnedBitsLen": 512,
"counterFieldLen": 100
}
]
}
Expand Down
1 change: 1 addition & 0 deletions src/drbg/sections/06-test-vectors.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ Here is an abbreviated yet fully constructed example of the prompt
"persoStringLen": 256,
"additionalInputLen": 256,
"returnedBitsLen": 512,
"counterFieldLen": 100,
"mode": "AES-128",
"tests": [
{
Expand Down
13 changes: 9 additions & 4 deletions src/drbg/sections/97-examples.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ The following is a example JSON object advertising support for ctrDRBG with TDES
"additionalInputLen": [
256
],
"returnedBitsLen": 512
"returnedBitsLen": 512,
"counterFieldLen": 75
},
{
"mode": "AES-192",
Expand Down Expand Up @@ -73,7 +74,8 @@ The following is a example JSON object advertising support for ctrDRBG with TDES
"additionalInputLen": [
384
],
"returnedBitsLen": 512
"returnedBitsLen": 512,
"counterFieldLen": 100
},
{
"mode": "TDES",
Expand Down Expand Up @@ -124,7 +126,8 @@ The following is a example JSON object advertising support for ctrDRBG with TDES
"additionalInputLen": [
320
],
"returnedBitsLen": 512
"returnedBitsLen": 512,
"counterFieldLen": 10
},
{
"mode": "AES-256",
Expand All @@ -141,7 +144,8 @@ The following is a example JSON object advertising support for ctrDRBG with TDES
"additionalInputLen": [
384
],
"returnedBitsLen": 512
"returnedBitsLen": 512,
"counterFieldLen": 50
},
{
"mode": "TDES",
Expand Down Expand Up @@ -336,6 +340,7 @@ The following is a example JSON object for ctrDRBG test vectors sent from the AC
"persoStringLen": 112,
"additionalInputLen": 112,
"returnedBitsLen": 256,
"counterFieldLen": 100,
"tests": [
{
"tcId": 1815,
Expand Down
1 change: 1 addition & 0 deletions src/drbg/sections/98-references.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
* [[[RFC7991,RFC 7991]]]
* [[[RFC8174,RFC 8174]]]
* [[[SP800-90A,NIST SP 800-90A]]]
* [[[SP800-90Ar1,NIST SP 800-90Ar1]]]

[%bibitem]
=== Automatic Cryptographic Validation Protocol
Expand Down
6 changes: 4 additions & 2 deletions src/drbg/sections/XX-examples.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ The following is a example JSON object advertising support for ctrDRBG with 3Key
"additionalInputLen": [
256
],
"returnedBitsLen": 512
"returnedBitsLen": 512,
"counterFieldLen": 100
},
{
"mode": "AES-192",
Expand Down Expand Up @@ -141,7 +142,8 @@ The following is a example JSON object advertising support for ctrDRBG with 3Key
"additionalInputLen": [
384
],
"returnedBitsLen": 512
"returnedBitsLen": 512,
"counterFieldLen": 100
},
{
"mode": "TDES",
Expand Down
2 changes: 1 addition & 1 deletion src/eddsa/sections/06-eddsa-sigver-test-vectors.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ The test group for EDDSA / sigVer / 1.0 is as follows:
| curve | The curve type used for the test vectors | string
| prehash | Whether or not Prehash EdDSA/HashEdDSA (vs normal/'pure' EdDSA) should be used for the test vectors | boolean
| testType | The testType for the group | string
| tests | Array of individual test vector JSON objects, which are defined in <<EDDSA_sigVer_tvjs>> | array
| tests | Array of individual test vector JSON objects, which are defined in U<<EDDSA_sigVer_tvjs>> | array
|===

[[EDDSA_sigVer_tvjs]]
Expand Down

0 comments on commit c6a419a

Please sign in to comment.