Beruflich Dokumente
Kultur Dokumente
Barranquilla, Colombia
Willems, Wolgang
ix, 88 p. 16 x 24 cm
ISBN: 978-958-741-053-2
Incluye referencias bibliográficas (p. 79-80) e índice.
www.uninorte.edu.co
Km 5 vía a Puerto Colombia, A.A. 1569
Barranquilla (Colombia)
Coordinación editorial
Zoila Sotomayor O.
Editor
Ismael Gutiérrez García
Diseño de portada
Joaquín Camargo Valle
Procesos técnicos digitales
Munir Kharfan De los Reyes
Corrección de textos
Mercedes Castilla
Hecho en Colombia
Made in Colombia
A Elena
Los autores
2 Fundamentos matemáticos 45
2.1 Elementales sobre teoría de grupos . . . . . . . . . . . . . . . 45
2.2 Teoría elemental de números . . . . . . . . . . . . . . . . . . 50
2.3 Cuerpos finitos . . . . . . . . . . . . . . . . . . . . . . . . . 60
2.4 Curvas elípticas . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.5 Curvas de Edwards . . . . . . . . . . . . . . . . . . . . . . . 71
A Algoritmos y complejidad 75
A.1 La O-notación . . . . . . . . . . . . . . . . . . . . . . . . . . 75
vii
.
Prólogo
ix
.
Prólogo a la segunda edición
xi
.
Capítulo 1
Criptosistemas de clave
pública
Contenido
1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Conceptos básicos y seguridad . . . . . . . . . . . . . . 3
1.3 Criptografía de clave pública . . . . . . . . . . . . . . . 7
1.4 Signaturas . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.5 Funciones Hash . . . . . . . . . . . . . . . . . . . . . . 19
1.6 Esquemas de compartimentación de secretos . . . . . . 23
1.7 Algoritmos para pruebas de primalidad . . . . . . . . . 25
1.8 Factorización de números enteros . . . . . . . . . . . . 29
1.9 El logaritmo discreto . . . . . . . . . . . . . . . . . . . 38
1.1 Introducción
Etimológicamente hablando, el origen de la palabra criptografía procede del
griego κρμπτ oζ (kryptos) = secreto; γραφ
ιν (graphein) = escribir, es de-
cir, el arte de escribir de manera secreta. No es difícil suponer que desde la
Antigüedad hasta hoy el manejo de información ha sido de vital importancia
para la humanidad.
1
2 Willems/Gutiérrez
Enemigo
ejemplo.
Enemigos activos. Estos no solo desean leer la información, sino también
alterarla, como los que intervienen cuentas bancarias a través de la Internet u
otro medio.
Para tener una aproximación a la respuesta al interrogante anterior, la idea
es entonces transformar el mensaje original en otro que no pueda ser leíble.
Para ello se necesitan elementos muy diversos de las matemáticas, por ejem-
plo, teoría de números, curvas algebraicas (elípticas, hipercríticas), cuerpos
finitos, algoritmos y teoría de la probabilidad. Un interesante panorama sobre
criptografía de clave pública se encuentra en [9].
Hasta los años setenta del siglo pasado solo existieron procedimientos del
primer tipo. Una de las grandes dificultades de estos procedimientos estaba en
que para obtener una seguridad alta en el cifrado, era necesario que las claves
fuesen casi del mismo tamaño que los mensajes. Por otro lado, se requería el
intercambio de claves, lo cual significaba un aumento en los niveles de inse-
guridad.
Las aplicaciones de la criptografía moderna se mueven en la actualidad más
y más hacia los dominios de la electrónica, en especial los relacionados con
los negocios que necesitan cifrar a diario una gran cantidad de datos.
Pensemos en la televisión cerrada, por ejemplo, Direct-TV: señal que no
puede verse a menos que se pague una cierta cantidad de dinero. También
podemos pensar en un banco en casa. En este caso, un tercero no puede tener
acceso ni a la lectura ni a la manipulación de las transacciones. Estas son solo
dos de las múltiples situaciones en las que un cifrado es indispensable. Tanto
Para un texto cifrado dado, la seguridad perfecta significa que todos los tex-
tos claros tienen la misma probabilidad de ser su correspondiente. Esta condi-
ción sería deseada por todos, sin duda.
Supongamos que un criptosistema K es perfectamente seguro y que P (x) >
0, para todo x ∈ P. La condición ds es (x) = x, para todo x ∈ P implica la
inyectividad de es y se sigue de inmediato que |P| ≤ |C|. Sea y ∈ C. Entonces
la seguridad perfecta trae como consecuencia que 0 < P (x) = P (x|y), para
todo x ∈ P. Con ello, para un x fijo existe s ∈ S tal que es (x) = y, es decir, la
función ϕ : S −→ C, definida por ϕ(s) = es (x) es sobreyectiva. Esto implica
que |S| ≥ |C|. En total, la seguridad perfecta trae como consecuencia que
Mensaje x ⊕ Canal ⊕ (x + s) + s = x
x+s
s s
1.2.5 Teorema. El One Time Pad es perfectamente seguro si todas las claves
1
son utilizadas con la misma probabilidad |S| .
P (x, y) P (x)
P (x|y) = = |S| = P (x),
Q(y) |S|
de cifrado eB y envía eB (x). Con esto, dado que tiene dB , Bob puede luego
calcular dB (eB (x)) = x.
Presentamos ahora una formalización de lo anterior.
Entonces la función
f : Zn −→ G,
definida por f (x) = gx es una biyección. La inversa de esta función se
nota con logg (y) y la llamaremos el logaritmo discreto. Es decir, si y =
gx , entonces se verifica que x = logg (y). Para n suficientemente grande
la función f es vista como una función de una vía. Como grupos cíclicos
podemos elegir, por ejemplo, el grupo multiplicativo de un cuerpo finito
K, los puntos de una curva elíptica, que forman un grupo abeliano o
también la variedad de Jacobi de una curva hiperelíptica. Las elecciones
deben tomarse con cuidado, de tal manera que los algoritmos conocidos
no puedan calcular el logaritmo discreto en un tiempo justificable. Por
ejemplo, si G = Z∗p y g es un generador de G, entonces p debe ser
tomado por lo menos con una longitud de 1024 bits y p−1 no puede tener
solo divisores primos pequeños. Esto último se evita si tomamos a p
como un número primo seguro grande, es decir, de la forma p = 2q+1,
donde q también es un número primo. Para curvas elípticas se reduce
sustancialmente el tamaño de n. El orden del elemento g puede ser de
160 bits.
Una persona no autorizada, que solo conoce la clave pública (n, e), nece-
sita, además, el número d para descifrar un mensaje. Este se calcula a partir
de la congruencia de ≡ 1 mod ϕ(n). Si se desea calcular d directamente
usando esta congruencia, es necesario conocer ϕ(n), lo cual es equivalente a
la factorización de n en los número primos p y q. En efecto:
• Si conocemos la factorización n = pq, entonces también
ϕ(n) = (p − 1)(q − 1)
xe + yϕ(n) = 1.
d ≡ x mod ϕ(n).
e = a0 + 2a1 + 22 a2 + · · · + 2k ak ,
se tiene que 2 tiene orden 106 en el grupo cíclico Z∗107 y, por lo tanto, es un
generador. Bob elige a = 51 y calcula
Como clave pública Bob presenta la terna (p, α, β) = (107, 2, 80) y mantiene
a = 51 en secreto. Alicia desea enviar a Bob x = 83 y para ello elige k = 17.
Ella envía
Bob calcula
Óscar, que ha intervenido el canal entre Alicia y Bob? Alicia intercambia en-
tonces, sin saberlo, mensaje con Óscar utilizando la clave común gao y este a
su vez con Bob al usar gbo . Así go es la clave para Óscar. Él puede también
falsificar información de Alicia y de Bob sin que los dos lo noten.
Este problema de autenticidad se resuelve hoy a través de instancias confia-
bles, que puedan expedir certificados para la clave del usuario. Ahora bien, es-
tas dependen del problema de si se va a utilizar la clave directa para una comu-
nicación o si sólo desea ponerse de acuerdo para reciprocar información, con
el intercambio de una clave común como en el protocolo de Diffie-Hellman.
La última situación, grosso modo, no designa gab como clave común, sino que
la entidad que certifica suministra gc , donde c ∈ {2, . . . , n − 1} y gc depende
de Alicia y Bob. Bob y Alicia utilizan la clave gc que se les asignó para el
intercambio de la información. Más información sobre estos protocolos puede
encontrarse en [14].
1.4 Signaturas
Las signaturas son firmas digitales que con frecuencia son indispensables en
muchos mensajes electrónicos. Pensemos, por ejemplo, en un contrato de com-
pra, en una transacción bancaria, una autorización de recaudo o en un e-mail
importante. Para el esbozo de tal protocolo de signaturas debemos considerar
lo siguiente:
• La firmas digitales no se pueden adjuntar al final del mensaje, de lo
contrario, de manera fácil se pueden cortar y reemplazar con una falsa.
• Cada copia de un mensaje firmado digitalmente es idéntica al original.
• Tal como sucede con la firma manual, cuando, por ejemplo, se le com-
para con la que aparece en la tarjeta de crédito, cualquiera debería estar
en condiciones de verificar su autenticidad. Por lo tanto, debería estar
disponible y de manera pública un algoritmo de verificación.
1.4. Signaturas
16 Willems/Gutiérrez
Estos son solo algunos de los problemas que plantean las signaturas digitales.
sigk : P −→ S
sig(x) = xd mod n ∈ S = Zn
s ≡ sde ≡ xd mod n,
1.4. Signaturas
18 Willems/Gutiérrez
1.4.4 Ejercicios. Alicia posee la clave pública (p, α, β) = (107, 2, 80). Como
función de verificación para la signatura de ElGamal suministra
ver(x, s1 , s2 ) = verdadero ⇔ 80s1 ss12 ≡ 2x mod 107.
Alicia firma el mensaje x con (9, 93). ¿Cuáles de los siguientes mensajes
x = 10, x = 83, x = 17 de seguro no son de Alicia?
Es decir,
αx1 −x1 ≡ β x2 −x2 mod p.
Sea β = αk , con 0 ≤ k ≤ p − 2. Entonces tenemos
αx1 −x1 ≡ αk(x2 −x2 ) mod p,
2 −→ Z2 .
f : Zm n
Paso 2. Al final de esta cadena resultante, ponga r ceros. Denote esta cadena
con y.
x1 · · · xt ,
hi := f (hi−1 , xi )
001011110000101111.
x = x1 · · · xa−1 0 ·
· · 0 xa+1 · · · xt (1.2)
r s
Hemos demostrado que a partir de una colisión para h es fácil encontrar una
para f . Pero, por hipótesis, una colisión no puede ser calculada eficientemente.
Entonces no se puede encontrar una colisión para h.
Las funciones Hash utilizadas en la práctica, por ejemplo, la SHA-1 (Secure
Hash Algorithm 1) son construidas iteradamente similares como en 1.5.4. Una
de las signaturas estándar diseñadas en 1995 por NIST (National Institute of
Standards and Technology) utiliza la función Hash SHA-1, una serie de bits de
longitud 160. En febrero de 2005, Xiaoyun Wang, Yiqun Lisa Yin y Hongbo
Yu demostraron que la búsqueda de colisiones en la SHA-1 puede ser exitosa,
contrario a lo que en teoría se esperaba. Con posterioridad se ha utilizado el
SHA-256 que tiene longitud 256 bits en lugar de 160.
t−1
k(x) = K + aj xj ∈ Zp [x].
j=1
D EMOSTRACIÓN .
1. Sean Pi1 , . . . , Pit las t personas. Entonces xi1 , . . . , xit están dados. Pre-
sentamos dos métodos diferentes:
t x − xi
k(x) = yij k
∈ Zp [x].
xij − xik
j=1 k=j
1≤k≤t
t xik
K = a0 = k(0) = yij .
xik − xij
j=1 k=j
3
J OSEPH -L OUIS DE L AGRANGE (1736-1813). Matemático francés. La lectura de una obra
del astrónomo inglés Edmund Halley despertó su interés por la matemáticas y tras un año de
incesante trabajo era ya un matemático consumado. Escribió numerosos artículos sobre cálculo
integral y las ecuaciones diferenciales generales del movimiento de tres cuerpos sometidos a
fuerzas de atracción mutuas.
a0 + a1 + a2 = 7
a0 + 9a1 + 4a2 = 10
a0 − a1 + a2 = −1
4
John Wilson (1741-1793). Estuvo activo muy pocos años en el Peterhouse College in
Cambridge; más adelante, se dedicó principalmente a la jurídica y al álgebra.
Por lo tanto,
(p−1) (p−1)
p | (a 2 + 1) o p | (a 2 − 1).
(p−1) r
1. Si p | (a 2 + 1), entonces a2 t ≡ −1 mod p con r = s − 1.
(p−1)
2. Si p | (a 2 − 1), entonces procedemos por inducción sobre s.
1.7.5 Ejercicios.
1. Demuestre, utilizando el test de Miller-Rabin, que n = 383, con proba-
bilidad mayor o igual a 1 − ( 14 )5 ≈ 0.999, es un número primo.
2. Elija ahora en 1 en lugar de Miller-Rabin el test de Solovay-Strassen.
aB ≡ aB! ≡ 1 mod p.
1.8.2 Ejercicios.
E0 : y 2 = x3 + ax + b,
y
3x21 +a
y3 = 2y1 (x1 − x3 ) − y1 = 3.
y
3x21 +a
y3 = 2y1 (x1 − x3 ) − y1
2
= 13
6 2 − 562 − 3
= − 37
63
2
Con esto se tiene que 4P = ( 562 , − 37
63
). Dado que 612 ≡ 628 mod 1739
y 613 ≡ 1264 mod 1739, tenemos que R = 4P mod 1739 =
(49, 185). Para el cálculo de 8P = R + R aparece y1 = 185 en el
denominador y con
esto la curva Ep tiene un elemento de orden mayor que k. Por otro lado,
por el teorema de Hasse9 (ver el teorema 2.4.13) se verifica que
√
|E p | ≤ p + 1 + p.
(i) x ≡ ±y mod n
(ii) x2 ≡ y 2 mod n,
2. Sea c ∈ N, elegido de tal manera que sea un poco más grande que b,
digamos c = b + 10. Para 1 ≤ j ≤ c determinemos xj ∈ N de tal forma
que
αj αj
x2j = p1 1 · · · pb b mod n,
es decir, x2j puede factorizarse módulo n en la base de factores F (b).
4. Definamos x := j∈C xj y y := bi=1 pβi i , con βi := 1
2 j∈C αji ,
entonces del paso 2 se sigue que x2 ≡ y 2 mod n.
Si x ≡ ±y mod n, entonces mcd(x ± y, n) suministra un divisor no
trivial de n. En caso contrario, inicie con una nueva base de factores o
con un nuevo C.
o equivalentemente
⎛ ⎞
α11 mod 2 · · · α1b mod 2
⎜ .. .. ⎟
(z1 , . . . , zc ) ⎝ . . ⎠ = (0, . . . , 0).
αc1 mod 2 · · · αcb mod 2
f (x ± p) = ((x ± p) + m)2 − n
= (x ± p)2 + 2(x ± p)m + m2 − n
≡ x2 + 2xm + m2 − n mod p
≡ f (x) mod p
≡ 0 mod p
1.8.8 El método del tamiz cuadrático. Sea n ∈ N impar dado. Para la de-
terminación de un divisor no trivial de n utilizamos el método de Dixon y
efectuamos el paso 2 de la siguiente manera:
1. Elegimos una base de factores F (b) como en método de Dixon, pero con
p1 = −1.
√
2. Definimos f (x) = (x + m)2 − n, con m = n.
que f (x) = 0 mod p. Para este x, que pertenece al intervalo del tamiz,
determinamos la p-potencia máxima pex que divide a f (x).
xj
xk−1
x1
x0
x = logg h,
B = {(hg−r , r) | 0 ≤ r ≤ m}
s
n= pei i
i=1
con pi distintos dos a dos y ei > 0. (Para ello podemos utilizar los resultados
de la sección 1.8) Para la determinación del logaritmo discreto x = logg (h)
procedemos de la siguiente manera:
con 0 ≤ x < n. Con esto, solo falta calcular los xi del paso 1. Para un
i ∈ {1, . . . , s} fijo, escribimos
i −1
e
x mod pei i = xi = aj pji ,
j=0
y
1998 1998
h 2 mod 1999 ≡ 1996 2 mod 1999 = 1,
tenemos que a0 = 0 = x1 .
y
1998 1998
h 3 mod 1999 ≡ 1996 3 mod 1999 = 808,
se sigue que a0 = 1. Además, se verifica que h1 = hg−1 = 1998 y
1998 1998
h1 9 mod 1999 ≡ 1998 9 mod 1999 = 1,
por lo tanto, a0 = 1 = x3 .
Entonces x1 = 0, x2 = 1 y x3 = 1, teniendo así para resolver las congruencias
simultáneas
x ≡ 0 mod 2
x ≡ 1 mod 33
x ≡ 1 mod 37,
con
y2 = ((2 · 37)−1 mod 33 ) · (2 · 37) = 1702
y3 = ((2 · 33 )−1 mod 37) · (2 · 33 ) = 1296.
Se sigue entonces que logg h = x = 1702 + 1296 mod 1998 = 1000.
Dado que
b
gx+y = agy = pe11 . . . peb b ≡ gx1 e1 · · · gxb eb ≡ g j=1 xj ej
mod p
se tiene que
b
x≡ xj ej − y mod p − 1.
j=1
1.9.5 Ejercicios.
Fundamentos matemáticos
Contenido
2.1 Elementales sobre teoría de grupos . . . . . . . . . . . . 45
2.2 Teoría elemental de números . . . . . . . . . . . . . . . 50
2.3 Cuerpos finitos . . . . . . . . . . . . . . . . . . . . . . . 60
2.4 Curvas elípticas . . . . . . . . . . . . . . . . . . . . . . 63
2.5 Curvas de Edwards . . . . . . . . . . . . . . . . . . . . 71
45
46 Willems/Gutiérrez
g ∼U h :⇔ g−1 h ∈ U.
gU = {gu | u ∈ U }.
1 = gm = (gn )q gr = gr .
G = {gn | n ∈ Z}.
2.1.10 Ejemplos.
1. El grupo aditivo de los números enteros es cíclico e infinito. Como
elementos generadores se tiene solo a 1 o −1.
2.1.13 Ejercicios.
mcd(m, n) = xn + ym
mcd(m, n) = rs
= rs−2 − qs rs−1
= rs−2 − qs (rs−3 − qs−1 rs−2 )
= (1 + qs qs−1 )rs−2 − qs rs−3
..
.
= xn + ym
[x] = {y ∈ Z | y ≡ x mod n}
= {y ∈ Z | y − x = nz, para algún z ∈ Z}
= {x + nz | z ∈ Z}
= x + nZ.
x + nZ = y + nZ ⇔ (x − y) + nZ = nZ
⇔ (x − y) ∈ nZ
⇔ n|(x − y).
Por lo tanto,
Zn = {j + nZ | j = 0, 1, . . . , n − 1}
2.2.7 Definición. Una tripla (R, +, ·), donde (R, +) es un grupo abeliano y
· : A × A −→ A se denominará un anillo con unidad si se verifican las
siguientes propiedades:
D EMOSTRACIÓN .
ϕ(n) = |Un |
aϕ(n) ≡ 1 mod n,
x2 ≡ n mod p (2.5)
⎧
⎨ 0, si p | a
a
= 1, si a es un cuadrado mod p y p a
p ⎩
−1, si a no es un cuadrado mod p.
2.2.13 Teorema. (Euler). Sea p un número primo impar. Entonces para todo
a∈Z (p−1)
a 2 ≡ ap mod p. (2.6)
p−1
D EMOSTRACIÓN . Consideremos las siguientes 2 congruencias:
p − 1 ≡ 1(−1)1 mod p
2 ≡ 2(−1) 2
mod p
p − 3 ≡ 3(−1) 3
mod p
..
.
p−1
p−1 p−1
p− 2 ≡ 2 (−1)
2 mod p
p−1
p−1 p−1
2 ≡ 2 (−1)
2 mod p.
p−1
p−1 p−1 p2 −1
2 2
2 ! ≡ 2 ! (−1) 8 mod p.
p−1
Dado que 2 ! ≡ 0 mod p, a partir de estas congruencias obtenemos que
p−1 p2 −1
2 2 ≡ (−1) 8 mod p.
p−1
Si se utiliza el teorema de Euler 2.2.13 tenemos que 2 2 ≡ 2p mod p y
como cada uno de estos miembros es 1 o −1, se verifica la igualdad de dichos
miembros dado que p > 2, lo cual completa la prueba.
D EMOSTRACIÓN .
≡ a
p
b
p mod p
ab a b
Dado que p > 2, se sigue que p = p p .
y luego aplicar 2.
7
2. Calcular 101 .
Solución. Nuevamente con la ley de reciprocidad tenemos
101 3 7 1
7
101 = (−1)6·50 7 = 7 = (−1)1·3 3 =− 3 = −1.
aq−1 = 1
para todo 0 = a ∈ K. Con ello podemos afirmar que todo a ∈ K∗ es una raíz
del polinomio
f (x) = xq−1 − 1 ∈ K[x].
q − 1 = pe11 . . . pess
o(ai ) = pei i .
ak = 1
g(x) = xk − 1 ∈ K[x]
n1 = 1 + ·
· · + 1 = 0,
n−veces
0 = n1 = (r1)(s1).
K0 := {s1 | s = 0, 1, . . . , p − 1} ⊆ K
K = Zp [x]/f Zp [x]
y
(g + f K[x]) · (h + f K[x] = gh + f K[x],
para g, h ∈ K[x]. Para demostrar que K es un cuerpo, permanece para de-
mostrar únicamente que
0 = h + f K[x]
tiene un inverso en K. Dado que f es irreducible, la afirmación 0 = h+f K[x],
significa que
mcd(h, f ) = 1.
Por otro lado, los algoritmos de Euclides y Euclides extendido no solo se veri-
fican en Z, sino también en F[x], donde F es un cuerpo cualquiera (ver ejerci-
cios). Por lo tanto, existen polinomios a, b ∈ Zp [x] con
ah + bf = mcd(h, f ) = 1.
Es decir que
es decir,
dimZp K = n,
2.3.6 Observaciones.
2.3.7 Ejercicios.
es la ecuación de la tangente a f en P .
Consideremos ahora algunos ejemplos de curvas planas y sus imágenes so-
bre K = R.
∂f
2.4.3 Ejemplo. (La parábola de Neil.) Sea f = x3 −y 2 . Entonces ∂x = 3x2 ,
∂f
∂y = −2y y se tiene que (0, 0) es el único punto singular.
y
O x
Figura 2.1: f = x3 − y 2
O x
Figura 2.2: f = x3 − x − y 2
∂f ∂f
2.4.5 Ejemplo. Sea f = x2 − y. Entonces ∂x = 2x, ∂y = −1 y se tiene que
V (f ) es suave.
y
O x
Figura 2.3: f = x2 − y
O x
Figura 2.4: f = x3 + x2 − y 2
f (α) = 0 = f (α).
Además,
(α3 + aα)2 = α6 + 2aα4 + a2 α2 = (−b)2 = b2 ,
ya que f (α) = α3 + aα + b = 0. Por lo tanto,
una contradicción.
Por razones de simplicidad, consideraremos solamente curvas elípticas
definidas sobre cuerpos con características diferentes 2 y 3.
{(x, y) | x, y ∈ K, y 2 = x3 + ax + b} ⊆ K × K
∂f
0= (P ) = 3α2 + a (2.7)
∂x
6
Karl Weierstrass (1815-1897). Matemático alemán. En 1839 ingresó a la Academia
de Teología y Filosofía de Münster, donde encontró la inspiración matemática de manos de
Christof Guderman. Recibió el doctorado honorífico de la Universidad de Königsberg y en
1856 fue aceptado como profesor asociado en la Universidad de Berlín.
∂f
0= (P ) = −2β (2.8)
∂y
Dado que Char(K) = 2, se tiene que β = 0. Entonces
0 = f (α, β) = f (α, 0) = α3 + aα + b
(P + Q)
P
O x
Q
−(P + Q)
Para P = Q, sea −(P + Q) el tercer punto de corte de la recta que pasa por
P y Q, con la curva E (ver gráfico). Si P = Q, entonces −(P + Q) = P + P ,
el segundo punto de intersección de la curva E con la recta tangente a E en el
punto P = Q. La existencia de este punto está garantizada por la condición
4a3 + 27b2 = 0. El punto P + Q se tiene mediante una reflexión con respecto
al eje x.
Para las aplicaciones criptográficas necesitamos fórmulas explícitas para la
adición de puntos sobre la curva, que exponemos a continuación.
(Si y1 = 0, entonces P1 + P2 = O)
No presentaremos la prueba de este resultado. En su demostración, la pro-
piedad asociativa es la única que necesita cálculos un poco largos. Para una
prueba detallada veamos por ejemplo [15].
Por razones criptográficas, es usual estar interesados en curvas elípticas so-
bre cuerpos finitos. Si K es un cuerpo finito, entonces E(K) es naturalmente
un grupo abeliano finito. En particular, cada punto de E(K) tiene orden finito.
E(K) = {(0, 0), (1, ±2), (2, ±2), (3, ±1), (4, ±1)} ∪ {O}.
P +P = (4, 1),
P +P +P +P = (2, −1),
P +P +P +P +P = (1, 3).
2.4.13 Teorema. (H. Hasse). Si E(K) es una curva elíptica sobre el cuerpo K
con q elementos, entonces se verifica que
√ √
q + 1 − 2 q ≤ |E(K)| ≤ q + 1 + 2 q.
Por lo tanto, |E(K)| ≤ 10. En el ejemplo anterior se obtuvo para esta curva
que |E(K)| = 10. Esto asegura, además, que el orden de un elemento de una
curva elíptica sobre Z5 no puede ser mayor que 10. Para encontrar un elemento
de orden grande en E(K), es necesario que |K| sea grande.
E : y 2 = x3 + x − 1
sobre el cuerpo K = Z37 . En el ejemplo 1.8.5 hemos utilizado esta curva para
la factorización de n = 37 · 47.
El teorema de Hasse nos suministra que |E(K)| ≤ 50. Al utilizar, por ejem-
plo, Maple (msolve(x3 + x − 1 = y 2 , 37) obtenemos
E(K) = {(0, 31), (0, 6), (1, 1), (1, 36), (2, 3), (2, 34), (4, 17), (4, 20),
(6, 6), (6, 31), (7, 4), (7, 33), (8, 1), (8, 36), (9, 16), (9, 21),
(10, 11), (10, 26), (11, 3), (11, 34), (12, 0), (13, 10), (13, 27),
(16, 2), (16, 35), (18, 15), (18, 22), (20, 8), (20, 29), (23, 4),
(23, 33), (24, 3), (24, 34), (26, 10), (26, 27), (27, 5), (27, 32),
(28, 1), (28, 36), (29, 16), (29, 21), (31, 6), (31, 31), (35, 27),
(35, 10), (36, 16), (36, 21), O}
se sigue que y = 0, esto es, P = (x, 0). De la tabla de arriba deducimos que
P = (12, 0) es la única involución.
Si utilizamos un poco de teoría de grupos, con esto se sigue que E37 es un
grupo cíclico (ver ejercicios).
Las curvas elípticas sobre cuerpos finitos no siempre son grupos cíclicos
(ver ejercicios), sin embargo, no distan mucho de estas. Podemos demostrar
que si esta no es cíclica, entonces resulta ser un producto directo de dos grupos
cíclicos.
En 1985 R. Schoof ha expuesto en [10] un algoritmo eficiente, con el cual
se puede calcular de manera explícita el número |E(K)|. Para comprender
este algoritmo, necesitamos unos conocimientos muy profundos sobre curvas
elípticas que no podemos exponer aquí. Más sobre curvas elípticas podemos
encontrar en [15] y [16].
2.4.16 Ejercicios.
Ed : x2 + y 2 = 1 + dx2 y 2 , (2.9)
2.5.2 Lema. Para cualquier par de puntos sobre Ed(K) la adición está
definida. Es decir, si (x1 , y1 ), (x2 , y2 ) ∈ Ed(K), entonces se verifica que
1 + dx1 x2 y1 y2 = 0.
1. La operación + es conmutativa.
3. Para todo (x, y) ∈ Ed(K) se tiene que (x, y) + (−x, y) = (0, 1). Es
decir, (−x, y) es inverso para (x, y).
Podemos demostrar, como veremos a continuación, que Ed(K) con esta adi-
ción es un grupo abeliano. En esencia solo presenta alguna dificultad la prueba
de la propiedad asociativa de la suma.
Ed : x2 + y 2 = 1 + dx2 y 2
v 2 = u3 + ( 4e − 2)u2 + u.
(0, 1) −→ O
(0, −1) −→ (0, 0)
1 + y 2e(1 + y)
(x, y) −→ , =: (u, v), para x = 0
1 − y (1 − y)x
es un isomorfismo.
Observemos que, si x = 0, entonces y = 1. En efecto, para y = 1
se tiene que x2 + 1 = 1 + dx2 , es decir, d ∈ K2 , lo cual contradice
la condición impuesta a d. Con esto podemos afirmar que (u, v) está
definido y, además, pertenece a E(K). Por lo tanto, α está definida
sobre todo el conjunto Ed(K).
La función inversa β : E −→ Ed(K) definida por
O −→ (0, 1)
(0, 0) −→ (0, −1)
2eu u − 1
(u, v) −→ , =: (x, y), para v = 0 y u = −1.
v u+1
e ) ∈
Si u = −1, entonces v 2 = 4( 1−e / K2 , ya que 1 − e = d ∈
/ K2 , lo
cual es contradictorio.
√
−a± a2 −4
Si v = 0, entonces u = 0 o u = 2 , con a = 4
e − 2. Por lo tanto
β(0, 0) está definido.
Podemos demostrar que a2 − 4 ∈ / K2 . Notemos que a2 − 4 = (a −
2)(a + 2). Además, a + 2 = 4e ∈ K2 y a − 2 = 4e − 4 ∈/ K2 . Con esto
podemos afirmar que (x, y) siempre está definido y β ◦ α es la función
identidad sobre el conjunto Ed(K).
La prueba que α es un homomorfismo de grupos requiere más trabajo,
lo cual no deseamos demostrar.
2.5.4 Observaciones.
1. Si e no es un cuadrado en K, entonces Ed(K) es, además, un grupo
abeliano. Por lo tanto, tenemos que reemplazar en el teorema 2.5.3 la
curva elíptica por una curva elíptica helicoidal o espiralada.
2.5.5 Ejercicios.
1. Sea K = Z5 . Entonces 2 ∈
/ K2 . Sea
Ed : x2 + y 2 = 1 + 2x2 y 2 .
Demuestre que
(a) Ed(K) = {(1, 0), (4, 0), (0, ±1), (2, ±2), (3, ±2)}.
(b) Ed(K) es un grupo cíclico.
(Observemos que aquí no es aplicable el teorema 2.5.3, ya que
e = 1 − 2 = −1 ∈/ K2 )
2. Sea K = Z5 y E : y 2 = x3 − x2 − x una curva elíptica sobre el cuerpo
K. Demuestre que
(a) E(K) = {(0, 0), (1, ±1), (2, ±1), (3, ±1)} ∪ {O}.
(b) Ed(K) es un grupo cíclico. Por lo tanto, del ejercicio 1 se sigue
que E(K) ∼
= Ed(K).
3. Halle un cuerpo K y una curva elíptica E de tal forma que E(K) ∼
=
Ed(K) para toda curva de Edwards Ed sobre el cuerpo K.
Algoritmos y complejidad
Contenido
A.1 La O-notación . . . . . . . . . . . . . . . . . . . . . . . 75
A.1 La O-notación
Para presentar de manera cualitativa el tiempo de ejecución necesitamos la
denominada O-notación.
75
76 Willems/Gutiérrez
f (n) ≤ cg(n),
para todo n ≥ n0 .
A.1. La O-notación
78 Willems/Gutiérrez
[3] B ONEH , D. AND L IPTON , R.J. Algorithms for black-box fields and their
application in cryptography, Proceedings Crypto’96, LNCS 1109, Springer
Verlag, pp. 283-297.
[6] E DWARDS , H. A normal form for elliptic curves, Bulletin Am. Math. Soc.,
p.p. 393-422, 2007.
[10] S CHOOF, R. Elliptic curves over finite fields and the computation of
square roots mod p. Mathematics of Computations Vol 44, pp. 483-494,
1985.
79
80 Willems/Gutiérrez
[11] S HAMIR A. How to share a secret. Communication of the ACM. Vol. 22,
No. 11, p.p. 612-613, 1979.
[13] S INGH , S. The Code Book: The Science of Secrecy from Ancient Egypt
to Quantum Cryptography. B & T, 2000.
Adleman, L. 10
Agrawal, M. 28
Alford, W. 29
Bézout, E. 12, 53
Blakley, R. 24
Boneh, D. 15
Carmichael, R. 28
Diffie, W. 8, 14, 15
Dixon, J. 36, 37, 38
Edwards, H. 73
ElGamal, T. 13, 14, 18
Euclides 12, 52, 53
Euler, L. 10, 30, 56, 57, 58
Fermat, P. 28, 57
Granville, A. 29
Hasse, H. 35, 71, 72
Hellman, M. 8, 14, 15, 41
Hongbo, Y. 24
Jacobi, C. 60, 61
Kayal, N. 28
Korselt, A. 29
Lagrange, J. 26, 49, 50, 51
Legendre, A. 57, 59
Lenstra, H. W. 32, 33, 36, 66
Lipton, R. J. 15
Miller, G. 30
Pollard, J. 32, 36, 40
81
82 Willems/Gutiérrez
Pommerence, C. 29, 36
Pohlig, S. 41, 42
Rabin, M. 30
Rivest, R. 10
Saxena, N. 28
Shanks, D. 41
Schoof, R. 73
Shannon, C. 2, 5
Shamir, A. 10, 24
Solovay, R. 30
Strassen, V. 30
Turing, A. 8
Weierstrass, K. 68, 71
Wilson, J. 27
Xiaoyun, W. 24
Yiqun, L. Y. 24
Zimmermann, P. 13
83
84 Willems/Gutiérrez
Grupo, 45 singular, 64
abeliano, 46 Puntos
cíclico, 49 K-racionales, 66
conmutativo, 46
generador, 49 Repetición del cuadrado, 11
orden de un, 46 Resto cuadrático, 55
RSA, 9
Huella digital, 19
Símbolo de Jacobi, 59
Intercambio Símbolo de Legendre, 55
de Diffie y Hellman, 14 Side channel attack, 71
Intervalo del tamiz, 37 SSH, 12
Involución, 48 SSL, 12
Subgrupo, 46
Ley de reciprocidad cuadrática, 57
Logaritmo discreto, 8, 39 Teorema de Euler, 55, 56
Baby-step, 39 Teorema de Hasse, 69
Giant-step, 39 Teorema de Wilson, 26
Test de Fermat, 27
Método de Test de Miller-Rabin, 28
Dixon, 35 Test de Solovay-Strassen, 29
Index-Calcǔlus, 43 Texto cifrado, 3
Lenstra, 32 Texto plano, 3
tamiz cuadrático, 37 Transversal derecho, 47
Número de Carmichael, 27 Transversal izquierdo, 47
Orden de un elemento, 48
ÍNDICE ALFABÉTICO
En esta era de la información, la
necesidad de ocultar datos
relevantes se ha incrementado hasta
convertir a la criptografía en una
herramienta fundamental en
cualquier campo de trabajo, sea este
informático, privado, empresarial o
de seguridad nacional. Este texto
tiene su origen en un curso dictado
por el profesor Wolfgang Willems
(Universidad de Magdeburg,
Alemania) en la Universidad del
Norte y su contenido será de
especial interés para investigadores
en álgebra, estudiantes de
ingeniería de sistemas y electrónica.