1*e9af4f47SEric Biggers.. SPDX-License-Identifier: GPL-2.0-or-later 2*e9af4f47SEric Biggers 3*e9af4f47SEric BiggersHash functions, MACs, and XOFs 4*e9af4f47SEric Biggers============================== 5*e9af4f47SEric Biggers 6*e9af4f47SEric BiggersAES-CMAC and AES-XCBC-MAC 7*e9af4f47SEric Biggers------------------------- 8*e9af4f47SEric Biggers 9*e9af4f47SEric BiggersSupport for the AES-CMAC and AES-XCBC-MAC message authentication codes. 10*e9af4f47SEric Biggers 11*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/aes-cbc-macs.h 12*e9af4f47SEric Biggers 13*e9af4f47SEric BiggersBLAKE2b 14*e9af4f47SEric Biggers------- 15*e9af4f47SEric Biggers 16*e9af4f47SEric BiggersSupport for the BLAKE2b cryptographic hash function. 17*e9af4f47SEric Biggers 18*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/blake2b.h 19*e9af4f47SEric Biggers 20*e9af4f47SEric BiggersBLAKE2s 21*e9af4f47SEric Biggers------- 22*e9af4f47SEric Biggers 23*e9af4f47SEric BiggersSupport for the BLAKE2s cryptographic hash function. 24*e9af4f47SEric Biggers 25*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/blake2s.h 26*e9af4f47SEric Biggers 27*e9af4f47SEric BiggersGHASH and POLYVAL 28*e9af4f47SEric Biggers----------------- 29*e9af4f47SEric Biggers 30*e9af4f47SEric BiggersSupport for the GHASH and POLYVAL universal hash functions. These algorithms 31*e9af4f47SEric Biggersare used only as internal components of other algorithms. 32*e9af4f47SEric Biggers 33*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/gf128hash.h 34*e9af4f47SEric Biggers 35*e9af4f47SEric BiggersMD5 36*e9af4f47SEric Biggers--- 37*e9af4f47SEric Biggers 38*e9af4f47SEric BiggersSupport for the MD5 cryptographic hash function and HMAC-MD5. This algorithm is 39*e9af4f47SEric Biggersobsolete and is supported only for backwards compatibility. 40*e9af4f47SEric Biggers 41*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/md5.h 42*e9af4f47SEric Biggers 43*e9af4f47SEric BiggersNH 44*e9af4f47SEric Biggers-- 45*e9af4f47SEric Biggers 46*e9af4f47SEric BiggersSupport for the NH universal hash function. This algorithm is used only as an 47*e9af4f47SEric Biggersinternal component of other algorithms. 48*e9af4f47SEric Biggers 49*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/nh.h 50*e9af4f47SEric Biggers 51*e9af4f47SEric BiggersPoly1305 52*e9af4f47SEric Biggers-------- 53*e9af4f47SEric Biggers 54*e9af4f47SEric BiggersSupport for the Poly1305 universal hash function. This algorithm is used only 55*e9af4f47SEric Biggersas an internal component of other algorithms. 56*e9af4f47SEric Biggers 57*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/poly1305.h 58*e9af4f47SEric Biggers 59*e9af4f47SEric BiggersSHA-1 60*e9af4f47SEric Biggers----- 61*e9af4f47SEric Biggers 62*e9af4f47SEric BiggersSupport for the SHA-1 cryptographic hash function and HMAC-SHA1. This algorithm 63*e9af4f47SEric Biggersis obsolete and is supported only for backwards compatibility. 64*e9af4f47SEric Biggers 65*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/sha1.h 66*e9af4f47SEric Biggers 67*e9af4f47SEric BiggersSHA-2 68*e9af4f47SEric Biggers----- 69*e9af4f47SEric Biggers 70*e9af4f47SEric BiggersSupport for the SHA-2 family of cryptographic hash functions, including SHA-224, 71*e9af4f47SEric BiggersSHA-256, SHA-384, and SHA-512. This also includes their corresponding HMACs: 72*e9af4f47SEric BiggersHMAC-SHA224, HMAC-SHA256, HMAC-SHA384, and HMAC-SHA512. 73*e9af4f47SEric Biggers 74*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/sha2.h 75*e9af4f47SEric Biggers 76*e9af4f47SEric BiggersSHA-3 77*e9af4f47SEric Biggers----- 78*e9af4f47SEric Biggers 79*e9af4f47SEric BiggersThe SHA-3 functions are documented in :ref:`sha3`. 80*e9af4f47SEric Biggers 81*e9af4f47SEric BiggersSM3 82*e9af4f47SEric Biggers--- 83*e9af4f47SEric Biggers 84*e9af4f47SEric BiggersSupport for the SM3 cryptographic hash function. 85*e9af4f47SEric Biggers 86*e9af4f47SEric Biggers.. kernel-doc:: include/crypto/sm3.h 87