circl
circl copied to clipboard
Adds decaf group
Includes a package for the decaf group.
Decaf is specified https://datatracker.ietf.org/doc/html/draft-irtf-cfrg-ristretto255-decaf448-03, this implementation is fully compatible with draft. Test vectors for group operations and hashing to group are passing.
Decaf (circl/group) is a safe group abstraction on top of the Goldilocks (edwards448) curve (circl/ecc/goldilocks).
Ed448 also uses Goldilocks curve but only requires specific operations.
Internally, Goldilocks curve is implemented with ted448, a twist of the curve, since it provides faster point arithmetic.
I'll check this tomorrow @armfazh
Nice! Have you run it against the vectors of: https://sourceforge.net/p/ed448goldilocks/code/ci/master/tree/test/ ?
@bwesterb Addressed requested changes.
We should add here the draft-ristretto-decaf test vectors, which is pretty easy as they are the multiplicatives of the generator. We can also add here the one-way-map of the draft. I also did a small implementation here of it: https://github.com/claucece/sage-ristretto255-decaf448 in sage.
@armfazh what's the plan for this PR?
what's the plan for this PR?
Just pushed changes that update this PR. Please review: @chris-wood @bwesterb @claucece
what's the plan for this PR?
It's been a while back, but I believe I haven't gone through all the maths in detail. If you want a detailed review, then I'll need to dedicate a day or two to it. Is there a deadline?