C06-RT: No
Rationale
Reticulum assigns the Link ID as the Link destination hash. Established Link packets carry that hash, and transport forwarding changes the hop count while retaining the remaining packet fields. Authorized observers on different traversed segments can match this common Link identifier without timing analysis or decrypting the payload. This fails the cross-segment association clause of C06.
Assessment method
Primary specification and pinned code review; no runtime experiment
Source context
Pinned Ironwood and Reticulum forwarding code
Outstanding qualification
The observer has the relevant IFAC interface access; outsiders without the secret IFAC credentials are not assigned the same visibility. A shared Link ID does not itself reveal the persistent initiator identity, and fresh identifiers across Links retain their separate privacy value. Optional identify() remains encrypted; this finding concerns within-Link association, not identity disclosure or message contents.
Public sources
- https://github.com/markqvist/Reticulum/blob/1.5.5/RNS/Link.py
- https://github.com/markqvist/Reticulum/blob/1.5.5/RNS/Packet.py
- https://github.com/markqvist/Reticulum/blob/1.5.5/RNS/Transport.py
Editorial evidence references
The following identifiers refer to research records not included in this public package; they are not public links.
- round500.html
- round500-sources.json