El uso de la geometría en criptografía






El uso de la geometría en criptografía


La criptografía, como ciencia de proteger información mediante técnicas matemáticas, ha encontrado en la geometría un aliado fundamental. Desde los antiguos cifrados basados en patrones geométricos hasta los modernos sistemas que utilizan curvas elípticas, la relación entre estas dos disciplinas ha sido constante y fructífera. Este artículo explora en profundidad cómo los conceptos geométricos se aplican en el diseño de sistemas criptográficos seguros, proporcionando tanto las bases teóricas como ejemplos prácticos.

La geometría aporta a la criptografía estructuras matemáticas con propiedades únicas que son difíciles de revertir computacionalmente, un requisito esencial para la seguridad. Conceptos como puntos en espacios multidimensionales, curvas algebraicas, retículos y transformaciones geométricas forman la base de muchos algoritmos modernos. Además, la visualización geométrica ayuda a comprender mejor los mecanismos de cifrado y los posibles ataques.

Fundamentos geométricos en criptografía

Antes de adentrarnos en aplicaciones específicas, es crucial entender los conceptos geométricos que sustentan la criptografía moderna. La geometría algebraica, en particular, proporciona herramientas poderosas para construir funciones unidireccionales (fáciles de calcular pero difíciles de invertir), que son la piedra angular de muchos sistemas criptográficos.

Los espacios vectoriales sobre campos finitos permiten representar información de manera que las operaciones criptográficas se convierten en transformaciones geométricas. Por ejemplo, en el cifrado AES (Advanced Encryption Standard), las operaciones se realizan en un espacio vectorial de dimensión 8 sobre GF(2^8), donde cada byte se considera un vector.

Las curvas elípticas, definidas por ecuaciones de la forma $$y^2 = x^3 + ax + b$$ sobre campos finitos, forman grupos abelianos donde el problema del logaritmo discreto es computacionalmente difícil. Esta propiedad las hace ideales para criptografía de clave pública.

Criptografía basada en retículos

La criptografía basada en retículos (lattice-based cryptography) es una de las áreas más prometedoras de la criptografía post-cuántica. Un retículo es un conjunto discreto de puntos en un espacio n-dimensional que forma un grupo aditivo. Matemáticamente, dado un conjunto de vectores linealmente independientes $$B = \{b_1, …, b_n\}$$ en ℝ^n, el retículo generado por B es:

$$L(B) = \left\{ \sum_{i=1}^n x_i b_i \mid x_i \in \mathbb{Z} \right\}$$

Los problemas computacionales en retículos, como el Problema del Vector Más Corto (SVP) o el Problema del Vector Más Cercano (CVP), se consideran difíciles incluso para computadoras cuánticas, lo que hace que los sistemas basados en retículos sean candidatos ideales para la criptografía resistente a la cuántica.

Geometría Algebraica
Curvas Elípticas
Criptografía de Clave Pública

Criptografía en curvas elípticas (ECC)

La criptografía de curvas elípticas (ECC) es quizás la aplicación geométrica más extendida en criptografía práctica. Una curva elíptica sobre un campo finito F_p (donde p > 3 es primo) es el conjunto de puntos (x,y) ∈ F_p × F_p que satisfacen:

$$y^2 \equiv x^3 + ax + b \pmod{p}$$

junto con un punto especial O llamado «punto en el infinito». Los puntos en la curva forman un grupo abeliano bajo una operación de suma definida geométricamente:

  1. Para sumar dos puntos distintos P y Q, se traza la línea que los une y se encuentra el tercer punto de intersección con la curva, luego se refleja sobre el eje x.
  2. Para duplicar un punto P (P + P), se usa la tangente a la curva en P.

El problema del logaritmo discreto en este grupo (dados P y Q = kP, encontrar k) es computacionalmente difícil, lo que permite construir sistemas como ECDH (Elliptic Curve Diffie-Hellman) para intercambio de claves y ECDSA (Elliptic Curve Digital Signature Algorithm) para firmas digitales.

Aplicaciones tecnológicas actuales

Las técnicas geométricas en criptografía tienen numerosas aplicaciones en tecnologías modernas:

Ejemplos prácticos

Ejemplo 1: Suma de puntos en curva elíptica

Considere la curva elíptica y² = x³ – 7x + 10 sobre ℝ. Para sumar P = (1,2) y Q = (3,4):

Pendiente m = (y_Q – y_P)/(x_Q – x_P) = (4-2)/(3-1) = 1

x_R = m² – x_P – x_Q = 1 – 1 – 3 = -3

y_R = m(x_P – x_R) – y_P = 1(1 – (-3)) – 2 = 2

Resultado: P + Q = (-3,2)

Ejemplo 2: Cifrado ElGamal sobre curvas elípticas

Sea E: y² = x³ + 2x + 3 sobre F_17, con punto generador G = (1,6). Alice elige a = 3 como clave privada y calcula su clave pública A = aG = 3(1,6):

