Risretto
楕円曲線上の演算の効率化を重視し、prime orderではなくcofactorを持つ楕円曲線が多く使われるようになってきている。
hをcofactorとし、(h=4や8が多い)$ h*lが群の位数になる。
つまり$ h-torsioncomponentと$ l-torsion componentから曲線上の点は成る。
なので点にcofactorを乗算することで、位数$ l上のsubgroupの点を得ることができる。
しかし、Pointがprime-order subgroup上にあることを検証するためには、$ lを乗算し、逆に$ hを乗算した場合と一致するか検証する必要がある。$ lはとても大きな素数なので計算コストが高い。
Risrettoではcofactor-4のcurveに対応しているDecafを応用し、curve25519などのcofactor-8の曲線に対しprime-order-groupを提供するレイヤー。
Curve Modelは Jacobi Quartic, twisted Edwards, Montgomeryが存在しそれぞれのモデルは同種(isogeny)
同種:全射かつ有限の核を持つ
Improve subgroup enforcements
https://github.com/zcash-hackworks/sapling-crypto/issues/89
Ristretto will cost 650-700 constraints.
Ed25519 "clamping" and its effect on hierarchical key derivation
https://moderncrypto.org/mail-archive/curves/2017/000858.html
Ref
https://ristretto.group/ristretto.html
https://datatracker.ietf.org/doc/draft-hdevalence-cfrg-ristretto/
https://github.com/dalek-cryptography/curve25519-dalek