MPHELL: Multi-Precision (Hyper) ELliptic curve Library

MPHELL is a new versatile ECC library, written in C, based on unified arithmetics with a focus on protection against simple power analysis and an abstract layer for easy customisations. It has been extensively tested on x86-64 (mainly 64 bit architectures), ARM 32 and 64 bits and STM32 architectures and also in real-world applications. Our library has the advantage to propose standard elliptic curves but give also the possibility to use curves in different settings such as Weierstrass form in co-Z coordinates, Jacobi quartic or in Edwards forms (as well than their associated conversions functions). The number arithmetic used in MPHELL is inherited from GMP, can easily be customized, and has some improvement using Montgomery representation, windowing techniques and, since V5.0, AMNS (Adapted Modular Number System).

The new features of the version 5.0, including AMNS and several improvements will be presented at IEEE ARITH 2021


mphell-5.0.0-pre1.tar.gz (pre-release 1: 14/06/2021, used for the ARITH'21 presentation)

Older releases

mphell-4.0.0.tar.gz (without AMNS and with an older API)

MPHELL Documentation

Documentation MPHELL v5.0.0 (Mathematical contents, User's manual, Examples,...)

Documentation MPHELL v4.0.0 (Mathematical contents, User's manual, Examples,...)

Contact: mphell at univ-grenoble-alpes.fr

Financial supports:

the MPHELL project has been (or is currently) financially supported by ANR-15-IDEX-02, ANR ARRAND (ANR-15-CE39-0002), SECURIOT-2-AAP FUI 23, ANR-19-FLJO-0001 EASIMoB and ANR-11-LABX-0025-01.

Logo Cybersecurity Institute UGA Logo ANR Logo UGA Logo IF

(C) 2019-2021, The MPHELL Team, Univ. Grenoble Alpes, Institut Fourier.
Last modified: 14/06/2021