¿Cómo podemos entender profundamente la criptografía de curva elíptica y su implementación en cualquier lenguaje de programación?

Si desea comprender los conceptos básicos de ECC, hay varios libros que pueden ser útiles, como Number Theory de Neal Koblitz, Guide to ECC de Alfred Menezes. Inicialmente, pasar por la teoría básica sería útil para comprender el concepto y el cifrado, el esquema de firma y cómo se puede usar una curva para lograr lo mismo.

Para la parte de implementación, hay varias bibliotecas en Java, C ++, C con implicación integrada del esquema criptográfico en ECC. Algunos de ellos son

  1. Biblioteca de Bouncycastle: esta es una biblioteca de Java con soporte para la mayoría del algoritmo de criptografía junto con la implementación de ECC.
  2. PBC: una biblioteca basada en c ++ desarrollada en la universidad de Stanford por Boneh et. Alabama. para implementar esquemas de firma y cifrado basados ​​en emparejamiento. Hay varios puertos disponibles para pbc en Java (jPBC), python, perl y otros idiomas.
  3. Crypto ++: otra biblioteca cryptpgraphis ampliamente utilizada con soporte para ECC.
  4. Kit de herramientas de reliquia: Esta es una pequeña biblioteca basada en C para implementar tanto el protocolo criptográfico basado en emparejamiento como los protocolos ECC. Buily en funciones incluyen ECDSA, ECDH, etc.

Excepto las bibliotecas estándar, siempre puede construir su propia biblioteca en C, C ++, Pytho. Pero para la seguridad de una aplicación, a menudo se recomienda utilizar los marcos de trabajo existentes en lugar de implementar uno desde cero.

Es uno de los más fáciles a pesar de que el gran nombre es bastante aterrador. Si conoce los conceptos básicos de las cosas involucradas, es un algoritmo muy fácil incluso para escribir en un lenguaje como C, o incluso Basic, MATLAB, etc. ECC sobre enteros es un tema fácil. Simplemente hazlo sin miedo.