summaryrefslogtreecommitdiff
path: root/cipher/mac-cmac.c
diff options
context:
space:
mode:
authorTianjia Zhang <tianjia.zhang@linux.alibaba.com>2020-06-16 17:09:28 +0800
committerJussi Kivilinna <jussi.kivilinna@iki.fi>2020-06-16 21:44:37 +0300
commitddcce166ab8bc6f51f5b509bcbea13a8746384ec (patch)
tree31d7d8338be1c2399b4dddc78be6ef0fc90ceedc /cipher/mac-cmac.c
parent6c571bfda6409d7d668f5d44cea0c6c31e2688be (diff)
downloadlibgcrypt-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.c8
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