clearmatics / libff

C++ library for Finite Fields and Elliptic Curves (forked from scipr-lab/libff)

Home Page:https://clearmatics.github.io/libff/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Separate types for affine / special group points

dtebbs opened this issue · comments

Separating out the types for group elements in special form (e.g. new types G1Affine and G2Affine etc) would have several advantages:

  • the user of the library does not need to manually keep track of the form of each element (which can easily lead to errors)
  • more optimizations can be enabled automatically
  • affine elements take up less memory, and in some cases can be streamed directly from disk with no other logic required

(Note that this is much easier if we had generic G1 and G2 classees, with implementations providing the details, rather then each implementation fully defining the types G1 and G2.)