Commit c859c353 authored by GUILLEVIC Aurore's avatar GUILLEVIC Aurore

Mention CocksPinch{6,8,_k} files

parent 6248fdaf
......@@ -13,6 +13,8 @@ We provide code for the following tasks.
"Formulas for final exponentiation" in this file.
* Search for pairing-friendly curves with our Cocks-Pinch variant; see
"Using the search program".
* Elliptic curve object inherited from the sage object EllipticCurve to handle
pairing-friendly curves
Computing pairing costs
=======================
......@@ -624,4 +626,23 @@ respectively):
Note that the former is naturally preferred because hy has 2-naf weight
only 4.
Pairing-friendly curve objects
==============================
The files [`BN.py`](BN.py), [`BLS12.py`](BLS12.py), [`MNT6.py`](MNT6.py),
[`KSS16.py`](KSS16.py) provide a class inherited from the sage class
`EllipticCurve_finite_field` so that the usual methods are available.
Moreover, the methods `beta`, `lamb` return integers for the GLV method (used in
RELIC library to speed-up scalar multiplication), and the field `polynomial_p`
returns a list of coefficients corresponding to the polynomial used to obtain
the special prime $p$ to define a finite field $\mathbf{F}_p = GF(p)$ and then an
elliptic curve $E(\mathbf{F}_p)$.
The files [`CocksPinch6.py`](CocksPinch6.py), [`CocksPinch8.py`](CocksPinch8.py)
correspond to Cocks-Pinch curves with embedding degree $k=6$ and $D=3$, resp.,
$k=8$ and $D=4$.
The file [`CocksPinch_k.py`](CocksPinch_k.py) is used for
Cocks-Pinch curves that don't have a particular structure.
The input parameters are obtained with the functions described above
(`CocksPinchVariant`, `CocksPinchVariantResult`).
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment