How would you define a cryptography pairing on FourQ?

70 Views Asked by At

I'm interested in implementing a pairing-based cryptography operation on embedded systems. [Some background on pairings was discussed at Crypto.SE in Advantages of bilinear map.]

Previously I analyzed the fourQ-lib, and next I would like to write or clone a pairing operation. But there I need some crowd knowledge:

  • Does anyone knows about a working pairing for FourQ (twisted edwards curve)?
  • How would you declare such a bilinear map mathematically?

The FourQ curve is a twisted Edward's curve over $\mathbb F_{p^2}$ given by the equation $-x^2+y^2= 1 +dx^2y^2$, where $\mathbb F_{p^2}=\mathbb F_p(i)$ and $d\in\mathbb C$ a big complex integer. (If there could be a mention of Gaussian integers, these are $a+ib$ with $a,b\in\mathbb N$.) The inverse of a point is given by $(x,y) \to (-x,y)$, neutral element is $\mathcal O=(0,1)$. The prime order subgroup $E(\mathbb{F}_{p^2})[N]$, where $\# E(\mathbb F_{p^2}))392\cdot N$, is used to carry out crypto. computations.

This torsion set could be seen as a(n affine) variety.