[API-NEXT,v1,5/5] Fix the style issues

Message ID 1518537618-25725-6-git-send-email-odpbot@yandex.ru
State New
Headers show
Series
  • linux-gen: crypto: implement AES-XCBC-MAC and SHA384-HMAC
Related show

Commit Message

Github ODP bot Feb. 13, 2018, 4 p.m.
From: yhe <yhe@sonicwall.com>


---
/** Email created from pull request 470 (SonicwallYhe:api-next-seperate)
 ** https://github.com/Linaro/odp/pull/470
 ** Patch: https://github.com/Linaro/odp/pull/470.patch
 ** Base sha: af7be638ef9ac98bdb1f2e4917f152889eb1850f
 ** Merge commit sha: f30e7ae4157bae994d5734b8917d2dd31dbf201e
 **/
 platform/linux-generic/odp_crypto.c              | 71 +++++++++++++-----------
 test/validation/api/crypto/odp_crypto_test_inp.c |  4 +-
 test/validation/api/crypto/test_vectors.h        |  8 +--
 3 files changed, 45 insertions(+), 38 deletions(-)

Patch

diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c
index 16ec25d67..174d0cf38 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -319,9 +319,11 @@  void packet_hmac(odp_packet_t pkt,
 	HMAC_Final(ctx, hash, NULL);
 }
 
