From d0989febc7bb30bcd59ad870e802a2aefddbb9d0 Mon Sep 17 00:00:00 2001 From: Daniel McCarney Date: Fri, 3 Jul 2026 17:04:50 -0400 Subject: [PATCH] ascon: clarfiy vectors are for v1.2 (not SP 800-232) Add mention to the vector headers that they implement Ascon-128, Ascon-128a, and Ascon-80pq v1.2, the final round submission to the NIST LWC competition. They are **not** interoperable with the SP 800-232 standardized algorithm. We should replace/augment these with SP 800-232 compatible vectors as follow-up. In the meantime, try to avoid potential confusion. --- README.md | 2 +- testvectors_v1/ascon128_test.json | 5 +++++ testvectors_v1/ascon128a_test.json | 6 ++++++ testvectors_v1/ascon80pq_test.json | 5 +++++ 4 files changed, 17 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b12767a..5a75c3f5 100644 --- a/README.md +++ b/README.md @@ -39,7 +39,7 @@ including - AES-GCM - AES-SIV - ARIA -- ASCON +- ASCON v1.2 (not yet SP 800-232) - Camellia - ChaCha20-Poly1305 - XChaCha20-Poly1305 diff --git a/testvectors_v1/ascon128_test.json b/testvectors_v1/ascon128_test.json index c368193e..a67410d5 100644 --- a/testvectors_v1/ascon128_test.json +++ b/testvectors_v1/ascon128_test.json @@ -3,6 +3,11 @@ "schema": "aead_test_schema_v1.json", "numberOfTests": 192, "header": [ + "These test vectors implement Ascon-128 v1.2, the final-round submission to the", + "NIST Lightweight Cryptography competition. This variant was NOT standardized:", + "NIST SP 800-232 defines only Ascon-AEAD128, which is a distinct algorithm and", + "is not interoperable with Ascon-128. These vectors are not suitable for", + "testing an SP 800-232 implementation.", "Test vectors of type AeadTest test authenticated encryption with additional data.", "The test vectors are intended for testing both encryption and decryption.", "Test vectors with \"result\" : \"valid\" are valid encryptions.", diff --git a/testvectors_v1/ascon128a_test.json b/testvectors_v1/ascon128a_test.json index 92773511..02c2052d 100644 --- a/testvectors_v1/ascon128a_test.json +++ b/testvectors_v1/ascon128a_test.json @@ -3,6 +3,12 @@ "schema": "aead_test_schema_v1.json", "numberOfTests": 192, "header": [ + "These test vectors implement Ascon-128a v1.2, the final-round submission to", + "the NIST Lightweight Cryptography competition. Ascon-AEAD128 as standardized", + "in NIST SP 800-232 is derived from Ascon-128a but is NOT interoperable with", + "it: initialization vector, byte ordering, padding, and domain separation are", + "different. As a result these vectors are not suitable for testing an SP 800-232", + "implementation.", "Test vectors of type AeadTest test authenticated encryption with additional data.", "The test vectors are intended for testing both encryption and decryption.", "Test vectors with \"result\" : \"valid\" are valid encryptions.", diff --git a/testvectors_v1/ascon80pq_test.json b/testvectors_v1/ascon80pq_test.json index 64e0d6a2..f716d2d6 100644 --- a/testvectors_v1/ascon80pq_test.json +++ b/testvectors_v1/ascon80pq_test.json @@ -3,6 +3,11 @@ "schema": "aead_test_schema_v1.json", "numberOfTests": 192, "header": [ + "These test vectors implement Ascon-80pq v1.2, the final-round submission to", + "the NIST Lightweight Cryptography competition. This variant was NOT", + "standardized: NIST SP 800-232 defines only Ascon-AEAD128, which is a distinct", + "algorithm and is not interoperable with Ascon-80pq. These vectors are not", + "suitable for testing an SP 800-232 implementation.", "Test vectors of type AeadTest test authenticated encryption with additional data.", "The test vectors are intended for testing both encryption and decryption.", "Test vectors with \"result\" : \"valid\" are valid encryptions.",