[en] The interest for the study of elliptic curves has found in the field of cryptography a practical application widely spread in the recent times denominated Elliptic-curve cryptography (ECC). In comparison to other public key cryptography forms, ECC provides higher security with shorter key sizes, allowing operations to be faster and of lower computational costs. Nevertheless, its particular mathematical features also make elliptic curves to be generally seen as intrinsically more complicated and less intuitive to learn and understand than other more traditional methods. There are tools like CrypTool or JCrypTool which contain functionalities for the study of elliptic curves and ECC, but they generally are not platforms specifically dedicated to the study of this particular mathematical element. This work addresses the development of an educational software that helps cryptography students to assimilate the fundamental mathematical operations involved in Elliptic-curve Cryptography. An interactive and step-by-step approach is emphasized, in which the following is studied: • Point addition over finite fields (detailed equations involved). • Point multiplication over finite fields (performance comparison between direct algorithm and double-and-add). • Abelian commutative property. • Key-exchange algorithm of Diffie-Hellman with elliptic curves (Elliptic-curve Diffie- Hellman – ECDH). The code of the application described in this work can be found in the following Github repository: https://github.com/omarsoftware/ecc

[es] El interés por el estudio de las curvas elípticas, ha encontrado en el campo de la criptografía una aplicación práctica ampliamente difundida en los últimos tiempos denominada Cifra de Curva Elíptica (Elliptic-curve Cryptography – ECC). En comparación a otras formas de criptografía de clave pública, con ECC es posible obtener mayores niveles de seguridad con dimensiones de clave más cortas, permitiendo operaciones más rápidas y de menor costo computacional. Sin embargo, sus características matemáticas particulares hacen también que las curvas elípticas sean generalmente vistas como intrínsecamente más complicadas y menos intuitivas de aprender y entender que otros métodos más tradicionales. Existen herramientas como CrypTool o JCrypTool que contienen funcionalidades para el estudio de curvas elípticas y ECC, pero que por lo general no son plataformas específicamente concebidas para el estudio de este particular elemento matemático. En el presente trabajo, se lleva a cabo el desarrollo de una software educativo que ayuda a un estudiante de criptografía a asimilar las operaciones fundamentales involucradas en la Cifra de Curva Elíptica. Se hace énfasis en un enfoque interactivo, paso a paso, en donde se estudia: • Suma de puntos en cuerpo finito (detalle de ecuaciones involucradas). • Multiplicación de punto en cuerpo finito (comparación de rendimiento entre algoritmo directo y double-and-add). • Propiedad abeliana de conmutatividad. • Algoritmo de intercambio de clave de Diffie-Hellman con curva elíptica (Elliptic-curve Diffie-Hellman – ECDH). El código referido al desarrollo de la aplicación descripta en el presente trabajo se encuentra publicado en el siguiente repositorio Github: https://github.com/omarsoftware/ecc