From 25277b3c8f46a8cb9301d07112ae6be57b469a52 Mon Sep 17 00:00:00 2001 From: tangzhongrui Date: Tue, 10 Sep 2024 16:06:57 +0800 Subject: [PATCH 1/2] crypto: Define macros for hash algorithm digest lengths MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reviewed-by: Daniel P. Berrangé Signed-off-by: Dorjoy Chowdhury Signed-off-by: Daniel P. Berrangé Signed-off-by: Daniel P. Berrangé Signed-off-by: Zhongrui Tang --- crypto/hash-glib.c | 2 +- crypto/hash.c | 14 +++++++------- include/crypto/hash.h | 8 ++++++++ 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/crypto/hash-glib.c b/crypto/hash-glib.c index 82de9db705..18e64faa9c 100644 --- a/crypto/hash-glib.c +++ b/crypto/hash-glib.c @@ -29,7 +29,7 @@ static int qcrypto_hash_alg_map[QCRYPTO_HASH_ALG__MAX] = { [QCRYPTO_HASH_ALG_SHA1] = G_CHECKSUM_SHA1, [QCRYPTO_HASH_ALG_SHA224] = -1, [QCRYPTO_HASH_ALG_SHA256] = G_CHECKSUM_SHA256, - [QCRYPTO_HASH_ALG_SHA384] = -1, + [QCRYPTO_HASH_ALG_SHA384] = G_CHECKSUM_SHA384, [QCRYPTO_HASH_ALG_SHA512] = G_CHECKSUM_SHA512, [QCRYPTO_HASH_ALG_RIPEMD160] = -1, }; diff --git a/crypto/hash.c b/crypto/hash.c index 8f1502ce68..ca03a86ecc 100644 --- a/crypto/hash.c +++ b/crypto/hash.c @@ -23,13 +23,13 @@ #include "hashpriv.h" static size_t qcrypto_hash_alg_size[QCRYPTO_HASH_ALG__MAX] = { - [QCRYPTO_HASH_ALG_MD5] = 16, - [QCRYPTO_HASH_ALG_SHA1] = 20, - [QCRYPTO_HASH_ALG_SHA224] = 28, - [QCRYPTO_HASH_ALG_SHA256] = 32, - [QCRYPTO_HASH_ALG_SHA384] = 48, - [QCRYPTO_HASH_ALG_SHA512] = 64, - [QCRYPTO_HASH_ALG_RIPEMD160] = 20, + [QCRYPTO_HASH_ALG_MD5] = QCRYPTO_HASH_DIGEST_LEN_MD5, + [QCRYPTO_HASH_ALG_SHA1] = QCRYPTO_HASH_DIGEST_LEN_SHA1, + [QCRYPTO_HASH_ALG_SHA224] = QCRYPTO_HASH_DIGEST_LEN_SHA224, + [QCRYPTO_HASH_ALG_SHA256] = QCRYPTO_HASH_DIGEST_LEN_SHA256, + [QCRYPTO_HASH_ALG_SHA384] = QCRYPTO_HASH_DIGEST_LEN_SHA384, + [QCRYPTO_HASH_ALG_SHA512] = QCRYPTO_HASH_DIGEST_LEN_SHA512, + [QCRYPTO_HASH_ALG_RIPEMD160] = QCRYPTO_HASH_DIGEST_LEN_RIPEMD160, #ifdef CONFIG_CRYPTO_SM3 [QCRYPTO_HASH_ALG_SM3] = 32, #endif diff --git a/include/crypto/hash.h b/include/crypto/hash.h index 54d87aa2a1..a113cc3b04 100644 --- a/include/crypto/hash.h +++ b/include/crypto/hash.h @@ -23,6 +23,14 @@ #include "qapi/qapi-types-crypto.h" +#define QCRYPTO_HASH_DIGEST_LEN_MD5 16 +#define QCRYPTO_HASH_DIGEST_LEN_SHA1 20 +#define QCRYPTO_HASH_DIGEST_LEN_SHA224 28 +#define QCRYPTO_HASH_DIGEST_LEN_SHA256 32 +#define QCRYPTO_HASH_DIGEST_LEN_SHA384 48 +#define QCRYPTO_HASH_DIGEST_LEN_SHA512 64 +#define QCRYPTO_HASH_DIGEST_LEN_RIPEMD160 20 + /* See also "QCryptoHashAlgorithm" defined in qapi/crypto.json */ /** -- Gitee From 9aa4402398d2899df61d2b4865f7f2af7171eebd Mon Sep 17 00:00:00 2001 From: tangzhongrui Date: Tue, 10 Sep 2024 16:35:24 +0800 Subject: [PATCH 2/2] crypto: Define macros for hash algorithm digest lengths of SM3 Signed-off-by: Zhongrui Tang --- crypto/hash.c | 2 +- include/crypto/hash.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/hash.c b/crypto/hash.c index ca03a86ecc..4c18f04044 100644 --- a/crypto/hash.c +++ b/crypto/hash.c @@ -31,7 +31,7 @@ static size_t qcrypto_hash_alg_size[QCRYPTO_HASH_ALG__MAX] = { [QCRYPTO_HASH_ALG_SHA512] = QCRYPTO_HASH_DIGEST_LEN_SHA512, [QCRYPTO_HASH_ALG_RIPEMD160] = QCRYPTO_HASH_DIGEST_LEN_RIPEMD160, #ifdef CONFIG_CRYPTO_SM3 - [QCRYPTO_HASH_ALG_SM3] = 32, + [QCRYPTO_HASH_ALG_SM3] = QCRYPTO_HASH_DIGEST_LEN_SM3, #endif }; diff --git a/include/crypto/hash.h b/include/crypto/hash.h index a113cc3b04..f2c8c645cf 100644 --- a/include/crypto/hash.h +++ b/include/crypto/hash.h @@ -30,6 +30,7 @@ #define QCRYPTO_HASH_DIGEST_LEN_SHA384 48 #define QCRYPTO_HASH_DIGEST_LEN_SHA512 64 #define QCRYPTO_HASH_DIGEST_LEN_RIPEMD160 20 +#define QCRYPTO_HASH_DIGEST_LEN_SM3 32 /* See also "QCryptoHashAlgorithm" defined in qapi/crypto.json */ -- Gitee