cnstr_shdsc_chachapoly(9)
π cnstr_shdsc_chachapoly β kernel API manual, bestie edition π
okay so real talk, this is a 9 section page from the Kernel API Manual, and the star of the show is cnstr_shdsc_chachapoly. It builds you a shared descriptor for Chacha20 + Poly1305 generic AEAD (that's rfc7539, iykyk) and for IPsec ESP (that's rfc7634, a.k.a. rfc7539esp). Non-protocol, bestie. It's giving "I just make the descriptor, you take it from here." β¨
πΈ NAME πΈ
cnstr_shdsc_chachapoly β the Chacha20 + Poly1305 generic AEAD (rfc7539) and IPsec ESP (rfc7634, a.k.a. rfc7539esp) shared descriptor builder (non-protocol). literally her whole job π
β¨ SYNOPSIS β¨
void cnstr_shdsc_chachapoly (u32 * const desc , struct alginfo *cdata ,
struct alginfo *adata , unsigned int ivsize , unsigned int icvsize ,
const bool encap , const bool is_qi );
no return value, she just goes off and does the thing π«Ά
π¦ ARGUMENTS π¦
descβ pointer to the buffer you're using for descriptor construction. this is where the magic gets written, so pls have it ready πcdataβ pointer to the block cipher transform definitions. valid algorithm values areOP_ALG_ALGSEL_CHACHA20ANDed withOP_ALG_AAI_AEAD. that's the combo, no substitutions πadataβ pointer to the authentication transform definitions. valid algorithm values areOP_ALG_ALGSEL_POLY1305ANDed withOP_ALG_AAI_AEAD. same deal, ANDed and iconic βivsizeβ initialization vector size πicvsizeβ integrity check value (ICV) size, and yes it can be truncated or full, your call πencapβtrueif encapsulation,falseif decapsulation. pick a lane bestie πis_qiβtruewhen called from caam/qi πΈ
π₯ SEE ALSO π₯
kernel file ./drivers/crypto/caam/caamalg_desc.c β like, go read her, she's the source fr fr
and the whole friend group, no cap:
cnstr_shdsc_aead_null_encap(9)cnstr_shdsc_aead_null_decap(9)cnstr_shdsc_aead_encap(9)cnstr_shdsc_aead_decap(9)cnstr_shdsc_aead_givencap(9)cnstr_shdsc_gcm_encap(9)cnstr_shdsc_gcm_decap(9)cnstr_shdsc_rfc4106_encap(9)cnstr_shdsc_rfc4106_decap(9)cnstr_shdsc_rfc4543_encap(9)cnstr_shdsc_rfc4543_decap(9)cnstr_shdsc_skcipher_encap(9)cnstr_shdsc_skcipher_decap(9)cnstr_shdsc_xts_skcipher_encap(9)cnstr_shdsc_xts_skcipher_decap(9)
heads up bestie: the algorithm values are strict.OP_ALG_ALGSEL_CHACHA20ANDed withOP_ALG_AAI_AEADforcdata, andOP_ALG_ALGSEL_POLY1305ANDed withOP_ALG_AAI_AEADforadata. don't freestyle, she will not slay π
and that's the whole page, mwah π this icon lives in ./drivers/crypto/caam and this particular printing is the October 2026 edition of cnstr_shdsc_chachapoly(9). go build some descriptors, bestie, you got this π§π
π¦ 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