Salta al contenido principal

Sección 4.1 La criptografía con curvas elípticas

Las criptomonedas usan la tecnología criptográfica basada en curvas elípticas, para garantizar la esencia de su modelo de valor seguro: la confidencialidad, la autenticidad y la no repudiación de las operaciones. Una curva elíptica, subyace en cada una de las operaciones de la moneda digital; incluso, si no se usa o transfiere un valor, la tenencia o su mera existencia, es posible gracias a curvas elípticas que participan en conjunto con los algoritmos que permiten la operación de dichas monedas electrónicas. Igual sucede en los escenarios de las firmas digitales y funciones hash; mediante el sistema de clave pública-privada; todas esas tecnologías trabajan entrelazadas.
Hemos mostrado que los parámetros y coordenadas de los puntos en una estructura finita como las curvas elípticas se corresponden a los elementos disponibles dentro del cuerpo que la contienen; pero no todos elementos del cuerpo están disponibles, sólo aquellos que verifican la ecuación de la curva elíptica (a esos puntos se les denomina \(k-racional\)). Dentro de un cuerpo finito de Galois: la curva elíptica misma representa un sub cuerpo finito 1  y discreto. Para complementar nuestro ejercicio de abstracción inicial, pudiéramos decir con ligereza que las curvas elípticas proporcionan un “degenerador” de puntos del campo \(k\) dentro de los requerimientos de Galois.

Subsección 4.1.1 Cálculo elíptico minimalista

Critografía de juguete.

A modo de ilustración sustituiremos en la ecuación de curva elíptica: \(y^2=x^3+7 \pmod{p}\) el valor de \(p\) por algo más manejable en una lectura divulgativa, un valor mínimo que hará de \(\mathbb{F}_(q^{\prime} )\) un campo verdaderamente minimalista: \(p^{\prime} = 17\text{.}\) En este caso, para \(m = 2\) el cuerpo tendrá \(q^{\prime} = (p^{\prime})^m =(p^{\prime})^2= 289\) elementos. Sin embargo, la curva elíptica sólo verifica \(17\) puntos de los disponibles en el cuerpo \(\mathbb{F}^{*}_{289}\text{:}\)
\begin{align*} \{ \amp (1,5);(1,12);(2,7);(2,10);(3,0);(5,8);(5,9);(6,6);(6,11);\\ \amp (8,3);(8,14);(10,2);(10,15);(12,1);(12,16);(15,4);(15,13)\}. \end{align*}
Hemos seleccionado a priori, tanto el valor de \(p^{\prime}\) como del de \(m\text{;}\) para un conjunto tan reducido de elemento es fácil ‘jugar’ y encontrar los pares ordenados que se muestran. Es importante resaltar que la “fuerza bruta” para nada se puede considerar como un “algoritmo” difícil … quizás a lo sumo —tedioso—; ya que implica tabular todos los logaritmos discretos o realizar las operaciones de la ecuación elíptica modular en cada caso particular para cada punto. En general, mientras \(p\) sea un primo, siempre existirá un logaritmo discreto para cada elemento del cuerpo \(\mathbb{F}_q\text{.}\)
Otro ejemplo puede ser las representaciones (Figura 3.2 y Figura 4.2), ambas gráficas son trazas de la misma curva elíptica \(y^2=x^3-3x+1\text{;}\) pero sobre cuerpos distintos; uno infinito: \(\mathbb{R}^2\) y el otro finito: \(\mathbb{F}^{*}_{8761}\text{.}\)
Figura 4.2. Traza de la Curva elíptica \(y^2=x^3-3x+1 \pmod{8761}\text{,}\) graficada sobre \(\mathbb{F}^{*}_{8761}\text{.}\)
Sage: 4.1.1. Curva Elíptica sobre un cuerpo finito.
La Curva elíptica \(y^2=x^3-3x+1 \pmod{8761}\text{,}\) graficada sobre \(\mathbb{F}^{*}_{8761}\) usando Sage; Nota A.5.2. La traza de la curva obtenida aparenta no tener sentido geométrico alguno; el campo donde está definida posee una granularidad finita [Párrafo ], la traza está representada por los puntos que se verifican de su campo existencial \(\mathbb{F}^{*}_{8761}\text{.}\)