Summary
To avoid regressions and subtle incompatibilities, add deterministic cross-language test vectors covering identity encryption and ratcheted encryption.
Affected code
- src/identity.rs
- src/destination.rs
- tests/ (new)
Required changes
- Add deterministic hooks (fixed ephemeral key, fixed IV).
- Add test vectors generated from Python reference for:
- identity-only encryption
- ratchet encryption
- ratchet enforcement
- ANNOUNCE parsing with ratchet
Acceptance criteria
- Rust passes all vectors.
- Python can decrypt Rust-generated ciphertexts byte-for-byte.