STRUCT GHASH_KEY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 key H, in GHASH format. πŸ¦‹
  • h β€” the hash key H, 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:


that's the whole page, bestie 🫢 source/version: ./include/crypto Β· date: October 2026 Β· page: struct ghash_key(9) β€” bye! πŸ’…

πŸ“¦ where this page comes from