STRUCT SKCIPHER_REQUEST(9)
π¦ struct skcipher_request(9) π¦
okay so this is straight out of the Kernel API Manual, and today's main character is struct skcipher_request β literally the request object for symmetric key ciphers. bestie, this is the thing you hand to the kernel when you're like "hey. encrypt this. or decrypt this. idk you decide." π
β¨ NAME β¨
struct skcipher_request β Symmetric key cipher request π
πΈ SYNOPSIS πΈ
struct skcipher_request {
unsigned int cryptlen;
u8 *iv;
struct scatterlist *src;
struct scatterlist *dst;
struct crypto_async_request base;
void *__ctx[];
};
look at her. she's iconic. she's a struct. no cap, this is the whole shape of it, character for character, don't touch anything π
π«Ά Members π«Ά
cryptlenβ the number of bytes to encrypt or decrypt. so like, how much crypto we're doing. the byte count, periodt. πivβ the Initialisation Vector. yes, that IV. the lil random-ish starting block that makes your cipher not boring and repetitive πsrcβ the Source SG list (scatterlist). where the data's coming from πdstβ the Destination SG list (scatterlist). where the data's going to π«baseβ the underlying async request, of typestruct crypto_async_request. this is the async plumbing underneath, the backstage crew of the whole operation π¬__ctxβ start of private context data. it's an array (void *__ctx[]), and it's where the private stuff begins. iykyk π₯
π SEE ALSO π
like, go read these too, they're all in the Kernel file ./include/crypto/skcipher.h:
struct skcipher_alg(9)struct lskcipher_alg(9)Symmetric Key Cipher API(9)crypto_alloc_skcipher(9)crypto_alloc_lskcipher(9)crypto_free_skcipher(9)crypto_free_lskcipher(9)crypto_has_skcipher(9)crypto_skcipher_ivsize(9)crypto_lskcipher_ivsize(9)crypto_skcipher_blocksize(9)crypto_lskcipher_blocksize(9)crypto_skcipher_chunksize(9)crypto_lskcipher_chunksize(9)crypto_skcipher_statesize(9)crypto_lskcipher_statesize(9)crypto_skcipher_setkey(9)crypto_lskcipher_setkey(9)crypto_skcipher_reqtfm(9)crypto_skcipher_encrypt(9)crypto_skcipher_decrypt(9)crypto_skcipher_export(9)crypto_skcipher_import(9)crypto_lskcipher_encrypt(9)crypto_lskcipher_decrypt(9)Symmetric Key Cipher Request Handle(9)crypto_skcipher_reqsize(9)skcipher_request_set_tfm(9)skcipher_request_alloc(9)skcipher_request_free(9)skcipher_request_set_callback(9)skcipher_request_set_crypt(9)
that's the whole friend group, go say hi π
lowkey a whole reading list, but that's what the kernel docs are for bestie π§ study up!
and that's the page!! this one lives in ./include/crypto and it's dated October 2026 β mwah, bye, go encrypt something 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