You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Remove secret-state equality from Sponge in the next breaking release #39
The pre-existing #[derive(Clone, PartialEq)] on Sponge includes its permutation state and buffered output. Ordinary derived equality provides no constant-time guarantee. Track this as a separate API-hardening and compatibility decision, as suggested in moCello's review.
This is not a confirmed deployed timing leak or authentication bypass: no attacker-observable caller comparing whole sponge instances has been identified. Encryption's authentication check separately uses the backend's Encryption::is_equal contract; removing the derived trait does not replace that obligation.
Proposed scope
Check downstream consumers for actual use of Sponge equality.
Prefer removing PartialEq in the next breaking release, with a migration/changelog note. Do not silently redefine whole-sponge equality to compare metadata only.
If a comparison API is genuinely needed, specify its purpose and constant-time/backend requirements explicitly before adding a replacement.
Keep the sponge algorithm, valid encoding and cryptographic outputs unchanged.
Activity
Address sponge hardening review notes