Meaning
Unidirectional derivation creates a sequence of keys where each new value is calculated from the previous one using a method that cannot be reversed. A ratchet secret ensures that if an attacker captures the current state, they cannot use it to unlock past communications. It governs the security of individual messages within a persistent session.
The protection ends when the session is closed and the final state is deleted from the device.
Forward Secrecy
Protecting the past is the primary goal of this mathematical technique. When a ratchet secret is used, every message is encrypted with a unique key that exists only for that specific transmission. This prevents a bulk decryption of the entire history if the device is lost.
The system moves forward and leaves no usable trail behind.
State Transition
Calculating the next value requires the current secret and a source of randomness. The ratchet secret changes with every interaction to keep the window of vulnerability as small as possible.
Operational Risk
Implementation errors can lead to a situation where the sequence breaks and the parties can no longer communicate. A ratchet secret requires both the sender and receiver to stay perfectly synchronized. If one side misses a step, the encrypted data becomes unreadable to everyone.
This complexity increases the cost of building reliable messaging software. Founders must weigh this technical burden against the requirement for absolute privacy. The loss of a single state value can result in the permanent loss of all future messages in that thread.