CRIPTOGRAFIA DE CURVAS ELIPTICAS


ECC, IMPLEMENTACION DE OPERACIONES DE PUNTOS SOBRE CE

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:


INSTALACION DE ECC

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:

  1. Descomprimir los fuentes: tar zxvf ecc-XXX.tar.gz
  2. Cambiarse al directorio src: cd ecc-XXX/src
  3. Opcionalmente, editar el archivo makefile para adecuar las trayectorias de acuerdo a su sistema.
  4. Compilar los fuentes con: make all
  5. Instalar la libreria: make install
  6. Opcionalmente, correr los programas de prueba haciendo: make test
  7. Opcionalmente, correr programas de benchmarking con: make benchmark


OPERACIONES IMPLEMENTADAS

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.