Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bca4feb0 authored by Horia Geanta's avatar Horia Geanta Committed by Herbert Xu
Browse files

crypto: testmgr - add aead null encryption test vectors



Add test vectors for aead with null encryption and md5,
respectively sha1 authentication.
Input data is taken from test vectors listed in RFC2410.

Signed-off-by: default avatarHoria Geanta <horia.geanta@freescale.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent 72567258
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -1511,6 +1511,14 @@ static int do_test(int m)
		ret += tcrypt_test("authenc(hmac(sha1),cbc(aes))");
		break;

	case 156:
		ret += tcrypt_test("authenc(hmac(md5),ecb(cipher_null))");
		break;

	case 157:
		ret += tcrypt_test("authenc(hmac(sha1),ecb(cipher_null))");
		break;

	case 200:
		test_cipher_speed("ecb(aes)", ENCRYPT, sec, NULL, 0,
				speed_template_16_24_32);
+32 −0
Original line number Diff line number Diff line
@@ -1808,6 +1808,22 @@ static const struct alg_test_desc alg_test_descs[] = {
				.count = ANSI_CPRNG_AES_TEST_VECTORS
			}
		}
	}, {
		.alg = "authenc(hmac(md5),ecb(cipher_null))",
		.test = alg_test_aead,
		.fips_allowed = 1,
		.suite = {
			.aead = {
				.enc = {
					.vecs = hmac_md5_ecb_cipher_null_enc_tv_template,
					.count = HMAC_MD5_ECB_CIPHER_NULL_ENC_TEST_VECTORS
				},
				.dec = {
					.vecs = hmac_md5_ecb_cipher_null_dec_tv_template,
					.count = HMAC_MD5_ECB_CIPHER_NULL_DEC_TEST_VECTORS
				}
			}
		}
	}, {
		.alg = "authenc(hmac(sha1),cbc(aes))",
		.test = alg_test_aead,
@@ -1820,6 +1836,22 @@ static const struct alg_test_desc alg_test_descs[] = {
				}
			}
		}
	}, {
		.alg = "authenc(hmac(sha1),ecb(cipher_null))",
		.test = alg_test_aead,
		.fips_allowed = 1,
		.suite = {
			.aead = {
				.enc = {
					.vecs = hmac_sha1_ecb_cipher_null_enc_tv_template,
					.count = HMAC_SHA1_ECB_CIPHER_NULL_ENC_TEST_VECTORS
				},
				.dec = {
					.vecs = hmac_sha1_ecb_cipher_null_dec_tv_template,
					.count = HMAC_SHA1_ECB_CIPHER_NULL_DEC_TEST_VECTORS
				}
			}
		}
	}, {
		.alg = "authenc(hmac(sha256),cbc(aes))",
		.test = alg_test_aead,
+180 −0
Original line number Diff line number Diff line
@@ -12821,6 +12821,10 @@ static struct cipher_testvec cast6_xts_dec_tv_template[] = {
#define AES_DEC_TEST_VECTORS 4
#define AES_CBC_ENC_TEST_VECTORS 5
#define AES_CBC_DEC_TEST_VECTORS 5
#define HMAC_MD5_ECB_CIPHER_NULL_ENC_TEST_VECTORS 2
#define HMAC_MD5_ECB_CIPHER_NULL_DEC_TEST_VECTORS 2
#define HMAC_SHA1_ECB_CIPHER_NULL_ENC_TEST_VECTORS 2
#define HMAC_SHA1_ECB_CIPHER_NULL_DEC_TEST_VECTORS 2
#define HMAC_SHA1_AES_CBC_ENC_TEST_VECTORS 7
#define HMAC_SHA256_AES_CBC_ENC_TEST_VECTORS 7
#define HMAC_SHA512_AES_CBC_ENC_TEST_VECTORS 7
@@ -13627,6 +13631,90 @@ static struct cipher_testvec aes_cbc_dec_tv_template[] = {
	},
};
static struct aead_testvec hmac_md5_ecb_cipher_null_enc_tv_template[] = {
	{ /* Input data from RFC 2410 Case 1 */
#ifdef __LITTLE_ENDIAN
		.key    = "\x08\x00"		/* rta length */
			  "\x01\x00"		/* rta type */
#else
		.key    = "\x00\x08"		/* rta length */
			  "\x00\x01"		/* rta type */
#endif
			  "\x00\x00\x00\x00"	/* enc key length */
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00\x00\x00\x00\x00",
		.klen   = 8 + 16 + 0,
		.iv     = "",
		.input  = "\x01\x23\x45\x67\x89\xab\xcd\xef",
		.ilen   = 8,
		.result = "\x01\x23\x45\x67\x89\xab\xcd\xef"
			  "\xaa\x42\xfe\x43\x8d\xea\xa3\x5a"
			  "\xb9\x3d\x9f\xb1\xa3\x8e\x9b\xae",
		.rlen   = 8 + 16,
	}, { /* Input data from RFC 2410 Case 2 */
#ifdef __LITTLE_ENDIAN
		.key    = "\x08\x00"		/* rta length */
			  "\x01\x00"		/* rta type */
#else
		.key    = "\x00\x08"		/* rta length */
			  "\x00\x01"		/* rta type */
#endif
			  "\x00\x00\x00\x00"	/* enc key length */
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00\x00\x00\x00\x00",
		.klen   = 8 + 16 + 0,
		.iv     = "",
		.input  = "Network Security People Have A Strange Sense Of Humor",
		.ilen   = 53,
		.result = "Network Security People Have A Strange Sense Of Humor"
			  "\x73\xa5\x3e\x1c\x08\x0e\x8a\x8a"
			  "\x8e\xb5\x5f\x90\x8e\xfe\x13\x23",
		.rlen   = 53 + 16,
	},
};
static struct aead_testvec hmac_md5_ecb_cipher_null_dec_tv_template[] = {
	{
#ifdef __LITTLE_ENDIAN
		.key    = "\x08\x00"		/* rta length */
			  "\x01\x00"		/* rta type */
#else
		.key    = "\x00\x08"		/* rta length */
			  "\x00\x01"		/* rta type */
#endif
			  "\x00\x00\x00\x00"	/* enc key length */
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00\x00\x00\x00\x00",
		.klen   = 8 + 16 + 0,
		.iv     = "",
		.input  = "\x01\x23\x45\x67\x89\xab\xcd\xef"
			  "\xaa\x42\xfe\x43\x8d\xea\xa3\x5a"
			  "\xb9\x3d\x9f\xb1\xa3\x8e\x9b\xae",
		.ilen   = 8 + 16,
		.result = "\x01\x23\x45\x67\x89\xab\xcd\xef",
		.rlen   = 8,
	}, {
#ifdef __LITTLE_ENDIAN
		.key    = "\x08\x00"		/* rta length */
			  "\x01\x00"		/* rta type */
#else
		.key    = "\x00\x08"		/* rta length */
			  "\x00\x01"		/* rta type */
#endif
			  "\x00\x00\x00\x00"	/* enc key length */
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00\x00\x00\x00\x00",
		.klen   = 8 + 16 + 0,
		.iv     = "",
		.input  = "Network Security People Have A Strange Sense Of Humor"
			  "\x73\xa5\x3e\x1c\x08\x0e\x8a\x8a"
			  "\x8e\xb5\x5f\x90\x8e\xfe\x13\x23",
		.ilen   = 53 + 16,
		.result = "Network Security People Have A Strange Sense Of Humor",
		.rlen   = 53,
	},
};
static struct aead_testvec hmac_sha1_aes_cbc_enc_tv_template[] = {
	{ /* RFC 3602 Case 1 */
#ifdef __LITTLE_ENDIAN
@@ -13876,6 +13964,98 @@ static struct aead_testvec hmac_sha1_aes_cbc_enc_tv_template[] = {
	},
};
static struct aead_testvec hmac_sha1_ecb_cipher_null_enc_tv_template[] = {
	{ /* Input data from RFC 2410 Case 1 */
#ifdef __LITTLE_ENDIAN
		.key    = "\x08\x00"		/* rta length */
			  "\x01\x00"		/* rta type */
#else
		.key    = "\x00\x08"		/* rta length */
			  "\x00\x01"		/* rta type */
#endif
			  "\x00\x00\x00\x00"	/* enc key length */
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00",
		.klen   = 8 + 20 + 0,
		.iv     = "",
		.input  = "\x01\x23\x45\x67\x89\xab\xcd\xef",
		.ilen   = 8,
		.result = "\x01\x23\x45\x67\x89\xab\xcd\xef"
			  "\x40\xc3\x0a\xa1\xc9\xa0\x28\xab"
			  "\x99\x5e\x19\x04\xd1\x72\xef\xb8"
			  "\x8c\x5e\xe4\x08",
		.rlen   = 8 + 20,
	}, { /* Input data from RFC 2410 Case 2 */
#ifdef __LITTLE_ENDIAN
		.key    = "\x08\x00"		/* rta length */
			  "\x01\x00"		/* rta type */
#else
		.key    = "\x00\x08"		/* rta length */
			  "\x00\x01"		/* rta type */
#endif
			  "\x00\x00\x00\x00"	/* enc key length */
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00",
		.klen   = 8 + 20 + 0,
		.iv     = "",
		.input  = "Network Security People Have A Strange Sense Of Humor",
		.ilen   = 53,
		.result = "Network Security People Have A Strange Sense Of Humor"
			  "\x75\x6f\x42\x1e\xf8\x50\x21\xd2"
			  "\x65\x47\xee\x8e\x1a\xef\x16\xf6"
			  "\x91\x56\xe4\xd6",
		.rlen   = 53 + 20,
	},
};
static struct aead_testvec hmac_sha1_ecb_cipher_null_dec_tv_template[] = {
	{
#ifdef __LITTLE_ENDIAN
		.key    = "\x08\x00"		/* rta length */
			  "\x01\x00"		/* rta type */
#else
		.key    = "\x00\x08"		/* rta length */
			  "\x00\x01"		/* rta type */
#endif
			  "\x00\x00\x00\x00"	/* enc key length */
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00",
		.klen   = 8 + 20 + 0,
		.iv     = "",
		.input  = "\x01\x23\x45\x67\x89\xab\xcd\xef"
			  "\x40\xc3\x0a\xa1\xc9\xa0\x28\xab"
			  "\x99\x5e\x19\x04\xd1\x72\xef\xb8"
			  "\x8c\x5e\xe4\x08",
		.ilen   = 8 + 20,
		.result = "\x01\x23\x45\x67\x89\xab\xcd\xef",
		.rlen   = 8,
	}, {
#ifdef __LITTLE_ENDIAN
		.key    = "\x08\x00"		/* rta length */
			  "\x01\x00"		/* rta type */
#else
		.key    = "\x00\x08"		/* rta length */
			  "\x00\x01"		/* rta type */
#endif
			  "\x00\x00\x00\x00"	/* enc key length */
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00\x00\x00\x00\x00"
			  "\x00\x00\x00\x00",
		.klen   = 8 + 20 + 0,
		.iv     = "",
		.input  = "Network Security People Have A Strange Sense Of Humor"
			  "\x75\x6f\x42\x1e\xf8\x50\x21\xd2"
			  "\x65\x47\xee\x8e\x1a\xef\x16\xf6"
			  "\x91\x56\xe4\xd6",
		.ilen   = 53 + 20,
		.result = "Network Security People Have A Strange Sense Of Humor",
		.rlen   = 53,
	},
};
static struct aead_testvec hmac_sha256_aes_cbc_enc_tv_template[] = {
	{ /* RFC 3602 Case 1 */
#ifdef __LITTLE_ENDIAN