This repository tries to implement (in SageMath) the methods from the standard ISO/IEC 15946-5:2017 - Elliptic curve generation, Chapter 7: Constructing elliptic curves by complex multiplication.
The current state of the implementation is following:
Method | Status |
---|---|
General construction | ๐ง |
Miyaji-Nakabayashi-Takano (MNT) curve | ๐ง |
Barreto-Naehrig (BN) curve | โ |
Freeman curve (F curve) | โ |
Cocks-Pinch (CP) curve | โ |
โ = completed, ๐ง = work-in-progress, โ = not started
For example, you can run the Barreto-Naehrig method as follows:
sage barreto_naehrig.py -h
This command prints the help message which shows all the available parameters of the generation method.