2G = G + G: m = (3(1)² + 2)/(2*6) = 5/12 ≡ 5*12⁻¹ ≡ 5*10 ≡ 50 ≡ 16 mod 17

x_2G = 16² – 1 – 1 ≡ 256 – 2 ≡ 256-2 ≡ 254 ≡ 16 mod 17

y_2G = 16(1-16) – 6 ≡ 16(-15) -6 ≡ -240-6 ≡ -246 ≡ 7 mod 17

3G = 2G + G = (16,7) + (1,6): m = (6-7)/(1-16) = -1/-15 ≡ 1/15 ≡ 1*8 ≡ 8 mod 17

x_3G = 8² – 16 – 1 ≡ 64 – 17 ≡ 47 ≡ 13 mod 17

y_3G = 8(16-13) -7 ≡ 24-7 ≡ 17 ≡ 0 mod 17

Clave pública A = (13,0)

Ejemplo 3: Problema del Vector Más Corto (SVP)

Dado el retículo generado por los vectores v₁ = (4,1) y v₂ = (1,4), encontrar el vector más corto no nulo:

Usando el algoritmo LLL (Lenstra-Lenstra-Lovász), encontramos una base reducida:

w₁ = (1,0), w₂ = (0,1) (en este caso simple)

El vector más corto es (1,0) con norma 1.

Ejemplo 4: Parámetros de curva elíptica segura

La curva NIST P-256 usada en ECDSA tiene parámetros:

$$p = 2^{256} – 2^{224} + 2^{192} + 2^{96} – 1$$

$$a = -3$$

$$b = \text{5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b}$$

Orden del grupo primo:

$$n = \text{ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551}$$

Ejemplo 5: Cifrado basado en retículos (Regev)

El esquema de Regev usa el Problema de Aprendizaje con Errores (LWE):

Clave privada: vector s ∈ ℤ_q^n

Cifrado de m ∈ {0,1}: (a, b = ⟨a,s⟩ + e + m⌊q/2⌋) mod q

Donde a ∈ ℤ_q^n es aleatorio y e es un pequeño error gaussiano.

Descifrado: calcular b – ⟨a,s⟩ ≈ m⌊q/2⌋ y redondear.

Evaluación del conocimiento

1. Explique por qué el problema del logaritmo discreto en curvas elípticas (ECDLP) es considerado computacionalmente difícil y cómo esto beneficia a la criptografía.

Mostrar respuesta

El ECDLP es difícil porque no se conocen algoritmos eficientes (incluso para computadoras cuánticas, excepto en casos especiales) para resolverlo. Dados un punto generador G y un punto Q = kG en la curva, encontrar el escalar k requiere tiempo exponencial en el tamaño del campo subyacente. Esta dificultad permite construir sistemas donde las claves públicas pueden derivarse de las privadas fácilmente (multiplicación escalar), pero la operación inversa es prácticamente imposible, fundamentando la seguridad de ECC con claves más cortas que sistemas tradicionales como RSA.

2. Describa cómo funciona la operación de suma de puntos en una curva elíptica y por qué forma un grupo abeliano.

Mostrar respuesta

La suma de puntos en una curva elíptica se define geométricamente: para P ≠ Q, se traza la línea que los une, encuentra el tercer punto de intersección con la curva, y se refleja sobre el eje x. Para P = Q, se usa la tangente. Algebraicamente, si P = (x₁,y₁), Q = (x₂,y₂):

Si x₁ ≠ x₂: m = (y₂-y₁)/(x₂-x₁), x₃ = m² – x₁ – x₂, y₃ = m(x₁-x₃) – y₁

Si P = Q: m = (3x₁² + a)/(2y₁), x₃ = m² – 2x₁, y₃ = m(x₁-x₃) – y₁

El punto en el infinito O es el elemento identidad. La operación es asociativa, conmutativa, cada punto tiene inverso (reflejado sobre el eje x), y cerrada en la curva, cumpliendo así los axiomas de grupo abeliano.

3. Compare la criptografía basada en retículos con la de curvas elípticas en términos de seguridad post-cuántica y eficiencia computacional.

Mostrar respuesta

La criptografía de curvas elípticas (ECC) es vulnerable al algoritmo de Shor en computadoras cuánticas, que puede resolver ECDLP en tiempo polinomial. En contraste, los problemas de retículos como LWE y SVP se consideran resistentes a ataques cuánticos conocidos, haciendo que los sistemas basados en retículos sean post-cuánticos. Sin embargo, ECC es actualmente más eficiente: las operaciones en ECC requieren menos recursos computacionales y producen claves y firmas más cortas que los esquemas basados en retículos. Los sistemas de retículos típicamente tienen claves más grandes (kilobytes vs bytes en ECC) y mayor sobrecarga computacional, aunque se están optimizando continuamente.



«`

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *