hmac_sha384_preparekey(9)
π hmac_sha384_preparekey β like, the whole manual page, bestie
okay so this is hmac_sha384_preparekey(9) from the Kernel API Manual, and yes it's a whole kernel function, and yes you're gonna understand it. let's go π«Ά
β¨ NAME β¨
hmac_sha384_preparekey β get a key all set up and ready for HMAC-SHA384, periodt π
π SYNOPSIS π
void hmac_sha384_preparekey (struct hmac_sha384_key *key , const u8
*raw_key , size_t raw_key_len );
that's the whole vibe. it returns void, so likeβ¦ it doesn't hand anything back, it just does the thing π¦
πΈ ARGUMENTS πΈ
keyβ (output) this is the key structure you're initializing. it's the glow-up destination, bestie β¨raw_keyβ the raw HMAC-SHA384 key, in all its unprocessed glory πraw_key_lenβ the key length in bytes. and listen β all key lengths are supported. no minimum, no "oops too short", none of that. every length slays π
π§ NOTE π§
β οΈ the caller is responsible for zeroizing both the struct hmac_sha384_key and the raw key once they are no longer needed.
like, fr fr, that's on you. don't just leave your key material chilling in memory, that's not the move π
π CONTEXT π
Any context. literally any. she's flexible like that π
β SEE ALSO β
okay this list is long and it ATE, so buckle up π β Kernel file ./include/crypto/sha2.h, struct sha224_ctx(9), sha224_init(9), sha224_update(9), sha224_final(9), sha224(9), struct hmac_sha224_key(9), struct hmac_sha224_ctx(9), hmac_sha224_preparekey(9), hmac_sha224_init(9), hmac_sha224_init_usingrawkey(9), hmac_sha224_update(9), hmac_sha224_final(9), hmac_sha224(9), hmac_sha224_usingrawkey(9), struct sha256_ctx(9), sha256_init(9), sha256_update(9), sha256_final(9), sha256(9), sha256_finup_2x(9), sha256_finup_2x_is_optimized(9), struct hmac_sha256_key(9), struct hmac_sha256_ctx(9), hmac_sha256_preparekey(9), hmac_sha256_init(9), hmac_sha256_init_usingrawkey(9), hmac_sha256_update(9), hmac_sha256_final(9), hmac_sha256(9), hmac_sha256_usingrawkey(9), struct sha384_ctx(9), sha384_init(9), sha384_update(9), sha384_final(9), sha384(9), struct hmac_sha384_key(9), struct hmac_sha384_ctx(9), hmac_sha384_init(9), hmac_sha384_init_usingrawkey(9), hmac_sha384_update(9), hmac_sha384_final(9), hmac_sha384(9), hmac_sha384_usingrawkey(9), struct sha512_ctx(9), sha512_init(9), sha512_update(9), sha512_final(9), sha512(9), struct hmac_sha512_key(9), struct hmac_sha512_ctx(9), hmac_sha512_preparekey(9), hmac_sha512_init(9), hmac_sha512_init_usingrawkey(9), hmac_sha512_update(9), hmac_sha512_final(9), hmac_sha512(9), hmac_sha512_usingrawkey(9).
like I said. iconic. π
π one little thing before you go β this page lives in./include/crypto, it's from October 2026, and it's part of the Kernel API Manual (that's thehmac_sha384_preparekey(9)bit at the top and bottom, iykyk). go zeroize your keys, bestie. mwah ππ
π¦ 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