Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 22 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,17 +172,28 @@ The prod server (acvts.nist.gov) also supports ACVP version 1.0, with the same e
* [AES-GMAC](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [CMAC-AES](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [CMAC-TDES](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA-1](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-224](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-256](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-384](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512/224](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512/256](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-224](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-256](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-384](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-512](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA-1 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-224 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-256 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-384 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512/224 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512/256 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-224 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-256 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-384 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-512 1.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA-1 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-224 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-256 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-384 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512/224 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA2-512/256 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-224 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-256 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-384 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)
* [HMAC-SHA3-512 2.0](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt) - [HTML](https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html)

### DRBG
* [ctrDRBG-AES-128](https://pages.nist.gov/ACVP/draft-vassilev-acvp-drbg.txt) - [HTML](https://pages.nist.gov/ACVP/draft-vassilev-acvp-drbg.html)
Expand Down
33 changes: 22 additions & 11 deletions index.html
Original file line number Diff line number Diff line change
Expand Up @@ -234,17 +234,28 @@ <h2 id="macs">Message Authentication</h2>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">AES-GMAC</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">CMAC-AES</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">CMAC-TDES</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA-1</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-224</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-256</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-384</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512/224</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512/256</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-224</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-256</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-384</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-512</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA-1 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-224 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-256 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-384 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512/224 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512/256 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-224 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-256 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-384 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-512 1.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA-1 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-224 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-256 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-384 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512/224 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA2-512/256 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-224 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-256 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-384 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
<li><a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.txt">HMAC-SHA3-512 2.0</a> - <a href="https://pages.nist.gov/ACVP/draft-fussell-acvp-mac.html">HTML</a></li>
</ul>

<h2 id="drbgs">DRBGs</h2>
Expand Down
41 changes: 26 additions & 15 deletions src/mac/sections/03-supported.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,30 @@
[#supported]
== Supported HMAC, CMAC, and GMAC Algorithms

The following Message Authentication Code Algorithms *MAY* be advertised by the ACVP compliant cryptographic module:
The following Message Authentication Code Algorithms *MAY* be advertised by the ACVP compliant cryptographic module as "algorithm" / "mode" / "revision":

* HMAC-SHA-1
* HMAC-SHA2-224
* HMAC-SHA2-256
* HMAC-SHA2-384
* HMAC-SHA2-512
* HMAC-SHA2-512/224
* HMAC-SHA2-512/256
* HMAC-SHA3-224
* HMAC-SHA3-256
* HMAC-SHA3-384
* HMAC-SHA3-512
* CMAC-AES
* CMAC-TDES
* ACVP-AES-GMAC
* HMAC-SHA-1 / / 1.0
* HMAC-SHA2-224 / / 1.0
* HMAC-SHA2-256 / / 1.0
* HMAC-SHA2-384 / / 1.0
* HMAC-SHA2-512 / / 1.0
* HMAC-SHA2-512/224 / / 1.0
* HMAC-SHA2-512/256 / / 1.0
* HMAC-SHA3-224 / / 1.0
* HMAC-SHA3-256 / / 1.0
* HMAC-SHA3-384 / / 1.0
* HMAC-SHA3-512 / / 1.0
* HMAC-SHA-1 / / 2.0
* HMAC-SHA2-224 / / 2.0
* HMAC-SHA2-256 / / 2.0
* HMAC-SHA2-384 / / 2.0
* HMAC-SHA2-512 / / 2.0
* HMAC-SHA2-512/224 / / 2.0
* HMAC-SHA2-512/256 / / 2.0
* HMAC-SHA3-224 / / 2.0
* HMAC-SHA3-256 / / 2.0
* HMAC-SHA3-384 / / 2.0
* HMAC-SHA3-512 / / 2.0
* CMAC-AES / / 1.0
* CMAC-TDES / / 1.0
* ACVP-AES-GMAC / / 1.0
2 changes: 1 addition & 1 deletion src/mac/sections/04-testtypes.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The ACVP server performs a set of tests on the MAC algorithms in order to assess

There is a single test type for MACs (broken into subsections for CMACs). the single test type, algorithm functional test (AFT) can be described as follows:

* "AFT" - Algorithm Function Test. The IUT processes all of HMAC, GMAC and the "gen" direction of CMAC by running the randomly chosen key and message data (with constraints as per the IUT's capabilities registration) through the MAC algorithm. CMAC has an additional "ver" direction present in its testing to ensure the IUT can successfully determine when a MAC does not match its originating message/key combination.
* "AFT" - Algorithm Function Test. The IUT processes all of HMAC, GMAC and the "gen" direction of CMAC by running the randomly chosen key and message data (with constraints as per the IUT's capabilities registration) through the MAC algorithm. CMAC has an additional "ver" direction present in its testing to ensure the IUT can successfully determine when a MAC does not match its originating message/key combination. All property lengths used are randomly selected from the domains provided but *SHALL* include the minimum and maximum in every test group.

[[test_coverage]]
=== Test Coverage
Expand Down
60 changes: 52 additions & 8 deletions src/mac/sections/05-hmac-capabilities.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
Each algorithm capability advertised is a self-contained JSON object using the following values.

[[hmac_caps_table2]]
.HMAC Algorithm Capabilities JSON Values
.HMAC Revision 1.0 Algorithm Capabilities JSON Values
|===
| JSON Value | Description | JSON type | Valid Values

Expand All @@ -18,17 +18,30 @@ Each algorithm capability advertised is a self-contained JSON object using the f
| macLen | The supported mac sizes, maximum is dependent on algorithm, see <<hmac_supported_algs>> | domain | Min: 32
|===

[[hmac_caps_table3]]
.HMAC Revision 2.0 Algorithm Capabilities JSON Values
|===
| JSON Value | Description | JSON type | Valid Values

| algorithm | The MAC algorithm and mode to be validated | string | See <<hmac_supported_algs>>
| revision | The algorithm testing revision to use | string | "2.0"
| prereqVals | prerequisite algorithm validations | array of prereqAlgVal objects | See <<prereq_algs>>
| keyLen | The keyLen Domain supported by the IUT in bits | domain | Min: 8, Max: 524288, Increment: 8
| macLen | The supported mac sizes, maximum is dependent on algorithm, see <<hmac_supported_algs>> | domain | Min: 32
| msgLen | The supported message sizes | domain | Min: 0, Max: 4096, Increment: 8
|===

'keyLen' for HMAC contains a Domain of values, the server *MAY* choose values defined by these rules:

* 2 values below the Hash's block length. See <<hmac_supported_algs>>
* Values below the Hash's block length. See <<hmac_supported_algs>>
* The Hash's block length.
* 2 values above the Hash's block length.
* Values above the Hash's block length.

'macLen' for HMAC contains a Domain of values, the server *MAY* choose values defined by these rules:
'macLen' and 'msgLen' for HMAC contains a Domain of values, the server *MAY* choose values defined by these rules:

* The smallest HMAC length supported
* A second HMAC length supported
* The largest HMAC length supported
* The smallest length supported
* The largest length supported
* Other random lengths

[[hmac_supported_algs]]
=== Supported HMAC Algorithms
Expand Down Expand Up @@ -56,7 +69,7 @@ The following HMAC algorithms contain specific individual properties:
[[hmac_app-reg-ex]]
==== Example HMAC Capabilities JSON Object

The following is an example JSON object advertising support for HMAC.
The following is an example JSON object advertising support for HMAC revision 1.0.

[source, json]
----
Expand All @@ -79,3 +92,34 @@ The following is an example JSON object advertising support for HMAC.
]
}
----

The following is an example JSON object advertising support for HMAC revision 2.0.

[source, json]
----
{
"algorithm": "HMAC-SHA-1",
"revision": "2.0",
"keyLen": [
{
"min": 8,
"max": 2048,
"increment": 8
}
],
"macLen": [
{
"min": 80,
"max": 160,
"increment": 8
}
],
"msgLen": [
{
"min": 8,
"max": 4096,
"increment": 8
}
]
}
----
Loading