diff options
author | Janne Peltonen <janne.peltonen@nokia.com> | 2021-10-20 11:53:44 +0300 |
---|---|---|
committer | Matias Elo <matias.elo@nokia.com> | 2021-10-27 09:25:54 +0300 |
commit | 2da26056546fba002c353f88a8dd6ba934e54483 (patch) | |
tree | 2f35dc64cffdf71394c2e69f06061d79f039a6ca /test/validation | |
parent | dc98ad3932f80cd2ef163cc63559f0b22825f6cd (diff) |
validation: crypto: add more aes-xcbc-mac test vectors
Current AES-XCBC-MAC test vectors appear to come from RFC 3566.
Add comments about the source and add the test vectors that were
not yet included.
Signed-off-by: Janne Peltonen <janne.peltonen@nokia.com>
Reviewed-by: Anoob Joseph <anoobj@marvell.com>
Reviewed-by: Jere Leppänen <jere.leppanen@nokia.com>
Diffstat (limited to 'test/validation')
-rw-r--r-- | test/validation/api/crypto/test_vectors.h | 81 | ||||
-rw-r--r-- | test/validation/api/crypto/test_vectors_len.h | 2 |
2 files changed, 82 insertions, 1 deletions
diff --git a/test/validation/api/crypto/test_vectors.h b/test/validation/api/crypto/test_vectors.h index a478dbe04..98fbcd343 100644 --- a/test/validation/api/crypto/test_vectors.h +++ b/test/validation/api/crypto/test_vectors.h @@ -2098,7 +2098,25 @@ static crypto_test_reference_t hmac_sha512_reference[] = { }, }; +/* + * RFC 3566 + */ static crypto_test_reference_t aes_xcbc_reference[] = { + /* Test Case #1 */ + { + .auth_key_length = AES_XCBC_MAC_KEY_LEN, + .auth_key = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}, + .length = 0, + .digest_length = AES_XCBC_MAC_CHECK_LEN, + .digest = {0x75, 0xf0, 0x25, 0x1d, 0x52, 0x8a, 0xc0, 0x1c, + 0x45, 0x73, 0xdf, 0xd5, 0x84, 0xd7, 0x9f, 0x29} + }, + { + .copy_previous_vector = 1, + .digest_length = AES_XCBC_MAC_96_CHECK_LEN, + }, + /* Test Case #2 */ { .auth_key_length = AES_XCBC_MAC_KEY_LEN, .auth_key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, @@ -2114,6 +2132,7 @@ static crypto_test_reference_t aes_xcbc_reference[] = { .copy_previous_vector = 1, .digest_length = AES_XCBC_MAC_96_CHECK_LEN, }, + /* Test Case #3 */ { .auth_key_length = AES_XCBC_MAC_KEY_LEN, .auth_key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, @@ -2131,6 +2150,7 @@ static crypto_test_reference_t aes_xcbc_reference[] = { .copy_previous_vector = 1, .digest_length = AES_XCBC_MAC_96_CHECK_LEN, }, + /* Test Case #4 */ { .auth_key_length = AES_XCBC_MAC_KEY_LEN, .auth_key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, @@ -2150,6 +2170,67 @@ static crypto_test_reference_t aes_xcbc_reference[] = { .copy_previous_vector = 1, .digest_length = AES_XCBC_MAC_96_CHECK_LEN, }, + /* Test Case #5 */ + { + .auth_key_length = AES_XCBC_MAC_KEY_LEN, + .auth_key = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}, + .length = 32, + .plaintext = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f}, + .ciphertext = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f}, + .digest_length = AES_XCBC_MAC_CHECK_LEN, + .digest = {0xf5, 0x4f, 0x0e, 0xc8, 0xd2, 0xb9, 0xf3, 0xd3, + 0x68, 0x07, 0x73, 0x4b, 0xd5, 0x28, 0x3f, 0xd4} + }, + { + .copy_previous_vector = 1, + .digest_length = AES_XCBC_MAC_96_CHECK_LEN, + }, + /* Test Case #6 */ + { + .auth_key_length = AES_XCBC_MAC_KEY_LEN, + .auth_key = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}, + .length = 34, + .plaintext = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x20, 0x21}, + .ciphertext = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, + 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, + 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, + 0x20, 0x21}, + .digest_length = AES_XCBC_MAC_CHECK_LEN, + .digest = {0xbe, 0xcb, 0xb3, 0xbc, 0xcd, 0xb5, 0x18, 0xa3, + 0x06, 0x77, 0xd5, 0x48, 0x1f, 0xb6, 0xb4, 0xd8} + }, + { + .copy_previous_vector = 1, + .digest_length = AES_XCBC_MAC_96_CHECK_LEN, + }, + /* Test Case #7 */ + { + .auth_key_length = AES_XCBC_MAC_KEY_LEN, + .auth_key = {0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, + 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}, + .length = 1000, + /* Plaintext is 1000 zero bytes. No explicit init needed. */ + .digest_length = AES_XCBC_MAC_CHECK_LEN, + .digest = {0xf0, 0xda, 0xfe, 0xe8, 0x95, 0xdb, 0x30, 0x25, + 0x37, 0x61, 0x10, 0x3b, 0x5d, 0x84, 0x52, 0x8f} + }, + { + .copy_previous_vector = 1, + .digest_length = AES_XCBC_MAC_96_CHECK_LEN, + }, }; /* diff --git a/test/validation/api/crypto/test_vectors_len.h b/test/validation/api/crypto/test_vectors_len.h index 17121e12e..9edf2999e 100644 --- a/test/validation/api/crypto/test_vectors_len.h +++ b/test/validation/api/crypto/test_vectors_len.h @@ -9,7 +9,7 @@ /* Maximum */ #define MAX_KEY_LEN 64 #define MAX_IV_LEN 16 -#define MAX_DATA_LEN 715 +#define MAX_DATA_LEN 1000 #define MAX_AAD_LEN 12 #define MAX_DIGEST_LEN 64 |