linux/include/crypto
Thomas Huth 97560fd98d lib/crypto: blake2: Provide functions for zeroizing blake2*_ctx structures
In certain cases crypto code needs to zeroize their local blake2b_ctx
or blake2s_ctx structures after use to avoid leaking sensitive material.
Provide blake2b_zeroize_ctx() and blake2s_zeroize_ctx() helper functions
that e.g. can be used with __cleanup() to automatically zeroize the
structures when they go out of scope.

While we're at it, replace the related memzero_explicit() calls in
lib/crypto/blake2*.c with calls to the new helper functions.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Link: https://patch.msgid.link/20260916095022.604354-8-thuth@redhat.com
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
2026-09-30 09:33:54 -07:00
..
internal crypto: ecdsa - Fix typo in function documentation 2026-08-10 18:28:56 +10:00
acompress.h crypto: acomp - repair kernel-doc warnings 2026-03-07 14:12:20 +09:00
aead.h crypto: aead - Add support for on-stack AEAD req allocation 2025-10-31 17:43:56 +08:00
aes-cbc-macs.h lib/crypto: aes-cmac: Add zeroization functions 2026-08-10 20:13:41 -07:00
aes-cbc.h lib/crypto: aes: Add CBC and CBC-CTS support 2026-07-19 17:34:16 -07:00
aes-ccm.h lib/crypto: aes-ccm: Provide functions for zeroizing aes_ccm* structures 2026-09-30 09:33:54 -07:00
aes-ctr.h lib/crypto: aes: Add CTR and XCTR support 2026-07-19 17:34:16 -07:00
aes-ecb.h lib/crypto: aes: Add ECB support 2026-07-19 17:34:16 -07:00
aes-gcm.h lib/crypto: aes-gcm: Provide functions for zeroizing aes_gcm* structures 2026-09-30 09:33:54 -07:00
aes-xts.h lib/crypto: aes-xts: Provide function for zeroizing aes_xts_key 2026-09-30 09:33:54 -07:00
aes.h lib/crypto: aes: Provide functions for zeroizing aes_key and aes_enckey 2026-09-30 09:33:54 -07:00
akcipher.h crypto: akcipher - Drop sign/verify operations 2024-10-05 13:22:04 +08:00
algapi.h Revert "crypto: scatterwalk - Move skcipher walk and use it for memcpy_sglist" 2025-11-22 10:04:50 +08:00
arc4.h
aria.h crypto: Prepare to move crypto_tfm_ctx 2022-12-02 18:12:40 +08:00
authenc.h crypto: Add 'krb5enc' hash and cipher AEAD algorithm 2025-03-02 21:39:34 +00:00
b128ops.h cyrpto/b128ops: Remove struct u128 2023-06-05 09:36:35 +02:00
blake2b.h lib/crypto: blake2: Provide functions for zeroizing blake2*_ctx structures 2026-09-30 09:33:54 -07:00
blake2s.h lib/crypto: blake2: Provide functions for zeroizing blake2*_ctx structures 2026-09-30 09:33:54 -07:00
blowfish.h
cast_common.h
cast5.h
cast6.h
chacha.h lib/crypto: chacha: Add at_least decoration to fixed-size array params 2025-11-23 12:19:47 -08:00
chacha20poly1305.h lib/crypto: tests: Migrate ChaCha20Poly1305 self-test to KUnit 2026-03-30 12:35:30 -07:00
cryptd.h crypto: cryptd - Remove unused functions 2026-03-27 18:52:44 +09:00
ctr.h crypto: ctr - Remove unnecessary header inclusions 2025-04-16 15:16:21 +08:00
curve25519.h lib/crypto: curve25519: Add at_least decoration to fixed-size array params 2025-11-23 12:19:47 -08:00
des.h crypto: des - fix all kernel-doc warnings 2026-03-07 14:12:20 +09:00
dh.h crypto: dh - split out deserialization code from crypto_dh_decode() 2022-03-03 10:47:50 +12:00
ecc_curve.h crypto: ecc - Add nbits field to ecc_curve structure 2024-04-12 15:07:52 +08:00
ecdh.h crypto: ecc - Add NIST P521 curve parameters 2024-04-12 15:07:52 +08:00
engine.h crypto: engine - remove request batching support 2025-07-18 20:52:00 +10:00
gcm.h lib/crypto: aesgcm: Remove old AES-GCM library 2026-07-23 09:30:30 -07:00
gf128hash.h lib/crypto: gf128hash: Remove unused content from ghash.h 2026-03-23 16:44:30 -07:00
gf128mul.h lib/crypto: gf128mul: Remove unused 4k_lle functions 2026-03-23 16:44:30 -07:00
ghash.h lib/crypto: gf128hash: Remove unused content from ghash.h 2026-03-23 16:44:30 -07:00
hash_info.h crypto: FIPS 202 SHA-3 register in hash info for IMA 2023-10-27 18:04:30 +08:00
hash.h crypto: hash - Remove support for cloning hash tfms 2026-05-28 17:45:45 -07:00
hmac.h
if_alg.h crypto: af_alg - Replace 'bool privileged' with flags 2026-08-10 18:34:21 +10:00
kdf_sp800108.h
kpp.h crypto: remove CONFIG_CRYPTO_STATS 2024-04-02 10:49:38 +08:00
krb5.h crypto/krb5, rxrpc: Fix lack of pre-decrypt/pre-verify length checks 2026-05-20 16:36:45 -07:00
md5.h lib/crypto: md5: Provide functions for zeroizing hmac_md5 structures 2026-09-30 09:33:54 -07:00
mldsa.h lib/crypto: mldsa: Clarify the documentation for mldsa_verify() slightly 2026-02-03 19:28:51 -08:00
nh.h lib/crypto: nh: Add NH library 2026-01-12 11:07:49 -08:00
null.h crypto: null - remove the default null skcipher 2025-05-12 13:32:53 +08:00
padlock.h
pcrypt.h crypto: api - Replace kernel.h with the necessary inclusions 2021-12-17 16:59:48 +11:00
pkcs7.h
poly1305.h lib/crypto: poly1305: Add at_least decoration to fixed-size array params 2025-11-23 12:19:47 -08:00
public_key.h pkcs7: Allow the signing algo to do whatever digestion it wants itself 2026-01-30 11:33:19 +00:00
rng.h crypto: rng - Make crypto_stdrng_get_bytes() use normal RNG in non-FIPS mode 2026-04-03 08:56:12 +08:00
scatterwalk.h Revert "crypto: scatterwalk - Move skcipher walk and use it for memcpy_sglist" 2025-11-22 10:04:50 +08:00
serpent.h
sha1.h lib/crypto: sha1: Remove low-level functions from API 2026-01-27 15:47:41 -08:00
sha2.h lib/crypto: sha2: Add at_least decoration to fixed-size array params 2025-11-23 12:19:47 -08:00
sha3.h crypto: sha3 - Reimplement using library API 2025-11-05 20:30:51 -08:00
sig.h crypto: ecdsa - Fix NIST P521 key size reported by KEYCTL_PKEY_QUERY 2025-04-16 15:16:21 +08:00
skcipher.h crypto: add missing kernel-doc for anonymous union members 2026-03-22 11:17:59 +09:00
sm3.h lib/crypto: sm3: Provide a function for zeroizing the sm3_ctx structure 2026-09-30 09:33:54 -07:00
sm4.h crypto: sm4 - export sm4 constant arrays 2022-04-08 16:12:46 +08:00
streebog.h crypto: streebog - Use API partial block handling 2025-05-05 18:20:44 +08:00
twofish.h
utils.h move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
xts.h crypto: xts - Split out __xts_verify_key() helper 2026-07-19 17:34:16 -07:00