MESSAGE DIGEST ALGORITHM DEFINITIONS(9)
π Message Digest Algorithm Definitions π
okay bestie, welcome to the Kernel API Manual β¨ this page is short and sweet and it's giving "backstage pass to the hash world" π
πΈ DESCRIPTION πΈ
so like, these data structures are literally the blueprint for modular message digest algorithm implementations π they're the whole vibe β you define your digest algorithm in a nice lil modular way, and the kernel handles all the registration drama for you.
who manages them? these four icons, that's who π
crypto_register_ahashβ signs your async hash algo up for the roster π«crypto_register_shashβ same energy, but for the synchronous girlies π¦crypto_unregister_ahashβ yep, taking the async one back off the roster πcrypto_unregister_shashβ and the synchronous one too, bye bestie π
that's the entire description, no cap β the actual struct definitions live over in the headers and the per-API pages, so go click through the list below β¬οΈ
β¨ SEE ALSO β¨
first up, the actual file you're gonna wanna open, no cap π
./include/crypto/hash.hβ Kernel file, the mothership π
then the two struct pages, the main character energy of this whole page π
struct ahash_alg(9)struct shash_alg(9)
π¦ Asynchronous Message Digest API(9) β the async girlies π¦
Asynchronous Message Digest API(9)β the whole async family, start here π«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) β the request squad π
Asynchronous Hash Request Handle(9)β the request object itself, icon behavior π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)
π Synchronous Message Digest API(9) β the sync girlies π
Synchronous Message Digest API(9)β the whole sync family, your next stop π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)
fr fr that's every single reference, don't skip any of them, iykyk π«Ά
mwah, that's the whole page bestie ππ it lives at ./include/crypto and it's dated October 2026 β go forth and hash, you're gonna slay βπ
π¦ 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