SNTRUP4591761+X25519+HKDF-BLAKE2b KEM. [schemas/kem-with-encap.tcl] "/kem/*/a" equals to "sntrup4591761-x25519-hkdf-blake2b". Recipient public key with [cm/pub/sntrup4591761-x25519] algorithm must be used. It should have "kem" key usage set. Recipient's map "/kem/*/encap" field is a concatenation of 1047 bytes of Streamlined NTRU Prime 4591^761's ciphertext, containing ephemeral key, with 32 bytes of ephemeral X25519 public key. Recipient performs X25519 and SNTRUP computations to derive/decapsulate two 32-byte shared keys. Then it combines them to get the KEK decryption key of the CEK. H = BLAKE2b PRK = HKDF-Extract(H, salt="", ikm= sntrup4591761-shared-key || es-x25519-shared-key || H(sntrup4591761-sender-ciphertext || e-x25519-sender-public-key) || H(sntrup4591761-recipient-public-key || s-x25519-recipient-public-key)) if specified(sender): PRK = HKDF-Extract(H, salt=PRK, ikm= ss-x25519-shared-key || s-x25519-sender-public-key || s-x25519-recipient-public-key) KEK = HKDF-Expand(H, prk=PRK, info="cm/encrypted/sntrup4591761-x25519-hkdf-blake2b" || /id) "/kem/*/cek" is wrapped with [cm/keywrap/xchapoly] mechanism. KEM combiner nearly fully resembles: => https://datatracker.ietf.org/doc/draft-josefsson-chempat/ Chempat