libwd/0115-uadk-v1-concentrate-the-same-definitions.patch
Younger 5c995b2464 libwd - update some patches
Update some patches for 2203-SP3 only.

Signed-off-by: Yang Shen <shenyang39@huawei.com>
2024-05-24 09:59:01 +08:00

160 lines
4.8 KiB
Diff

From a470786b499641f10720dbcd3dbe257499d64d2d Mon Sep 17 00:00:00 2001
From: Qi Tao <taoqi10@huawei.com>
Date: Mon, 4 Dec 2023 17:37:24 +0800
Subject: [PATCH 115/123] uadk v1: concentrate the same definitions
The sec algorithm has multiple common header files,
so they are centrally stored in wd_alg_common.
Signed-off-by: Chenghai Huang <huangchenghai2@huawei.com>
---
v1/drv/hisi_sec_udrv.c | 11 ++---------
v1/wd_aead.c | 15 ---------------
v1/wd_cipher.c | 9 +--------
v1/wd_digest.c | 1 -
v1/wd_util.h | 17 +++++++++++++++++
5 files changed, 20 insertions(+), 33 deletions(-)
diff --git a/v1/drv/hisi_sec_udrv.c b/v1/drv/hisi_sec_udrv.c
index 02a63c2..d046327 100644
--- a/v1/drv/hisi_sec_udrv.c
+++ b/v1/drv/hisi_sec_udrv.c
@@ -31,10 +31,6 @@
#include "config.h"
#include "hisi_sec_udrv.h"
-#define DES_KEY_SIZE 8
-#define SEC_3DES_2KEY_SIZE (2 * DES_KEY_SIZE)
-#define SEC_3DES_3KEY_SIZE (3 * DES_KEY_SIZE)
-
#define SEC_HW_TASK_DONE 1
#define SEC_HW_ICV_ERR 0x2
#define SEC_SM4_XTS_GB_V3 0x1
@@ -47,11 +43,8 @@
#define CTR_128BIT_COUNTER 16
#define CTR_128BIT_FLIP 0x2
#define DIF_VERIFY_FAIL 2
-#define AES_BLOCK_SIZE 16
#define WCRYPTO_CIPHER_THEN_DIGEST 0
#define WCRYPTO_DIGEST_THEN_CIPHER 1
-#define CBC_3DES_BLOCK_SIZE 8
-#define CBC_AES_BLOCK_SIZE 16
#define AEAD_IV_MAX_BYTES 64
#define MAX_CCM_AAD_LEN 65279
#define SEC_GMAC_IV_LEN 16
@@ -111,9 +104,9 @@ static int get_aes_c_key_len(__u8 mode, __u16 key_bytes, __u8 *c_key_len)
static int get_3des_c_key_len(struct wcrypto_cipher_msg *msg, __u8 *c_key_len)
{
- if (msg->key_bytes == SEC_3DES_2KEY_SIZE)
+ if (msg->key_bytes == DES3_2KEY_SIZE)
*c_key_len = CKEY_LEN_3DES_2KEY;
- else if (msg->key_bytes == SEC_3DES_3KEY_SIZE)
+ else if (msg->key_bytes == DES3_3KEY_SIZE)
*c_key_len = CKEY_LEN_3DES_3KEY;
else {
WD_ERR("Invalid 3DES key size!\n");
diff --git a/v1/wd_aead.c b/v1/wd_aead.c
index 38429fc..380daf0 100644
--- a/v1/wd_aead.c
+++ b/v1/wd_aead.c
@@ -26,24 +26,9 @@
#include "wd_util.h"
#include "wd_aead.h"
-#define MAX_AEAD_KEY_SIZE 64
-#define MAX_AEAD_MAC_SIZE 64
-#define MAX_CIPHER_KEY_SIZE 64
#define MAX_AEAD_AUTH_SIZE 64
-#define MAX_AEAD_ASSOC_SIZE 65536
-#define MAX_HMAC_KEY_SIZE 128
#define MAX_AEAD_RETRY_CNT 20000000
-#define DES_KEY_SIZE 8
-#define SM4_KEY_SIZE 16
-#define SEC_3DES_2KEY_SIZE (2 * DES_KEY_SIZE)
-#define SEC_3DES_3KEY_SIZE (3 * DES_KEY_SIZE)
-
-#define AES_BLOCK_SIZE 16
-#define GCM_BLOCK_SIZE 12
-
-#define MAX_BURST_NUM 16
-
static int g_aead_mac_len[WCRYPTO_MAX_DIGEST_TYPE] = {
WCRYPTO_SM3_LEN, WCRYPTO_MD5_LEN, WCRYPTO_SHA1_LEN,
WCRYPTO_SHA256_LEN, WCRYPTO_SHA224_LEN,
diff --git a/v1/wd_cipher.c b/v1/wd_cipher.c
index f95015d..0877993 100644
--- a/v1/wd_cipher.c
+++ b/v1/wd_cipher.c
@@ -26,17 +26,10 @@
#include "v1/wd_util.h"
#include "v1/wd_cipher.h"
-#define MAX_CIPHER_KEY_SIZE 64
#define MAX_CIPHER_RETRY_CNT 20000000
#define XTS_MODE_KEY_LEN_MASK 0x1
-#define DES_KEY_SIZE 8
-#define SM4_KEY_SIZE 16
-#define SEC_3DES_2KEY_SIZE (2 * DES_KEY_SIZE)
-#define SEC_3DES_3KEY_SIZE (3 * DES_KEY_SIZE)
-#define CBC_3DES_BLOCK_SIZE 8
-#define CBC_AES_BLOCK_SIZE 16
#define DES_WEAK_KEY_NUM 4
static __u64 des_weak_key[DES_WEAK_KEY_NUM] = {0x0101010101010101, 0xFEFEFEFEFEFEFEFE,
0xE0E0E0E0F1F1F1F1, 0x1F1F1F1F0E0E0E0E};
@@ -300,7 +293,7 @@ static int cipher_key_len_check(struct wcrypto_cipher_ctx_setup *setup,
ret = -WD_EINVAL;
break;
case WCRYPTO_CIPHER_3DES:
- if ((key_len != SEC_3DES_2KEY_SIZE) && (key_len != SEC_3DES_3KEY_SIZE))
+ if ((key_len != DES3_2KEY_SIZE) && (key_len != DES3_3KEY_SIZE))
ret = -WD_EINVAL;
break;
default:
diff --git a/v1/wd_digest.c b/v1/wd_digest.c
index df8a8af..cb9b6e0 100644
--- a/v1/wd_digest.c
+++ b/v1/wd_digest.c
@@ -26,7 +26,6 @@
#include "wd_util.h"
#include "wd_digest.h"
-#define MAX_HMAC_KEY_SIZE 128
#define MAX_DIGEST_RETRY_CNT 20000000
#define SEC_SHA1_ALIGN_SZ 64
#define SEC_SHA512_ALIGN_SZ 128
diff --git a/v1/wd_util.h b/v1/wd_util.h
index bf17058..9e5fa90 100644
--- a/v1/wd_util.h
+++ b/v1/wd_util.h
@@ -76,6 +76,23 @@
#define X_DH_OUT_PARAM_NUM 1
#define X_DH_HW_KEY_PARAM_NUM 3
+/* Key size and block size of aead */
+#define MAX_AEAD_KEY_SIZE 64
+#define GCM_BLOCK_SIZE 12
+
+/* Key size and block size of chiper */
+#define MAX_CIPHER_KEY_SIZE 64
+#define AES_BLOCK_SIZE 16
+#define DES_KEY_SIZE 8
+#define SM4_KEY_SIZE 16
+#define DES3_2KEY_SIZE (2 * DES_KEY_SIZE)
+#define DES3_3KEY_SIZE (3 * DES_KEY_SIZE)
+#define CBC_AES_BLOCK_SIZE 16
+#define CBC_3DES_BLOCK_SIZE 8
+
+/* Key size and block size of digest */
+#define MAX_HMAC_KEY_SIZE 128
+
#define X_DH_OUT_PARAMS_SZ(hsz) ((hsz) * X_DH_OUT_PARAM_NUM)
#define X_DH_HW_KEY_SZ(hsz) ((hsz) * X_DH_HW_KEY_PARAM_NUM)
#define SM2_KG_OUT_PARAMS_SZ(hsz) ((hsz) * SM2_KG_OUT_PARAM_NUM)
--
2.31.1.windows.1