### 8.1 Available MAC algorithms ¶

`GCRY_MAC_NONE`

  This is not a real algorithm but used by some functions as an error return value. This constant is guaranteed to have the value `0`.

`GCRY_MAC_HMAC_SHA256`

  This is keyed-hash message authentication code (HMAC) message authentication algorithm based on the SHA-256 hash algorithm.

`GCRY_MAC_HMAC_SHA224`

  This is HMAC message authentication algorithm based on the SHA-224 hash algorithm.

`GCRY_MAC_HMAC_SHA512`

  This is HMAC message authentication algorithm based on the SHA-512 hash algorithm.

`GCRY_MAC_HMAC_SHA384`

  This is HMAC message authentication algorithm based on the SHA-384 hash algorithm.

`GCRY_MAC_HMAC_SHA3_256`

  This is HMAC message authentication algorithm based on the SHA3-256 hash algorithm.

`GCRY_MAC_HMAC_SHA3_224`

  This is HMAC message authentication algorithm based on the SHA3-224 hash algorithm.

`GCRY_MAC_HMAC_SHA3_512`

  This is HMAC message authentication algorithm based on the SHA3-512 hash algorithm.

`GCRY_MAC_HMAC_SHA3_384`

  This is HMAC message authentication algorithm based on the SHA3-384 hash algorithm.

`GCRY_MAC_HMAC_SHA512_224`

  This is HMAC message authentication algorithm based on the SHA-512/224 hash algorithm.

`GCRY_MAC_HMAC_SHA512_256`

  This is HMAC message authentication algorithm based on the SHA-512/256 hash algorithm.

`GCRY_MAC_HMAC_SHA1`

  This is HMAC message authentication algorithm based on the SHA-1 hash algorithm.

`GCRY_MAC_HMAC_MD5`

  This is HMAC message authentication algorithm based on the MD5 hash algorithm.

`GCRY_MAC_HMAC_MD4`

  This is HMAC message authentication algorithm based on the MD4 hash algorithm.

`GCRY_MAC_HMAC_RMD160`

  This is HMAC message authentication algorithm based on the RIPE-MD-160 hash algorithm.

`GCRY_MAC_HMAC_WHIRLPOOL`

  This is HMAC message authentication algorithm based on the WHIRLPOOL hash algorithm.

`GCRY_MAC_HMAC_GOSTR3411_94`

  This is HMAC message authentication algorithm based on the GOST R 34.11-94 hash algorithm.

`GCRY_MAC_HMAC_STRIBOG256`

  This is HMAC message authentication algorithm based on the 256-bit hash algorithm described in GOST R 34.11-2012.

`GCRY_MAC_HMAC_STRIBOG512`

  This is HMAC message authentication algorithm based on the 512-bit hash algorithm described in GOST R 34.11-2012.

`GCRY_MAC_HMAC_BLAKE2B_512`

  This is HMAC message authentication algorithm based on the BLAKE2b-512 hash algorithm.

`GCRY_MAC_HMAC_BLAKE2B_384`

  This is HMAC message authentication algorithm based on the BLAKE2b-384 hash algorithm.

`GCRY_MAC_HMAC_BLAKE2B_256`

  This is HMAC message authentication algorithm based on the BLAKE2b-256 hash algorithm.

`GCRY_MAC_HMAC_BLAKE2B_160`

  This is HMAC message authentication algorithm based on the BLAKE2b-160 hash algorithm.

`GCRY_MAC_HMAC_BLAKE2S_256`

  This is HMAC message authentication algorithm based on the BLAKE2s-256 hash algorithm.

`GCRY_MAC_HMAC_BLAKE2S_224`

  This is HMAC message authentication algorithm based on the BLAKE2s-224 hash algorithm.

`GCRY_MAC_HMAC_BLAKE2S_160`

  This is HMAC message authentication algorithm based on the BLAKE2s-160 hash algorithm.

`GCRY_MAC_HMAC_BLAKE2S_128`

  This is HMAC message authentication algorithm based on the BLAKE2s-128 hash algorithm.

