w3f / schnorrkel

Schnorr VRFs and signatures on the Ristretto group
BSD 3-Clause "New" or "Revised" License
314 stars 93 forks source link

Test vectors #36

Closed Mischala closed 5 years ago

Mischala commented 5 years ago

Adding some test vectors may be helpful to ensure internal consistency.

burdges commented 5 years ago

We'll need them eventually of course. I'd accept PRs for them now. And we've commented out code that gives a starting point.

I've only just made a bunch of breaking changes, so test vectors would've made no sense before now. We could either add some now, as this might be the last batch of breaking changes, or else wait until we get a bit more feedback.

Ideally, we might do #26 before adding test vectors so as to suggest breaking optimizations. I halfway implemented #26 once before though so I think the only breaking optimizations is already done in https://github.com/w3f/schnorrkel/blob/master/src/vrf.rs#L736

burdges commented 5 years ago

In any case, I think benchmarks are a much higher priority. We'll always support merlin, and should've test vectors, but we might recommend alternative hashing with Shake128 or Blake2x instead of merlin. See https://github.com/w3f/schnorrkel/issues/33

burdges commented 5 years ago

We should be ready to settle on test vectors around early August.

burdges commented 5 years ago

We've settled everything so this can proceed.

burdges commented 5 years ago

I'll close in favor of https://github.com/w3f/schnorrkel/issues/43