-static void do_pad_xor(uint8_t *out, const uint8_t *in, int len) {
-	int pos=0;
-	for (pos=1; pos <= 16; pos++, in++, out++) {
+static void do_pad_xor(uint8_t *out, const uint8_t *in, int len)
+{
+	int pos = 0;
+
+	for (pos = 1; pos <= 16; pos++, in++, out++) {
 		if (pos <= len)
 			*out ^= *in;
 		if (pos > len) {
@@ -330,7 +332,9 @@  static void do_pad_xor(uint8_t *out, const uint8_t *in, int len) {
 		}
 	}
 }
-static void xor_block(aes_block res, const aes_block op) {
+
+static void xor_block(uint32_t *res, const uint32_t *op)
+{
 	res[0] ^= op[0];
 	res[1] ^= op[1];
 	res[2] ^= op[2];
@@ -342,7 +346,7 @@  odp_crypto_alg_err_t aesxcbc_gen(odp_packet_t pkt,
 			      const odp_crypto_packet_op_param_t *param,
 			      odp_crypto_generic_session_t *session)
 {
-	aes_block e = {0, 0, 0, 0};
+	uint32_t e[4] = {0, 0, 0, 0};
 	uint8_t *data  = odp_packet_data(pkt);
 	uint8_t *icv   = data;
 	uint32_t len = param->auth_range.length;
@@ -354,22 +358,20 @@  odp_crypto_alg_err_t aesxcbc_gen(odp_packet_t pkt,
 	icv  += param->hash_result_offset;
 
 	ctx = EVP_CIPHER_CTX_new();
-	EVP_EncryptInit_ex(ctx, EVP_aes_128_ecb(), NULL, session->auth.key, NULL);
+	EVP_EncryptInit_ex(ctx, session->auth.evp_cipher, NULL, session->auth.key, NULL);
 	for (; len > AES_BLOCK_SIZE ; len -= AES_BLOCK_SIZE) {
-		xor_block(e, (const uint32_t*) data);
+		xor_block(e, (const uint32_t *)data);
 		EVP_EncryptUpdate(ctx, (uint8_t *)e, &dummy_len, (uint8_t *)e, sizeof(e));
 		data += AES_BLOCK_SIZE;
 	}
 	do_pad_xor((uint8_t *)e, data, len);
-	if (len == AES_BLOCK_SIZE) {
-		xor_block(e, (const uint32_t*) (session->auth.key + 16));
-	}
+	if (len == AES_BLOCK_SIZE)
+		xor_block(e, (const uint32_t *)(session->auth.key + 16));
 	else
-	{
-		xor_block(e, (const uint32_t*) (session->auth.key + 16*2));
-	}
+		xor_block(e, (const uint32_t *)(session->auth.key + 16 * 2));
+
 	EVP_EncryptUpdate(ctx, hash_out, &dummy_len, (uint8_t *)e, sizeof(e));
-	EVP_CIPHER_CTX_free(ctx);	
+	EVP_CIPHER_CTX_free(ctx);
 	memcpy (icv, hash_out, 12);
 	
 	return ODP_CRYPTO_ALG_ERR_NONE;
@@ -380,7 +382,7 @@  odp_crypto_alg_err_t aesxcbc_check(odp_packet_t pkt,
 			      const odp_crypto_packet_op_param_t *param,
 			      odp_crypto_generic_session_t *session)
 {
-	aes_block e = {0, 0, 0, 0};
+	uint32_t e[4] = {0, 0, 0, 0};
 	uint8_t *data  = odp_packet_data(pkt);
 	uint8_t *icv   = data;
 	uint32_t len = param->auth_range.length;
@@ -399,23 +401,21 @@  odp_crypto_alg_err_t aesxcbc_check(odp_packet_t pkt,
 	memset(hash_out, 0, sizeof(hash_out));
 
 	ctx = EVP_CIPHER_CTX_new();
-	EVP_EncryptInit_ex(ctx, EVP_aes_128_ecb(), NULL, session->auth.key, NULL);
+	EVP_EncryptInit_ex(ctx, session->auth.evp_cipher, NULL, session->auth.key, NULL);
 
 	for (; len > AES_BLOCK_SIZE ; len -= AES_BLOCK_SIZE) {
-		xor_block(e, (const uint32_t*) data);
+		xor_block(e, (const uint32_t *) data);
 		EVP_EncryptUpdate(ctx, (uint8_t *)e, &dummy_len, (uint8_t *)e, sizeof(e));
 		data += AES_BLOCK_SIZE;
 	}
 	do_pad_xor((uint8_t *)e, data, len);
-	if (len == AES_BLOCK_SIZE) {
-		xor_block(e, (const uint32_t*) (session->auth.key + 16));
-	}
+	if (len == AES_BLOCK_SIZE)
+		xor_block(e, (const uint32_t *)(session->auth.key + 16));
 	else
-	{
-		xor_block(e, (const uint32_t*) (session->auth.key + 16*2));
-	}
+		xor_block(e, (const uint32_t *)(session->auth.key + 16 * 2));
+
 	EVP_EncryptUpdate(ctx, hash_out, &dummy_len, (uint8_t *)e, sizeof(e));
-	EVP_CIPHER_CTX_free(ctx);	
+	EVP_CIPHER_CTX_free(ctx);
 	/* Verify match */
 	if (0 != memcmp(hash_in, hash_out, 12))
 		return ODP_CRYPTO_ALG_ERR_ICV_CHECK;
@@ -424,9 +424,10 @@  odp_crypto_alg_err_t aesxcbc_check(odp_packet_t pkt,
 	return ODP_CRYPTO_ALG_ERR_NONE;
 }	
 
-static int process_aesxcbc_param(odp_crypto_generic_session_t *session)
+static int process_aesxcbc_param(odp_crypto_generic_session_t *session,
+				const EVP_CIPHER *cipher)
 {
-	aes_block kn[3] = {
+	uint32_t kn[12] = {
 		{ 0x01010101, 0x01010101, 0x01010101, 0x01010101 },
 		{ 0x02020202, 0x02020202, 0x02020202, 0x02020202 },
 		{ 0x03030303, 0x03030303, 0x03030303, 0x03030303 },
@@ -439,19 +440,25 @@  static int process_aesxcbc_param(odp_crypto_generic_session_t *session)
 		session->auth.func = aesxcbc_gen;
 	else
 		session->auth.func = aesxcbc_check;
+	session->auth.init = null_crypto_init_routine;
 
+	session->auth.evp_cipher = cipher;
 	ctx = EVP_CIPHER_CTX_new();
-	EVP_EncryptInit_ex(ctx, EVP_aes_128_ecb(), NULL, session->p.auth_key.data, NULL);
+	EVP_EncryptInit_ex(ctx, session->auth.evp_cipher, NULL,
+			session->p.auth_key.data, NULL);
 	/*  K1 = 0x01010101010101010101010101010101 encrypted with Key K */
-	EVP_EncryptUpdate(ctx, session->auth.key, &dummy_len, (uint8_t *)kn[0], 16);
+	EVP_EncryptUpdate(ctx, session->auth.key,
+				&dummy_len, (uint8_t *)kn[0], 16);
 
 	/*  K2 = 0x02020202020202020202020202020202 encrypted with Key K */
-	EVP_EncryptUpdate(ctx, session->auth.key+16, &dummy_len, (uint8_t *)kn[1], 16);
+	EVP_EncryptUpdate(ctx, session->auth.key + 16,
+				&dummy_len, (uint8_t *)kn[4], 16);
 	
 	/*  K3 = 0x03030303030303030303030303030303 encrypted with Key K */
-	EVP_EncryptUpdate(ctx, session->auth.key+16*2, &dummy_len, (uint8_t *)kn[2], 16);	
+	EVP_EncryptUpdate(ctx, session->auth.key + 16 * 2,
+				&dummy_len, (uint8_t *)kn[8], 16);
 
-	EVP_CIPHER_CTX_free(ctx);	
+	EVP_CIPHER_CTX_free(ctx);
 	return 0;
 }
 
@@ -1627,7 +1634,7 @@  odp_crypto_session_create(odp_crypto_session_param_t *param,
 		break;
 
 	case ODP_AUTH_ALG_AES_XCBC_MAC:
-		rc = process_aesxcbc_param(session);
+		rc = process_aesxcbc_param(session, EVP_aes_128_ecb());
 		break;
 #if ODP_DEPRECATED_API
 	case ODP_AUTH_ALG_AES128_GCM:
diff --git a/test/validation/api/crypto/odp_crypto_test_inp.c b/test/validation/api/crypto/odp_crypto_test_inp.c
index 2316f2798..96d2f8f76 100644
--- a/test/validation/api/crypto/odp_crypto_test_inp.c
+++ b/test/validation/api/crypto/odp_crypto_test_inp.c
@@ -1499,9 +1499,9 @@  odp_testinfo_t crypto_suite[] = {
 	ODP_TEST_INFO_CONDITIONAL(crypto_test_check_alg_hmac_sha256,
 				  check_alg_hmac_sha256),
 	ODP_TEST_INFO_CONDITIONAL(crypto_test_gen_alg_hmac_sha384,
-				  check_alg_hmac_sha384),			  
+				  check_alg_hmac_sha384),
 	ODP_TEST_INFO_CONDITIONAL(crypto_test_check_alg_hmac_sha384,
-				  check_alg_hmac_sha384),	
+				  check_alg_hmac_sha384),
 	ODP_TEST_INFO_CONDITIONAL(crypto_test_gen_alg_hmac_sha512,
 				  check_alg_hmac_sha512),
 	ODP_TEST_INFO_CONDITIONAL(crypto_test_check_alg_hmac_sha512,
diff --git a/test/validation/api/crypto/test_vectors.h b/test/validation/api/crypto/test_vectors.h
index 700c5c047..6756afbc4 100644
--- a/test/validation/api/crypto/test_vectors.h
+++ b/test/validation/api/crypto/test_vectors.h
@@ -1281,7 +1281,7 @@  static crypto_test_reference_t hmac_sha384_reference[] = {
 		.digest_length = HMAC_SHA384_CHECK_LEN,
 		.digest = { 0xaf, 0x45, 0xd2, 0xe3, 0x76, 0x48, 0x40, 0x31,
 			    0x61, 0x7f, 0x78, 0xd2, 0xb5, 0x8a, 0x6b, 0x1b,
-			    0x9c, 0x7e, 0xf4, 0x64, 0xf5, 0xa0, 0x1b, 0x47,		    
+			    0x9c, 0x7e, 0xf4, 0x64, 0xf5, 0xa0, 0x1b, 0x47,
 			    0xe4, 0x2e, 0xc3, 0x73, 0x63, 0x22, 0x44, 0x5e,
 			    0x8e, 0x22, 0x40, 0xca, 0x5e, 0x69, 0xe2, 0xc7,
 			    0x8b, 0x32, 0x39, 0xec, 0xfa, 0xb2, 0x16, 0x49 }
@@ -1309,7 +1309,7 @@  static crypto_test_reference_t hmac_sha384_reference[] = {
 		.digest_length = HMAC_SHA384_CHECK_LEN,
 		.digest = {0x88, 0x06, 0x26, 0x08, 0xd3, 0xe6, 0xad, 0x8a,
 			    0x0a, 0xa2, 0xac, 0xe0, 0x14, 0xc8, 0xa8, 0x6f,
-			    0x0a, 0xa6, 0x35, 0xd9, 0x47, 0xac, 0x9f, 0xeb, 
+			    0x0a, 0xa6, 0x35, 0xd9, 0x47, 0xac, 0x9f, 0xeb,
 			    0xe8, 0x3e, 0xf4, 0xe5, 0x59, 0x66, 0x14, 0x4b,
 			    0x2a, 0x5a, 0xb3, 0x9d, 0xc1, 0x38, 0x14, 0xb9,
 			    0x4e, 0x3a, 0xb6, 0xe1, 0x01, 0xa3, 0x4f, 0x27 }
@@ -1490,7 +1490,7 @@  static crypto_test_reference_t aes_xcbc_reference[] = {
 			      0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
 			      0x10, 0x11, 0x12, 0x13 },
 		.digest_length = AES_XCBC_MAC_96_CHECK_LEN,
-		.digest = {  0x47, 0xf5, 0x1b, 0x45, 0x64, 0x96, 0x62, 0x15, 
+		.digest = {  0x47, 0xf5, 0x1b, 0x45, 0x64, 0x96, 0x62, 0x15,
 			0xb8, 0x98, 0x5c, 0x63 }
 	},
 	{
@@ -1529,7 +1529,7 @@  static crypto_test_reference_t aes_xcbc_reference[] = {
 			      0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
 			      0x10, 0x11, 0x12, 0x13 },
 		.digest_length = AES_XCBC_MAC_CHECK_LEN,
-		.digest = {  0x47, 0xf5, 0x1b, 0x45, 0x64, 0x96, 0x62, 0x15, 
+		.digest = {  0x47, 0xf5, 0x1b, 0x45, 0x64, 0x96, 0x62, 0x15,
 			0xb8, 0x98, 0x5c, 0x63, 0x05, 0x5e, 0xd3, 0x08 }
 	}
 };