ux500_swizzle_key(9)
πΈ NAME πΈ
okay bestie, welcome to the ux500_swizzle_key(9) page from the Kernel API Manual β¨ this one is literally called ux500_swizzle_key, and its whole vibe is: shuffle around words and bits in the AES key π
π¦ SYNOPSIS π¦
void ux500_swizzle_key (const u8 *in , u8 *out , u32 len );
π ARGUMENTS π
inβ the key to swizzle πoutβ the swizzled key πlenβ length of key, in bytes π
π₯ DESCRIPTION π₯
So this "key swizzling procedure" is described in the examples in the DB8500 design specification. That's the source, periodt.
And ngl, there is no real description of why the bits have been arranged like this in the hardware π like the hardware said "trust me bestie" and gave us no explanation. The signature is void, so there's no return value to obsess over.
π SEE ALSO π
- Kernel file
./drivers/crypto/stm32/stm32-cryp.c ux500_swap_bits_in_byte(9)
π cute little sign-off: source/version is ./drivers/crypto/stm32, dated October 2026, and this whole page is still ux500_swizzle_key(9). byeee, go swizzle responsibly π
π¦ 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