ghash_final(9)
π NAME π
Okay bestie, this is ghash_final(9) from the Kernel API Manual, and its whole job is: finish computing a GHASH value. That's it. That's the assignment. π
β¨
πΈ SYNOPSIS πΈ
void ghash_final (struct ghash_ctx *ctx , u8 out[GHASH_BLOCK_SIZE] );
π¦ ARGUMENTS π¦
ctxβ the context you're finalizing, bestie. π«Άoutβ the output value. That's where the final result goes. π
β¨ DESCRIPTION β¨
So here's the vibe: if the total data length isn't a multiple of GHASH_BLOCK_SIZE, then the final block is automatically zero-padded. No cap, it just handles that for you. π§
After it finishes, this zeroizes ctx. So the caller does not need to do it. Like, don't double-zero, bestie β it's already done. π
π CONTEXT π
Any context. Periodt. β¨
π₯ SEE ALSO π₯
Kernel file first: ./include/crypto/gf128hash.h β and then these iconic little references:
struct polyval_elem(9)struct ghash_key(9)struct polyval_key(9)struct ghash_ctx(9)struct polyval_ctx(9)ghash_preparekey(9)polyval_preparekey(9)ghash_init(9)polyval_init(9)polyval_import_blkaligned(9)polyval_export_blkaligned(9)ghash_update(9)polyval_update(9)polyval_final(9)ghash(9)polyval(9)
mwah π β this cutie lives in ./include/crypto, dated October 2026. 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