SYNCHRONOUS MESSAGE DIGEST API(9)
π Synchronous Message Digest API π
okay so bestie, welcome to the Kernel API Manual β this is the Synchronous Message Digest API, and it's lowkey iconic π β¨
Real talk: the synchronous message digest API is the one you use with ciphers of type CRYPTO_ALG_TYPE_SHASH (they're listed as type "shash" in /proc/crypto, iykyk) π¦
The message digest API can literally maintain state information for you, the caller β main character energy fr fr π«Ά
And yes, the synchronous message digest API can store user-related context in its shash_desc request data structure, no cap π
π SEE ALSO π
bestie, here's the whole reading list β every single one, periodt:
- Kernel file
./include/crypto/hash.hβMessage Digest Algorithm Definitions(9) struct ahash_alg(9)struct shash_alg(9)Asynchronous Message Digest API(9)crypto_alloc_ahash(9)crypto_free_ahash(9)crypto_has_ahash(9)crypto_ahash_blocksize(9)crypto_ahash_digestsize(9)crypto_ahash_statesize(9)crypto_ahash_reqtfm(9)crypto_ahash_reqsize(9)crypto_ahash_setkey(9)crypto_ahash_finup(9)crypto_ahash_final(9)crypto_ahash_digest(9)crypto_ahash_export(9)crypto_ahash_import(9)crypto_ahash_init(9)crypto_ahash_update(9)Asynchronous Hash Request Handle(9)ahash_request_set_tfm(9)ahash_request_alloc(9)ahash_request_free(9)ahash_request_set_callback(9)ahash_request_set_crypt(9)ahash_request_set_virt(9)crypto_alloc_shash(9)crypto_free_shash(9)crypto_shash_blocksize(9)crypto_shash_digestsize(9)crypto_shash_descsize(9)crypto_shash_setkey(9)crypto_shash_digest(9)crypto_shash_tfm_digest(9)crypto_shash_export(9)crypto_shash_import(9)crypto_shash_init(9)crypto_shash_finup(9)crypto_shash_update(9)crypto_shash_final(9)
okay that's the whole page, bestie π«Ά β signed off from ./include/crypto, dated October 2026, with the footer still serving Synchronous ...e Digest API(9) realness π
β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms