crypto: FIPS 202 SHA-3 register in hash info for IMA
authorDimitri John Ledkov <dimitri.ledkov@canonical.com>
Sun, 22 Oct 2023 18:22:04 +0000 (19:22 +0100)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 27 Oct 2023 10:04:30 +0000 (18:04 +0800)
Register FIPS 202 SHA-3 hashes in hash info for IMA and other
users. Sizes 256 and up, as 224 is too weak for any practical
purposes.

Signed-off-by: Dimitri John Ledkov <dimitri.ledkov@canonical.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/hash_info.c
include/crypto/hash_info.h
include/uapi/linux/hash_info.h

index a49ff96..9a46763 100644 (file)
@@ -29,6 +29,9 @@ const char *const hash_algo_name[HASH_ALGO__LAST] = {
        [HASH_ALGO_SM3_256]     = "sm3",
        [HASH_ALGO_STREEBOG_256] = "streebog256",
        [HASH_ALGO_STREEBOG_512] = "streebog512",
+       [HASH_ALGO_SHA3_256]    = "sha3-256",
+       [HASH_ALGO_SHA3_384]    = "sha3-384",
+       [HASH_ALGO_SHA3_512]    = "sha3-512",
 };
 EXPORT_SYMBOL_GPL(hash_algo_name);
 
@@ -53,5 +56,8 @@ const int hash_digest_size[HASH_ALGO__LAST] = {
        [HASH_ALGO_SM3_256]     = SM3256_DIGEST_SIZE,
        [HASH_ALGO_STREEBOG_256] = STREEBOG256_DIGEST_SIZE,
        [HASH_ALGO_STREEBOG_512] = STREEBOG512_DIGEST_SIZE,
+       [HASH_ALGO_SHA3_256]    = SHA3_256_DIGEST_SIZE,
+       [HASH_ALGO_SHA3_384]    = SHA3_384_DIGEST_SIZE,
+       [HASH_ALGO_SHA3_512]    = SHA3_512_DIGEST_SIZE,
 };
 EXPORT_SYMBOL_GPL(hash_digest_size);
index dd4f067..d692773 100644 (file)
@@ -10,6 +10,7 @@
 
 #include <crypto/sha1.h>
 #include <crypto/sha2.h>
+#include <crypto/sha3.h>
 #include <crypto/md5.h>
 #include <crypto/streebog.h>
 
index 74a8609..0af23ec 100644 (file)
@@ -35,6 +35,9 @@ enum hash_algo {
        HASH_ALGO_SM3_256,
        HASH_ALGO_STREEBOG_256,
        HASH_ALGO_STREEBOG_512,
+       HASH_ALGO_SHA3_256,
+       HASH_ALGO_SHA3_384,
+       HASH_ALGO_SHA3_512,
        HASH_ALGO__LAST
 };