summaryrefslogtreecommitdiff
path: root/tests/nist-aesgcm/README.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nist-aesgcm/README.txt')
-rw-r--r--tests/nist-aesgcm/README.txt29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/nist-aesgcm/README.txt b/tests/nist-aesgcm/README.txt
new file mode 100644
index 00000000..ca0fd012
--- /dev/null
+++ b/tests/nist-aesgcm/README.txt
@@ -0,0 +1,29 @@
+The files in decrypt are generated from the NIST aesgcm test vectors available at:
+
+https://csrc.nist.gov/Projects/Cryptographic-Algorithm-Validation-Program/CAVP-TESTING-BLOCK-CIPHER-MODES
+
+All have been generated by taking the test vectors with IV length 96 bits, Tag length 128 bits and no AAD.
+
+The test vectors have been split into separate folders based on key length.
+
+The encrypted data is a concatenation of the IV, ciphertext and tag which is then base64 encoded.
+
+Keys are base64 encoded directly from the NIST files
+
+The corresponding plain text test vectors have been base64 encoded and can be found in the corresponding *.data files.
+
+The NIST tests vectors are a mix of pass/fail tests. A missing corresponding *.data file indicates a test that must fail.
+
+Files are named based on the lengths of the key, IV, plaintext, AAD and tag as follows:
+
+tests/nist-aesgcm/aes<key length in bits>/aes<key length in bits>-gcm-<IV length in bits>-<plaintext length in bits>-<AAD length in bits>-<tag length in bits>-<test vector number>.xml
+
+There are 15 test vectors for each plaintext length (104, 128, 256 and 408 bits)
+
+As mentioned above, only files with IV length=96, AAD length=0 and tag length=128 are included.
+
+The encryption tests were created with the XSLT transform:
+
+xsltproc -o <base filename>.tmpl create-enc-test.xslt <base-filename>.xml
+
+