The GenerateKEM FFI and its associated internal structure currently track a single algorithm.
pub unsafe extern "C" fn key_manager_generate_kem_keypair(
algo_ptr: *const u8,
algo_len: usize,
binding_pubkey: *const u8,
binding_pubkey_len: usize,
expiry_secs: u64,
out_uuid: *mut u8,
out_pubkey: *mut u8,
out_pubkey_len: usize,
)
This tightly couples the DHKEM and HPKE operations to a single algorithm type. We need to decouple them so that the crypto operation algorithms can evolve independently of each other.