Skip to content

Commit a66667b

Browse files
author
Joel Brockman
committed
Added support for SHAKE-128/256 FIPS202. The changes are no longer supported the inBit, inEmpty, and outBit, and support for custom messageLength was added.
1 parent 8fe4fd0 commit a66667b

File tree

4 files changed

+17
-8
lines changed

4 files changed

+17
-8
lines changed

src/sha3/sections/03-supported.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,7 @@ The following SHA3-based hash algorithms *MAY* be advertised by this ACVP compli
1414
* SHA3-512 / null / 2.0
1515
* SHAKE-128 / null / 1.0
1616
* SHAKE-256 / null / 1.0
17+
* SHAKE-128 / null / FIPS202
18+
* SHAKE-256 / null / FIPS202
1719

1820
Other hash algorithms *MAY* be advertised by the ACVP module elsewhere.

src/sha3/sections/05-capabilities.adoc

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,12 @@ The following grid outlines which properties are *REQUIRED*, as well as all the
4444
| SHA3-512| 2.0 | | | | | {"Min": 0, "Max": 65536, "Inc": any} | [1, 2, 4, 8]
4545
| SHAKE-128| 1.0 | true, false| true, false| {"Min": 16, "Max": 65536, "Inc": any}| true, false | |
4646
| SHAKE-256| 1.0 | true, false| true, false| {"Min": 16, "Max": 65536, "Inc": any}| true, false | |
47+
| SHAKE-128| FIPS202 | | | {"Min": 16, "Max": 65536, "Inc": any}| | {"Min": 0, "Max": 65536, "Inc": 8} |
48+
| SHAKE-256| FIPS202 | | | {"Min": 16, "Max": 65536, "Inc": any}| | {"Min": 10, "Max": 65536, "Inc": 8} |
4749
|===
4850

51+
NOTE: For SHAKE FIPS202 - inBit, inEmpty, and outBit support were removed, while support for custom MessageLengths was added.
52+
4953
The following is a example JSON object advertising support for SHA3-256 for testing revision 1.0.
5054

5155
[source, json]
@@ -60,22 +64,25 @@ The following is a example JSON object advertising support for SHA3-256 for test
6064
}
6165
----
6266

63-
The following is an example JSON object advertising support for SHAKE-128.
67+
The following is an example JSON object advertising support for SHAKE-128 FIPS202.
6468

6569
[source, json]
6670
----
6771
{
6872
"algorithm": "SHAKE-128",
69-
"revision": "1.0",
73+
"revision": "FIPS202",
7074
"mode": null,
71-
"inBit": true,
72-
"inEmpty": true,
73-
"outBit": true,
7475
"outputLen": [
7576
{
7677
"min": 16,
7778
"max": 1024
7879
}
80+
],
81+
"messageLength": [
82+
{
83+
"min": 16,
84+
"max": 1024
85+
}
7986
]
8087
}
8188
----

src/sha3/sections/06-test-vectors.adoc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Each test group *SHALL* contain an array of one or more test cases. Each test c
3838
| largeMsg | Object describing the message for an LDT group | large data object, see <<LD_test>> for more information
3939
|===
4040

41-
NOTE: The maximum value for SHAKE-128 for 'len' is 65,904 bits when the inBit parameter is set to true in the capabilities registration and 66,240 bits when it is set to false. The maximum value for SHAKE-256 for 'len' is 66,428 bits when the inBit parameter is set to true in the capabilities registration and 65,752 bits when it is set to false.
41+
NOTE: The maximum value for SHAKE-128 v1.0 for 'len' is 65,904 bits when the inBit parameter is set to true in the capabilities registration and 66,240 bits when it is set to false. The maximum value for SHAKE-256 v1.0 for 'len' is 66,428 bits when the inBit parameter is set to true in the capabilities registration and 65,752 bits when it is set to false.
4242

4343
The following are example JSON objects for secure hash test vectors sent from the ACVP server to the crypto module. Notice that the single bit message is represented as "01". This complies with the little-endian nature of SHA3. All hex displayed is little-endian bit order when associated with SHA3 or any of its variations.
4444

@@ -97,7 +97,7 @@ The following are example JSON objects for secure hash test vectors sent from th
9797
]
9898
----
9999

100-
The following is an example JSON object for SHAKE.
100+
The following is an example JSON object for SHAKE v1.0.
101101

102102
[source, json]
103103
----

src/sha3/sections/07-responses.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ The following are examples of JSON objects for secure hash test results sent fro
143143
}
144144
----
145145

146-
The following is an example JSON object response for SHAKE-128. The group identified by tgId 1 is a group of AFTs. The group identified by tgId 2 is a group of MCTs. The group identified by tgId 3 is a group of VOTs.
146+
The following is an example JSON object response for SHAKE-128 v1.0. The group identified by tgId 1 is a group of AFTs. The group identified by tgId 2 is a group of MCTs. The group identified by tgId 3 is a group of VOTs.
147147

148148
[source, json]
149149
----

0 commit comments

Comments
 (0)