[KeyManager] Decouple KEM and Binding key algorithms
- Dominant language
- C
- Stars
- 309
- Forks
- 118
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 33
Description
The `GenerateKEM` FFI and its associated internal structure currently track a single algorithm.
```rust
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.
Contributor guide
Research direction
Start with the GenerateKEM FFI, especially key_manager_generate_kem_keypair, and trace the associated internal structure that stores the algorithm. Determine how the DHKEM and HPKE algorithm inputs are currently coupled and define separate inputs for them. Done means the two crypto operation algorithms can evolve independently while preserving the key-generation interface behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- cryptography, security
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100