STRUCT CCP_DES3_ENGINE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… NAME πŸ’…

okay so bestie, this is the struct ccp_des3_engine(9) page from the Kernel API Manual, and the NAME section literally says:

struct ccp_des3_engine β€” CCP SHA operation

yes, it says SHA on a 3DES struct page 😭 that’s the lore, we’re keeping it, periodt.


✨ SYNOPSIS ✨

the whole struct, exactly as the page gives it:

       struct ccp_des3_engine {
           enum ccp_des3_type type;
           enum ccp_des3_mode mode;
           enum ccp_des3_action action;
           struct scatterlist *key;
           u32 key_len;
           struct scatterlist *iv;
           u32 iv_len;
           struct scatterlist *src, *dst;
           u64 src_len;
        };

πŸŽ€ Members πŸŽ€

  • type β€” Type of 3DES operation
  • mode β€” cipher mode
  • action β€” 3DES operation (decrypt/encrypt)
  • key β€” key to be used for this 3DES operation
  • key_len β€” length of key (in bytes)
  • iv β€” IV to be used for this AES operation <span>πŸ‘€</span> yes, the page says AES right there, we are just reporting the sacred text 🫢
  • iv_len β€” length in bytes of iv
  • src β€” input data to be used for this operation
  • dst β€” output data produced by this operation
  • src_len β€” length of input data used for this operation (in bytes)

🌸 Description 🌸

so these are the variables you need to set when calling ccp_enqueue_cmd:

  • type, mode, action, key, key_len, src, dst, src_len
  • iv, iv_len for any mode other than ECB

and the iv variable is used as both input and output. On completion of the 3DES operation the new IV overwrites the old IV β€” so the old IV gets replaced, no cap πŸ’€βœ¨


πŸ¦‹ SEE ALSO πŸ¦‹

Kernel file ./include/linux/ccp.h

  • 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_rsa_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)

mwah πŸ’‹ β€” source/version: ./include/linux, date: October 2026, page: struct ccp_des3_engine(9). iconic, honestly. πŸŽ€

πŸ“¦ where this page comes from