diff options
-rw-r--r-- | crypto/tcrypt.c | 3 | ||||
-rw-r--r-- | crypto/tcrypt.h | 68 |
2 files changed, 71 insertions, 0 deletions
diff --git a/crypto/tcrypt.c b/crypto/tcrypt.c index 83307420d31c..d1a5f2b8647a 100644 --- a/crypto/tcrypt.c +++ b/crypto/tcrypt.c | |||
@@ -977,6 +977,9 @@ static void do_test(void) | |||
977 | test_hash("hmac(sha256)", hmac_sha256_tv_template, | 977 | test_hash("hmac(sha256)", hmac_sha256_tv_template, |
978 | HMAC_SHA256_TEST_VECTORS); | 978 | HMAC_SHA256_TEST_VECTORS); |
979 | 979 | ||
980 | test_hash("xcbc(aes)", aes_xcbc128_tv_template, | ||
981 | XCBC_AES_TEST_VECTORS); | ||
982 | |||
980 | test_hash("michael_mic", michael_mic_tv_template, MICHAEL_MIC_TEST_VECTORS); | 983 | test_hash("michael_mic", michael_mic_tv_template, MICHAEL_MIC_TEST_VECTORS); |
981 | break; | 984 | break; |
982 | 985 | ||
diff --git a/crypto/tcrypt.h b/crypto/tcrypt.h index a40c4411729e..2d07e8af5c4b 100644 --- a/crypto/tcrypt.h +++ b/crypto/tcrypt.h | |||
@@ -933,6 +933,74 @@ static struct hash_testvec hmac_sha256_tv_template[] = { | |||
933 | }, | 933 | }, |
934 | }; | 934 | }; |
935 | 935 | ||
936 | #define XCBC_AES_TEST_VECTORS 6 | ||
937 | |||
938 | static struct hash_testvec aes_xcbc128_tv_template[] = { | ||
939 | { | ||
940 | .key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
941 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | ||
942 | .plaintext = { [0 ... 15] = 0 }, | ||
943 | .digest = { 0x75, 0xf0, 0x25, 0x1d, 0x52, 0x8a, 0xc0, 0x1c, | ||
944 | 0x45, 0x73, 0xdf, 0xd5, 0x84, 0xd7, 0x9f, 0x29 }, | ||
945 | .psize = 0, | ||
946 | .ksize = 16, | ||
947 | }, { | ||
948 | .key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
949 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | ||
950 | .plaintext = { 0x00, 0x01, 0x02 }, | ||
951 | .digest = { 0x5b, 0x37, 0x65, 0x80, 0xae, 0x2f, 0x19, 0xaf, | ||
952 | 0xe7, 0x21, 0x9c, 0xee, 0xf1, 0x72, 0x75, 0x6f }, | ||
953 | .psize = 3, | ||
954 | .ksize = 16, | ||
955 | } , { | ||
956 | .key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
957 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | ||
958 | .plaintext = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
959 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | ||
960 | .digest = { 0xd2, 0xa2, 0x46, 0xfa, 0x34, 0x9b, 0x68, 0xa7, | ||
961 | 0x99, 0x98, 0xa4, 0x39, 0x4f, 0xf7, 0xa2, 0x63 }, | ||
962 | .psize = 16, | ||
963 | .ksize = 16, | ||
964 | }, { | ||
965 | .key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
966 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | ||
967 | .plaintext = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
968 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | ||
969 | 0x10, 0x11, 0x12, 0x13 }, | ||
970 | .digest = { 0x47, 0xf5, 0x1b, 0x45, 0x64, 0x96, 0x62, 0x15, | ||
971 | 0xb8, 0x98, 0x5c, 0x63, 0x05, 0x5e, 0xd3, 0x08 }, | ||
972 | .tap = { 10, 10 }, | ||
973 | .psize = 20, | ||
974 | .np = 2, | ||
975 | .ksize = 16, | ||
976 | }, { | ||
977 | .key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
978 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | ||
979 | .plaintext = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
980 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | ||
981 | 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | ||
982 | 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f }, | ||
983 | .digest = { 0xf5, 0x4f, 0x0e, 0xc8, 0xd2, 0xb9, 0xf3, 0xd3, | ||
984 | 0x68, 0x07, 0x73, 0x4b, 0xd5, 0x28, 0x3f, 0xd4 }, | ||
985 | .psize = 32, | ||
986 | .ksize = 16, | ||
987 | }, { | ||
988 | .key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
989 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | ||
990 | .plaintext = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | ||
991 | 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | ||
992 | 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | ||
993 | 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, | ||
994 | 0x20, 0x21 }, | ||
995 | .digest = { 0xbe, 0xcb, 0xb3, 0xbc, 0xcd, 0xb5, 0x18, 0xa3, | ||
996 | 0x06, 0x77, 0xd5, 0x48, 0x1f, 0xb6, 0xb4, 0xd8 }, | ||
997 | .tap = { 17, 17 }, | ||
998 | .psize = 34, | ||
999 | .np = 2, | ||
1000 | .ksize = 16, | ||
1001 | } | ||
1002 | }; | ||
1003 | |||
936 | /* | 1004 | /* |
937 | * DES test vectors. | 1005 | * DES test vectors. |
938 | */ | 1006 | */ |