1. Jubjub曲线
详细参数参看:
JubJub
为twisted Edwards曲线,基于某base finite field
F
q
\mathbb{F}_q
Fq,这类曲线形如:
a
x
2
+
y
2
=
1
−
d
x
2
y
2
.
ax^2 + y^2 = 1 - dx^2y^2.
ax2+y2=1−dx2y2.
JubJub曲线为:
−
x
2
+
y
2
=
1
−
(
10240
/
10241
)
x
2
y
2
-x^2 + y^2 = 1 - (10240/10241)x^2y^2
−x2+y2=1−(10240/10241)x2y2
其中:
- q = 52435875175126190479447740508185965837690552500527637822603658699938581184513. q = 52435875175126190479447740508185965837690552500527637822603658699938581184513. q=52435875175126190479447740508185965837690552500527637822603658699938581184513.
- a = − 1. a = -1. a=−1.
- d = ( 10240 / 10241 ) m o d q = 19257038036680949359750312669786877991949435402254120286184196891950884077233. d = (10240/10241) mod q= 19257038036680949359750312669786877991949435402254120286184196891950884077233. d=(10240/10241)modq=19257038036680949359750312669786877991949435402254120286184196891950884077233.
相应的sage脚本为:
q = 52435875175126190479447740508185965837690552500527637822603658699938581184513
Fq = GF(q)
d = -(Fq(10240)/Fq(10241))
2. BLS12-381曲线
参考资料有:
- https://github.com/privacy-scaling-explorations/halo2curves
- BLS12-381: New zk-SNARK Elliptic Curve Construction
- https://github.com/zkcrypto/bls12_381
3. Sepc256k1曲线 以及 Secp224k1曲线
参考资料有:
4. BN128曲线
参考资料有: