Sección 4.3 Algoritmos de encriptación elíptica
Puedes pensar que es una rosquilla junto con configuraciones delicadas y específicas de puntos racionales que se colocan muy cuidadosamente… Todo el juego en las matemáticas de las curvas elípticas es determinar si la rosquilla tiene salpicaduras y, de ser así, dónde se colocan exactamente las salpicaduras [15].―Duncan J.;Ono, K. (2017)

En el Capítulo 3, tratamos las curvas elípticas sobre distintos campos numéricos. Estudiamos la ecuación de Weierstrass sobre un campo finito y la Ley de Grupo que explica la estructuración de los puntos que las conforman. Podemos usar toda esa información para ilustrar la criptografía con curvas elípticas. Mientras que en RSA, el reto gira en función de encontrar los factores primos (factorizando un número ‘grande’), al trabajar en criptografía de Curvas Elípticas tratamos con el logaritmo discreto elíptico (ECDLP Elliptic Curve Discrete Logarithm Problem); en este caso el reto es encontrar cuántas veces tiene que sumarse cierto número para obtener otro.
Exploramos las propiedades de una curva elíptica \(E\text{,}\) la cual consiste en un conjunto de puntos k-racional que conforman un sub cuerpo finito y pertenecen a un campo numérico algebraico determinado. Cada punto en la curva se representa como una pareja de coordenadas \(P=(x,y)\text{,}\) cumpliendo con la ecuación de la curva expresada como el modelo de Weierstrass; Subsección 3.3.1. Los coeficientes \(k_i\) de esta ecuación pertenecen a un campo específico \(k =
\mathbb{F}_{p}\text{,}\) donde \(\mathbb{F}_{p}\) representa un campo de Galois.
Una curva elíptica se puede considerar simultáneamente como un grupo abeliano bajo la operación de suma geométrica y como parte de un campo numérico algebraico; cada punto en la curva pertenece a una extensión finita de un campo específico. Recordando que, la identidad aditiva en este caso, es un punto especial ubicado en el infinito (\(\mathcal {O}\)). La Ley de Grupo permite operar (sumar y multiplicar) con los puntos de una curva elíptica; Subsección 3.3.3. Sobre la suma geométrica repetitiva de los puntos de \(E\) o método «construcciones de secantes y de tangentes», regidos por la Ley de Grupo, está sostenida la criptografía elíptica. Esta suma repetitiva, ya la hemos definido como Multiplicación Escalar: \(P=nG\) es una adición repetitiva: \(P = \underbrace{G
+ G + \cdots + G}_{n \;
veces} \text{.}\)
Subsección 4.3.1 El intercambio de claves por canales inseguros
El objetivo del intercambio de claves es garantizar que ambas partes de la comunicación puedan calcular información secreta compartida que pueda usarse como clave para cifrar algunos datos reales; entre partes que no han tenido contacto previo, utilizando un canal inseguro y de manera anónima (no autenticada) [41]. El intercambio de claves Elliptic Curve Diffie-Hellman (ECDH) hace exactamente eso; utilizando los puntos \(k\)-racionales de una curva elíptica —sobre un campo finito dado— como estructura de grupo subyacente.
ECDH.
Dos partes (Jhon y Fafa) quieren comunicarse y acuerdan una curva elíptica y un generador de sus puntos donde iniciar: supongamos usan la CE en la forma corta de Weierstrass: \(E = y^2=x^3-2x+15\text{,}\) con el generador \(G=[4,5]\text{,}\) en un campo finito \(\mathrm{F}(23)\text{.}\) Para realizar un intercambio de claves seguro, cada uno debe elegir un número secreto: Jhon elige un número aleatorio: \(a=3\) y Fafa elige: \(b=7\text{.}\) Con el generador \(G\) y sus números secretos \(a\) y \(b\text{,}\) ahora multiplican el generador por ellos y crean así sus puntos públicos: \(A=aG=3(4,5)=[13,22]\) y \(B=bG=7(4,5)=[17,8]\text{;}\) recordar que ese producto escalar se hace bajo las propiedades de la Ley de Grupo; para la curva elíptica \(E\) utilizada [Figura 3.3 y Definición 3.3.4]. Estos puntos públicos se pueden intercambiar de forma segura a través de un canal de comunicación inseguro.
Con sus puntos públicos intercambiados, cada uno de ellos ahora realiza la misma multiplicación escalar, pero comienza con el punto recibido en lugar del generador. De esta manera, ambas partes llegan al mismo punto, por tanto, calculan su secreto compartido. Supongamos que el punto secreto sea: \(S=(15,5)\text{,}\) luego: \(S = aB = bA = abG = baG\text{.}\) Ambas partes terminan con el mismo punto \(S\text{,}\) aunque parece imposible, ya que cada uno de ellos desconoce la clave secreta de la otra parte y los puntos públicos que puede ver un atacante son inútiles sin ella.
No existe una forma factible de averiguar los números \(a\) y \(b\) a partir de los puntos \(A\) y \(B\text{.}\) Para obtener el punto \(S\) es necesario tener (al menos) uno de ellos (ya sea \(a\) o \(b\)) y el punto público de la otra parte.
El mecanismo de intercambio de claves ECDH, se utiliza para establecer una comunicación segura a través de un canal no seguro; es utilizado ampliamente, como en el protocolo TLS 1 ; utilizado para encriptar las comunicaciones en la Internet.
