aes_cbc_cts_decrypt(9)
β¨ aes_cbc_cts_decrypt(9) β NAME β¨
okay so bestie, welcome to the Kernel API Manual π
this page is literally all about aes_cbc_cts_decrypt β the function that decrypts your data using AES-CBC-CTS (the CS3 variant, iykyk π¦). no cap, that's the whole vibe.
πΈ SYNOPSIS πΈ
void aes_cbc_cts_decrypt (u8 *dst , const u8 *src , size_t len , u8
iv[static AES_BLOCK_SIZE] , const struct aes_key *key );
that's the whole signature, periodt π
π ARGUMENTS π
dstβ the destination buffer, aka where the decrypted goodness lands. it can be in-place or out-of-place, both are totally fine π«Ά. but for any other kind of overlap? nope β the behaviour is unspecified π so like, don't do that, bestie, fr fr.srcβ the source data. the ciphertext. the thing you're decrypting. literally the main character of this whole operation π.lenβ number of bytes to decrypt. and listen, it must be at leastAES_BLOCK_SIZEβ no tiny little sliver of a buffer, okay? πivβ the initialization vector. heads up though: it gets clobbered by this function π like it just straight-up gets wrecked in the process, so don't come back expecting to find it the way you left it.keyβ the key. and it has to already be prepared usingaes_preparekeyβ do that first, don't skip ahead π§.
β CONTEXT β
Any context. yup, that's it β anywhere, any context, she's flexible like that π.
π₯ SEE ALSO π₯
- Kernel file
./include/crypto/aes-cbc.h aes_cbc_encrypt(9)aes_cbc_decrypt(9)aes_cbc_cts_encrypt(9)
go read those too if you wanna be an AES-CBC-CTS scholar, ngl π
and finally, the cute lil sign-off π: this page lives under ./include/crypto, and it's dated October 2026 β slay, we love a documented kernel function πβ¨π
π¦ 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