Skip to content

Fix Nonce Reuse in RFC 9381 VRF Proof#244

Merged
LLFourn merged 1 commit intoLLFourn:masterfrom
zksecurity:master
Mar 3, 2026
Merged

Fix Nonce Reuse in RFC 9381 VRF Proof#244
LLFourn merged 1 commit intoLLFourn:masterfrom
zksecurity:master

Conversation

@rot256
Copy link
Contributor

@rot256 rot256 commented Feb 27, 2026

Ensures that the Rng used in the sigma protocol depend on the whole transcript, including the input. Currently the fix still does not sample from the Rng, let me know if you would like this defense in depth.

@LLFourn
Copy link
Owner

LLFourn commented Mar 2, 2026

Yes @rot256 please use the rng argument. Thanks!

gen_rng used a fresh hasher instead of the transcript state,
making the nonce depend only on the secret key. Two proofs
with different inputs shared the same nonce, enabling full
secret key recovery: x = (s1 - s2) / (c1 - c2).
@rot256
Copy link
Contributor Author

rot256 commented Mar 2, 2026

There ya go!

Copy link
Owner

@LLFourn LLFourn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@LLFourn LLFourn merged commit 5a3424f into LLFourn:master Mar 3, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants