STRUCT CCP_RSA_ENGINE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ccp_rsa_engine β€” CCP RSA operation πŸ’–

okay bestie, so this is a page from the Kernel API Manual (section 9, kernel API land ✨), and it's all about struct ccp_rsa_engine β€” literally the struct that describes one RSA operation for the CCP. it's giving "small struct, big cryptography energy" πŸ’…


✨ SYNOPSIS ✨

struct ccp_rsa_engine {
    u32 key_size;
    struct scatterlist *exp;
    u32 exp_len;
    struct scatterlist *mod;
    u32 mod_len;
    struct scatterlist *src, *dst;
    u32 src_len;
 };

(yes the closing brace has a lil space before it in the original, we're keeping it exactly as-is, no cap 🫢)


πŸŽ€ Members πŸŽ€

  • key_size β€” the length of the RSA key, in bits πŸ”‘
  • exp β€” the RSA exponent, as a scatterlist pointer
  • exp_len β€” how long the exponent is, in bytes
  • mod β€” the RSA modulus (scatterlist pointer, of course)
  • mod_len β€” how long the modulus is, in bytes
  • src β€” the data that's gonna be used for this operation 🌸
  • dst β€” the data that gets produced by this operation ✨
  • src_len β€” the length, in bytes, of the data used for this operation

πŸ’œ Description πŸ’œ

so here's the vibe check: these are the variables you have to have set before you call ccp_enqueue_cmd. that's it, that's the whole rule. no defaults, no autopilot, you set them all yourself bestie πŸ™ˆ

the required lineup is:

  • key_size, exp, exp_len, mod, mod_len, src, dst, src_len

literally all of them. every single one. don't skip any, the kernel will not be slaying on your behalf 😭


πŸ¦‹ SEE ALSO πŸ¦‹

kernel file ./include/linux/ccp.h β€” go read it, iykyk πŸ“–

and the whole friend group of related pages:

  • ccp_present(9)
  • ccp_version(9)
  • ccp_enqueue_cmd(9)
  • struct ccp_aes_engine(9)
  • struct ccp_xts_aes_engine(9)
  • struct ccp_sha_engine(9)
  • struct ccp_des3_engine(9)
  • struct ccp_passthru_engine(9)
  • struct ccp_passthru_nomap_engine(9)
  • struct ccp_ecc_modular_math(9)
  • struct ccp_ecc_point(9)
  • struct ccp_ecc_point_math(9)
  • struct ccp_ecc_engine(9)
  • struct ccp_cmd(9)

one tiny flex before you go: src and dst are declared together on one line as struct scatterlist *src, *dst; β€” that's canon, don't come for me πŸ’€

and that's the whole page, bestie!! 🌈 this one lives in ./include/linux and it's dated October 2026, and the page itself is titled struct ccp_rsa_engine(9) β€” mwah, iconic, go set your fields πŸ’–πŸŽ€πŸ«Ά

πŸ“¦ where this page comes from