diff options
author | Tianjia Zhang <tianjia.zhang@linux.alibaba.com> | 2020-06-16 17:09:28 +0800 |
---|---|---|
committer | Jussi Kivilinna <jussi.kivilinna@iki.fi> | 2020-06-16 21:44:37 +0300 |
commit | ddcce166ab8bc6f51f5b509bcbea13a8746384ec (patch) | |
tree | 31d7d8338be1c2399b4dddc78be6ef0fc90ceedc /cipher/mac-cmac.c | |
parent | 6c571bfda6409d7d668f5d44cea0c6c31e2688be (diff) | |
download | libgcrypt-ddcce166ab8bc6f51f5b509bcbea13a8746384ec.tar.gz |
Add SM4 symmetric cipher algorithm
* cipher/Makefile.am (EXTRA_libcipher_la_SOURCES): Add sm4.c.
* cipher/cipher.c (cipher_list, cipher_list_algo301): Add
_gcry_cipher_spec_sm4.
* cipher/mac-cmac.c (map_mac_algo_to_cipher): Add cmac SM4.
(_gcry_mac_type_spec_cmac_sm4): Add cmac SM4.
* cipher/mac-internal.h: Declare spec_cmac_sm4.
* cipher/mac.c (mac_list, mac_list_algo201): Add cmac SM4.
* cipher/sm4.c: New.
* configure.ac (available_ciphers): Add sm4.
* doc/gcrypt.texi: Add SM4 document.
* src/cipher.h: Add declarations for SM4 and cmac SM4.
* src/gcrypt.h.in (gcry_cipher_algos): Add algorithm ID for SM4.
--
Signed-off-by: Tianjia Zhang <tianjia.zhang@linux.alibaba.com>
[jk: add missing mapping in mac-cmac.c:map_mac_algo_to_cipher]
[jk: add GCRY_MAC_CMAC_SM4 to gcrypt.texi]
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
Diffstat (limited to 'cipher/mac-cmac.c')
-rw-r--r-- | cipher/mac-cmac.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cipher/mac-cmac.c b/cipher/mac-cmac.c index aee5bb63..120fa3df 100644 --- a/cipher/mac-cmac.c +++ b/cipher/mac-cmac.c @@ -57,6 +57,8 @@ map_mac_algo_to_cipher (int mac_algo) return GCRY_CIPHER_RFC2268_128; case GCRY_MAC_CMAC_GOST28147: return GCRY_CIPHER_GOST28147; + case GCRY_MAC_CMAC_SM4: + return GCRY_CIPHER_SM4; } } @@ -225,3 +227,9 @@ gcry_mac_spec_t _gcry_mac_type_spec_cmac_gost28147 = { &cmac_ops }; #endif +#if USE_SM4 +gcry_mac_spec_t _gcry_mac_type_spec_cmac_sm4 = { + GCRY_MAC_CMAC_SM4, {0, 0}, "CMAC_SM4", + &cmac_ops +}; +#endif |