STRUCT POLYVAL_KEY(9)
π struct polyval_key(9) β from the Kernel API Manual π
β¨ NAME β¨
struct polyval_key β Prepared key for POLYVAL. That's the whole vibe, bestie π«Ά.
π¦ SYNOPSIS π¦
okay so the struct is literally this, platform-config conditional and all:
struct polyval_key {
#if defined(CONFIG_CRYPTO_LIB_GF128HASH_ARCH) &&
(defined(CONFIG_ARM64) || defined(CONFIG_X86));
struct polyval_elem h_powers[8];
#else;
struct polyval_elem h;
#endif;
};
π«Ά Members π«Ά
h_powersβ Powers of the hash keyH^8throughH^1. Precomputed powers, slay β¨.hβ The hash keyH. Just the raw key, no cap.
πΈ Description πΈ
Depending on the platform's POLYVAL implementation, this may contain just the raw key H, or it may contain precomputed key powers. Use polyval_preparekey to initialize this. Periodt π
.
By H^i we mean H^(i-1) * H * x^-128, with base case H^1 = H. I.e. the exponentiation repeats the POLYVAL dot operation, with its "extra" x^-128. The way that math is mathing, honestly π₯.
π SEE ALSO π
Kernel file ./include/crypto/gf128hash.h β go read it, bestie. Then these, in the original order:
struct polyval_elem(9)struct ghash_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)
mwah π β this page lives in ./include/crypto, dated October 2026, and it's the struct polyval_key(9) manual page. bye bestie, go initialize your keys π«Άβ¨
π¦ 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