Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Schnorr VRFs and signatures on the Ristretto group

License

NotificationsYou must be signed in to change notification settings

w3f/schnorrkel

Repository files navigation

Schnorrkel implements Schnorr signature onRistretto compressed Ed25519 points, as well asrelated protocols like HDKD,MuSig, and a verifiable random function (VRF).

Ristretto implements roughly section 7 of Mike Hamburg'sDecaf paper to provide the 2-torsion free points of the Ed25519 curve as a prime order group. (related)

We employ themerlin strategy oftype specific hashing methods with sound domain separation. These wrap Mike Hamburg'sSTROBE128 construction for symmetric cryptography, itself based on Keccak.

In practice, all our methods consume either amerlin::Transcript which developers create handily by feeding data to context specific builders. We do however also support&mut merlin::Transcript like themerlin crate prefers. We shall exploit this in future to adapt schnorrkel to better conform with the dalek ecosystem's zero-knowledge proof tooling.

We model the VRF itself on"Making NSEC5 Practical for DNSSEC" by Dimitrios Papadopoulos, Duane Wessels, Shumon Huque, Moni Naor, Jan Včelák, Leonid Rezyin, andd Sharon Goldberg. We note theV(X)EdDSA signature scheme by Trevor Perrin at is basically identical to the NSEC5 construction. Also, the VRF supports individual signers merging numerous VRF outputs created with the same keypair, which parallels the "DLEQ Proofs" and "Batching the Proofs" sections of"Privacy Pass - The Math" by Alex Davidson, and"Privacy Pass: Bypassing Internet Challenges Anonymously"by Alex Davidson, Ian Goldberg, Nick Sullivan, George Tankersley, and Filippo Valsorda.

Aside from some naive sequential VRF construction, we currently only support the three-roundMuSig for Schnorr multi-signatures, due to all other Schnorr multi-signatures being somewhat broken. In future, we should develop secure schemes like mBCJ from section 5.1 starting page 21 ofhttps://eprint.iacr.org/2018/417 however mBCJ itself works by proof-of-possession, while adelinearized variant sounds more applicable.

There are partial bindings forC,JavaScript, andPython as well.

About

Schnorr VRFs and signatures on the Ristretto group

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp