STRUCT GHASH_KEY(9)
π struct ghash_key π
okay bestie, welcome to the struct ghash_key page from the Kernel API Manual β this is literally the prepared key for GHASH, and we're about to go through every single detail together. no cap, no skipped members. β¨
πΈ NAME πΈ
struct ghash_key β Prepared key for GHASH π
π SYNOPSIS π
okay so here's the struct, and I'm keeping the preprocessor branches exactly as they are because they matter, bestie:
struct ghash_key {
#if defined(CONFIG_CRYPTO_LIB_GF128HASH_ARCH) &&
defined(CONFIG_PPC64);
u64 htable[4][2];
#elif defined(CONFIG_CRYPTO_LIB_GF128HASH_ARCH) &&
(defined(CONFIG_RISCV) || defined(CONFIG_S390));
u8 h_raw[GHASH_BLOCK_SIZE];
#endif;
struct polyval_elem h;
};
π Members π
htableβ the GHASH key format used by the POWER8 assembly code. iconic. π₯h_rawβ the hash keyH, in GHASH format. π¦hβ the hash keyH, in POLYVAL format. πΈ
π Description π
okay so the move here is simple: use ghash_preparekey to initialize this. that's the instruction, bestie β literally initialize it with ghash_preparekey. π«Ά
π¦ SEE ALSO π¦
Kernel file: ./include/crypto/gf128hash.h
also go check out these icons, in this exact order:
struct polyval_elem(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)ghash_final(9)polyval_final(9)ghash(9)polyval(9)
that's the whole page, bestie π«Ά source/version: ./include/crypto Β· date: October 2026 Β· page: struct ghash_key(9) β bye! π
π¦ 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