Summary
Destinations in Python Reticulum can enable ratchets, rotate them periodically, retain old keys, and optionally enforce ratchet usage. Rust currently lacks this lifecycle.
Affected code
- src/destination.rs
- SingleInputDestination
Required changes
- Add ratchet state:
- retained ratchet private keys
- rotation interval
- retention limit
- enforcement flag
- Implement:
- enable_ratchets
- rotate_ratchets_if_needed
- setters for interval and retention
Acceptance criteria
- Ratchets rotate on schedule.
- Old ratchets are retained up to the limit.
- Enforcement flag affects decryption behavior.