Skip to content

Implement destination-side ratchet lifecycle for SINGLE destinations #36

@doubleailes

Description

@doubleailes

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions