1// SPDX-License-Identifier: GPL-2.0-or-later
2/*
3 * Hash Info: Hash algorithms information
4 *
5 * Copyright (c) 2013 Dmitry Kasatkin <d.kasatkin@samsung.com>
6 */
7
8#include <linux/export.h>
9#include <crypto/hash_info.h>
10
11const char *const hash_algo_name[HASH_ALGO__LAST] = {
12	[HASH_ALGO_MD4]		= "md4",
13	[HASH_ALGO_MD5]		= "md5",
14	[HASH_ALGO_SHA1]	= "sha1",
15	[HASH_ALGO_RIPE_MD_160]	= "rmd160",
16	[HASH_ALGO_SHA256]	= "sha256",
17	[HASH_ALGO_SHA384]	= "sha384",
18	[HASH_ALGO_SHA512]	= "sha512",
19	[HASH_ALGO_SHA224]	= "sha224",
20	[HASH_ALGO_RIPE_MD_128]	= "rmd128",
21	[HASH_ALGO_RIPE_MD_256]	= "rmd256",
22	[HASH_ALGO_RIPE_MD_320]	= "rmd320",
23	[HASH_ALGO_WP_256]	= "wp256",
24	[HASH_ALGO_WP_384]	= "wp384",
25	[HASH_ALGO_WP_512]	= "wp512",
26	[HASH_ALGO_TGR_128]	= "tgr128",
27	[HASH_ALGO_TGR_160]	= "tgr160",
28	[HASH_ALGO_TGR_192]	= "tgr192",
29	[HASH_ALGO_SM3_256]	= "sm3",
30	[HASH_ALGO_STREEBOG_256] = "streebog256",
31	[HASH_ALGO_STREEBOG_512] = "streebog512",
32	[HASH_ALGO_SHA3_256]    = "sha3-256",
33	[HASH_ALGO_SHA3_384]    = "sha3-384",
34	[HASH_ALGO_SHA3_512]    = "sha3-512",
35};
36EXPORT_SYMBOL_GPL(hash_algo_name);
37
38const int hash_digest_size[HASH_ALGO__LAST] = {
39	[HASH_ALGO_MD4]		= MD5_DIGEST_SIZE,
40	[HASH_ALGO_MD5]		= MD5_DIGEST_SIZE,
41	[HASH_ALGO_SHA1]	= SHA1_DIGEST_SIZE,
42	[HASH_ALGO_RIPE_MD_160]	= RMD160_DIGEST_SIZE,
43	[HASH_ALGO_SHA256]	= SHA256_DIGEST_SIZE,
44	[HASH_ALGO_SHA384]	= SHA384_DIGEST_SIZE,
45	[HASH_ALGO_SHA512]	= SHA512_DIGEST_SIZE,
46	[HASH_ALGO_SHA224]	= SHA224_DIGEST_SIZE,
47	[HASH_ALGO_RIPE_MD_128]	= RMD128_DIGEST_SIZE,
48	[HASH_ALGO_RIPE_MD_256]	= RMD256_DIGEST_SIZE,
49	[HASH_ALGO_RIPE_MD_320]	= RMD320_DIGEST_SIZE,
50	[HASH_ALGO_WP_256]	= WP256_DIGEST_SIZE,
51	[HASH_ALGO_WP_384]	= WP384_DIGEST_SIZE,
52	[HASH_ALGO_WP_512]	= WP512_DIGEST_SIZE,
53	[HASH_ALGO_TGR_128]	= TGR128_DIGEST_SIZE,
54	[HASH_ALGO_TGR_160]	= TGR160_DIGEST_SIZE,
55	[HASH_ALGO_TGR_192]	= TGR192_DIGEST_SIZE,
56	[HASH_ALGO_SM3_256]	= SM3256_DIGEST_SIZE,
57	[HASH_ALGO_STREEBOG_256] = STREEBOG256_DIGEST_SIZE,
58	[HASH_ALGO_STREEBOG_512] = STREEBOG512_DIGEST_SIZE,
59	[HASH_ALGO_SHA3_256]    = SHA3_256_DIGEST_SIZE,
60	[HASH_ALGO_SHA3_384]    = SHA3_384_DIGEST_SIZE,
61	[HASH_ALGO_SHA3_512]    = SHA3_512_DIGEST_SIZE,
62};
63EXPORT_SYMBOL_GPL(hash_digest_size);
64