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.