STRUCT POLYVAL_ELEM(9)
π struct polyval_elem(9) π
okay so bestie, welcome to the Kernel API Manual β this page is literally all about struct polyval_elem, and it's genuinely not as scary as it sounds, i promise π«Ά
β¨ NAME β¨
struct polyval_elem β an element of the POLYVAL finite field πΈ
π SYNOPSIS π
struct polyval_elem {
union {
u8 bytes[POLYVAL_BLOCK_SIZE];
struct {
__le64 lo;
__le64 hi;
};
};
};
like, that's the whole vibe. a union of a union, living its best life π
π¦ MEMBERS π¦
{unnamed_union}β anonymous, no name, no notes, it's giving mysterious main character energy πbytesβ the element seen as a byte array (it's unioned withloandhi, so same memory, different outfit π ){unnamed_struct}β also anonymous, also iconic, also unnamed πloβ the low 64 terms of the element's polynomial β¨hiβ the high 64 terms of the element's polynomial β¨
π DESCRIPTION π
so this struct represents, like, one single element of the finite field GF(2^128) π₯
and it does it the POLYVAL way: little-endian byte order and natural bit order. no cap, that's the convention, that's the whole thing, periodt π
π SEE ALSO π
Kernel file ./include/crypto/gf128hash.h:
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)ghash_final(9)polyval_final(9)ghash(9)polyval(9)
ngl bestie, read the whole gf128hash.h family before you go poking at the raw bytes β the import/export helpers exist for a reason π
okay that's the page!! this one came from ./include/crypto and it's dated October 2026, aka the future, aka she's ahead of her time π§ββοΈβ¨ mwah, go slay your finite field math π
π
π¦ 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