This crate provides jubjub curve arithmetic and also supports fully no_std
and parity-scale-codec
.
This crate uses https://github.com/zkcrypto/jubjub algorithm designed by @str4d and @ebfull.
We replace field and curve implementation with zero-crypto
to make this compatible with Substrate
.
The Jubjub curve is one of twisted edwards curve.
Twisted Edwards Curve $$ ax^2 + y^2 = 1 + dx^2y^2 $$
Addition Law $$ (x3 = \frac{x1y1 + y1x1}{1 + dx1x1y1y1}, y3 = \frac{y1y1 + ax1x1}{1 - dx1x1y1y1}) $$