ECC, es una implementación orientada a objetos de la aritmética de puntos sobre curvas elípticas, para ser utilizada en aplicaciones criptográficas. Realizada en C++, originalmente programada en MinGW sobre Windows XP, y probada también en Linux utilizando el compilador GNU de C++.
La versión más reciente soporta cualquier curva definida sobre campos finitos de característica 2.
Incluye:
ECC está basada en la libreria NTL, por lo cual es necesario instalar NTL antes de intentar instalar ECC.
Las instrucciones de instalación de ECC son las siguientes:
Básicamente, ECC implementa la clase ec_point, de puntos sobre curvas elípticas definidas sobre campos de característica 2. Entre los métodos implementados están la suma de puntos y el cálculo de múltiplo de puntos, éste último utilizando el algoritmo binario.
Se incluye el programa test1.c que hace varias pruebas de las operaciones sobre puntos. Así mismo, en el directorio curves se incluyen los parámetros de algunas de las curvas recomendadas por el NIST. Por ejemplo, haciendo: cat K-163 | test1 se corren pruebas de operaciones sobre la curva de Koblitz K-163.