`GCRY_MAC_HMAC_SM3`

  This is HMAC message authentication algorithm based on the SM3 hash algorithm.

`GCRY_MAC_CMAC_AES`

  This is CMAC (Cipher-based MAC) message authentication algorithm based on the AES block cipher algorithm.

`GCRY_MAC_CMAC_3DES`

  This is CMAC message authentication algorithm based on the three-key EDE Triple-DES block cipher algorithm.

`GCRY_MAC_CMAC_CAMELLIA`

  This is CMAC message authentication algorithm based on the Camellia block cipher algorithm.

`GCRY_MAC_CMAC_CAST5`

  This is CMAC message authentication algorithm based on the CAST128-5 block cipher algorithm.

`GCRY_MAC_CMAC_BLOWFISH`

  This is CMAC message authentication algorithm based on the Blowfish block cipher algorithm.

`GCRY_MAC_CMAC_TWOFISH`

  This is CMAC message authentication algorithm based on the Twofish block cipher algorithm.

`GCRY_MAC_CMAC_SERPENT`

  This is CMAC message authentication algorithm based on the Serpent block cipher algorithm.

`GCRY_MAC_CMAC_SEED`

  This is CMAC message authentication algorithm based on the SEED block cipher algorithm.

`GCRY_MAC_CMAC_RFC2268`

  This is CMAC message authentication algorithm based on the Ron’s Cipher 2 block cipher algorithm.

`GCRY_MAC_CMAC_IDEA`

  This is CMAC message authentication algorithm based on the IDEA block cipher algorithm.

`GCRY_MAC_CMAC_GOST28147`

  This is CMAC message authentication algorithm based on the GOST 28147-89 block cipher algorithm.

`GCRY_MAC_CMAC_SM4`

  This is CMAC message authentication algorithm based on the SM4 block cipher algorithm.

`GCRY_MAC_CMAC_ARIA`

  This is CMAC message authentication algorithm based on the ARIA block cipher algorithm.

`GCRY_MAC_GMAC_AES`

  This is GMAC (GCM mode based MAC) message authentication algorithm based on the AES block cipher algorithm.

`GCRY_MAC_GMAC_CAMELLIA`

  This is GMAC message authentication algorithm based on the Camellia block cipher algorithm.

`GCRY_MAC_GMAC_TWOFISH`

  This is GMAC message authentication algorithm based on the Twofish block cipher algorithm.

`GCRY_MAC_GMAC_SERPENT`

  This is GMAC message authentication algorithm based on the Serpent block cipher algorithm.

`GCRY_MAC_GMAC_SEED`

  This is GMAC message authentication algorithm based on the SEED block cipher algorithm.

`GCRY_MAC_GMAC_SM4`

  This is GMAC message authentication algorithm based on the SM4 block cipher algorithm.

`GCRY_MAC_GMAC_ARIA`

  This is GMAC message authentication algorithm based on the ARIA block cipher algorithm.

`GCRY_MAC_POLY1305`

  This is plain Poly1305 message authentication algorithm, used with one-time key.

`GCRY_MAC_POLY1305_AES`

  This is Poly1305-AES message authentication algorithm, used with key and one-time nonce.

`GCRY_MAC_POLY1305_CAMELLIA`

  This is Poly1305-Camellia message authentication algorithm, used with key and one-time nonce.

`GCRY_MAC_POLY1305_TWOFISH`

  This is Poly1305-Twofish message authentication algorithm, used with key and one-time nonce.

`GCRY_MAC_POLY1305_SERPENT`

  This is Poly1305-Serpent message authentication algorithm, used with key and one-time nonce.

`GCRY_MAC_POLY1305_SEED`

  This is Poly1305-SEED message authentication algorithm, used with key and one-time nonce.

`GCRY_MAC_POLY1305_SM4`

  This is Poly1305-SM4 message authentication algorithm, used with key and one-time nonce.

`GCRY_MAC_POLY1305_ARIA`

  This is Poly1305-ARIA message authentication algorithm, used with key and one-time nonce.

`GCRY_MAC_GOST28147_IMIT`

  This is MAC construction defined in GOST 28147-89 (see RFC 5830 Section 8).