SlideShare a Scribd company logo
1 of 38
Download to read offline
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Criptograf´ıa de Curvas El´ıpticas
Juan Manuel Garc´ıa Garc´ıa
14 de octubre de 2010
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Campos finitos
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m)
Curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
Campo finito
Un campo finito consiste de un conjunto finito de elementos F
sobre el cual se definen un par de operaciones binarias + y ·, las
cuales satisfacen las siguientes propiedades aritm´eticas:
1. (F, +) es un grupo abeliano, denominado el grupo aditivo del
campo.
2. (F∗ = F − 0, ·) es un grupo abeliano, al que se denomina
grupo multiplicativo del campo.
3. El producto tiene la propiedad distributiva respecto de la
suma, esto es, a · (b + c) = a · b + a · c.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
El orden de un campo finito es el n´umero de elementos en el
campo. Existe un campo finito de orden q si y solo si q es la
potencia de un n´umero primo. Si q es la potencia de un primo,
existe esencialmente un solo campo finito de orden q al cual
denotaremos como GF(q).
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
El campo finito GF(p)
Sea p un n´umero primo. El campo GF(p), denominado un campo
primo, est´a compuesto por el conjunto de enteros {0, 1, . . . , p − 1}
con las siguientes operaciones aritm´eticas:
◮ Adici´on: Si a, b ∈ GF(p), entonces a + b = r, donde r es el
residuo de la divisi´on de a + b entre p y 0 ≤ r ≤ p − 1. Esta
operaci´on es conocida como la suma m´odulo p.
◮ Multiplicaci´on: Si a, b ∈ GF(p), entonces a · b = s, donde s es
el residuo de la divisi´on de a · b entre p. A esta operaci´on se le
conoce como multiplicaci´on m´odulo p.
◮ Inversi´on: Si a un elemento de GF(p) diferente de cero, el
inverso de a m´odulo p, denotado como a−1, es el entero ´unico
c ∈ GF(p) tal que a · c = 1.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
Ejemplo 1 El campo finito GF(23). Los elementos de GF(23) son
{0, 1, 2, . . . , 22}.
Ejemplos de operaciones aritm´eticas sobre GF(23) son:
◮ 12 + 20 = 9.
◮ 8 · 9 = 3.
◮ 8−1 = 3.
El elemento 5 es un generador de GF(23). Las potencias de 5 son:
50 = 1 51 = 5 52 = 2 53 = 10 54 = 4 55 = 20
56 = 8 57 = 17 58 = 16 59 = 11 510 = 9 511 = 22
512 = 18 513 = 21 514 = 13 515 = 19 516 = 3 517 = 15
518 = 6 519 = 7 520 = 12 521 = 14 522 = 1.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
El campo finito GF(2m
)
El campo GF(2m), denominado un campo finito de caracter´ıstica
dos o campo finito binario, puede ser visto como un espacio
vectorial de dimensi´on m sobre el campo GF(2). Esto es, existen m
elementos α0, α1, . . . , αm−1 en GF(2m) tales que cada elemento
α ∈ GF(2m) puede ser escrito en forma ´unica como:
α = a0α0 + a1α1 + · · · + am−1αm−1,
donde ai ∈ {0, 1}.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
Al conjunto {α0, α1, . . . , αm−1} se le denomina una base de
GF(2m) sobre GF(2). Dada una base tal, un elemento α del
campo puede ser representado por la cadena de bits
(a0a1 · · · am−1). La adici´on de elementos en el campo se realiza
mediante el XOR bit a bit de sus representaciones vectoriales.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
Representaci´on en bases polinomiales
Sea
f (x) = xm
+ fm−1xm−1
+ · · · + f2x2
+ f1x + f0,
donde fi ∈ {0, 1} para i = 0, 1, . . . , m − 1, un polinomio irreducible
de grado m sobre GF(2). Entonces f (x) define una representaci´on
de base polinomial de GF(2m), la cual describiremos a
continuaci´on.
El campo GF(2m) est´a compuesto por todos los polinomios sobre
GF(2) de grado menor a m,
GF(2m
) = am−1xm−1
+ am−2xm−2
+ · · · + a1x + a0 : ai ∈ {0, 1} .
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
Al elemento am−1xm−1 + am−2xm−2 + · · · + a1x + a0 usualmente
se le denota por la cadena de bits (am−1am−2 · · · a1a0) de longitud
m, de modo que
GF(2m
) = {(am−1am−2 · · · a1a0) : ai ∈ {0, 1}} .
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
Se define entonces las siguientes operaciones aritm´eticas sobre los
elementos de GF(2m) cuando se tiene una representaci´on de base
polinomial con reducci´on polinomial f (x):
◮ Adici´on: Si (am−1am−2 · · · a1a0) y (bm−1bm−2 · · · b1b0) son
elementos de GF(2m), entonces
a + b = c = (cm−1cm−2 · · · c1c0) donde ci = ai + bi mod 2.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
◮ Multiplicaci´on: Si (am−1am−2 · · · a1a0) y (bm−1bm−2 · · · b1b0)
son elementos de GF(2m), entonces
a · b = r = (rm−1rm−2 · · · r1r0) donde el polinomio
rm−1xm−1 + rm−2xm−2 + · · · + r1x + r0 es el residuo de la
divisi´on de
(am−1xm−1
+ · · · + a1x + a0) · (bm−1xm−1
+ · · · + b1x + b0)
entre f (x).
◮ Inversi´on: Si a es un elemento de GF(2m) diferente de cero, el
inverso de a, denotado por a−1, es el elemento c ∈ GF(2m)
tal que c · a = 1.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
Una representaci´on en base polinomial para GF(24
).
Sea
f (x) = x4
+ x + 1.
la reducci´on polinomial. Entonces los 16 elementos de GF(24) son:
0 1 x x + 1
(0000) (0001) (0010) (0011)
x2 x2 + 1 x2 + x x2 + x + 1
(0100) (0101) (0110) (0111)
x3 x3 + 1 x3 + x x3 + x + 1
(1000) (1001) (1010) (1011)
x3 + x2 x3 + x2 + 1 x3 + x2 + x x3 + x2 + x + 1
(1100) (1101) (1110) (1111)
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Definici´on de campo finito
Campo finito GF(p)
El campo finito GF(2m
)
Algunos ejemplos de operaciones aritm´eticas sobre GF(24) son:
◮ (1101) + (1001) = (0100).
◮ (1101) · (1001) = (1111) dado que
(x3 + x2 + 1) · (x3 + 1) = x6 + x5 + x2 + 1 y
(x6 + x5 + x2 + 1) m´od (x4 + x + 1) = x3 + x2 + x + 1.
◮ (1101)−1 = (0100).
El elemento α = x = (0010) es un generador del grupo
multiplicativo GF(24)∗, dado que es de orden 15 como se muestra
en el siguiente c´alculo:
α1
= (0010) α2
= (0100) α3
= (1000) α4
= (0011) α5
= (0110)
α6
= (1100) α7
= (1011) α8
= (0101) α9
= (1010) α10
= (0111)
α11
= (1110) α12
= (1111) α13
= (1101) α14
= (1001) α15
= (0001)
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Sea GF(p) un campo finito de caracter´ıstica p = 2, 3, y sean
a, b ∈ GF(p) tales que satisfacen la desigualdad 4a3 + 27b2 = 0.
Una curva el´ıptica E(a,b) sobre GF(p) se define como el conjunto
de puntos (x, y) ∈ GF(p) × GF(p) que satisfacen la ecuaci´on
y2
= x3
+ ax + b (1)
junto con un punto especial O, denominado el punto al infinito.
Estos puntos forman un grupo abeliano bajo la operaci´on aditiva
que describiremos a continuaci´on.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Aritm´etica de puntos en curvas el´ıpticas sobre GF(p)
Sea E(a,b) una curva el´ıptica sobre GF(p) y sean P y Q dos puntos
sobre E(a,b). Se tiene que P + O = O + P = P. Sean P = (x1, y1)
y Q = (x2, y2). Entonces −P = (x1, −y1) y P + (−P) = O. Si
Q = −P entonces P + Q = (x3, y3) donde
x3 = λ2
− x1 − x2
y3 = λ(x1 − x3) − y1,
y
λ =
(y2 − y1)/(x2 − x1) si P = Q
(3x2
1 + a)/(2y1) si P = Q
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Curva el´ıptica sobre GF(23)
Sea p = 23 y consid´erese la curva el´ıptica E : y2 = x3 + x + 1
definida sobre GF(23). Obs´ervese que
4a3 + 27b2 = 4 + 27 = 31 ≡ 8 (m´od 23). Los puntos en E son O
y los siguientes:
(0,1) (0,22) (1,7) (1,16) (3,10) (3,13) (4,0)
(5,4) (5,19) (6,4) (6,19) (7,11) (7,12) (9,7) (9,16)
(11,3) (11,20) (12,4) (12,19) (13,7) (13,16) (17,3) (17,20)
(18,3) (18,20) (19,5) (19,18).
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
El grupo E tiene 28 puntos (incluyendo al punto al infinito O). Los
siguientes son ejemplos de operaciones en el grupo:
◮ Sean P1 = (x1, y1) = (3, 10), P2 = (x2, y2) = (9, 7),
P1 + P2 = (x3, y3). Tenemos que:
λ =
y2 − y1
x2 − x1
=
7 − 10
9 − 3
=
−3
6
= 11,
x3 = λ2
− x1 − x2 = 112
− 3 − 9 = 6 − 3 − 9 = −6 = 17,
y3 = λ(x1 −x3)−y1 = 11(3−17)−10 = 11(9)−10 = 89 = 20.
Por lo tanto, P1 + P2 = (17, 20).
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
◮ Sea P1 = (x1, y1) = (3, 10), 2P1 = (x3, y3). Entonces
λ =
3x2
1 + a
2y1
=
3(32) + 1
20
=
5
20
=
1
4
= 6,
x3 = λ2
− 2x1 = 62
− 6 = 30 = 7,
y3 = λ(x1 −x3)−y1 = 6(3−7)−10 = −24−10 = −11 = 12.
Entonces 2P1 = (7, 12).
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Curvas el´ıpticas sobre GF(2m
)
Sea GF(2m) tal campo finito para alguna m ≥ 1.
Una curva el´ıptica E(a,b) sobre GF(2m) se define como el conjunto
de puntos (x, y) ∈ GF(2m) × GF(2m) que son soluciones de la
ecuaci´on
y2
+ xy = x3
+ ax2
+ b (2)
donde a, b ∈ GF(2m) y b = 0, junto con el punto de la curva al
infinito, O. Los puntos de la curva forman un grupo abeliano bajo
la operaci´on aditiva que describiremos a continuaci´on.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Aritm´etica de puntos en curvas el´ıpticas sobre GF(2m
)
Sea E(a,b) una curva el´ıptica sobre GF(2m). Sea P = (x1, y1) un
punto sobre E(a,b). Definimos −P como (x1, x1 + y1), de modo que
P + (−P) = (−P) + P = O. Ahora supongamos que P y Q son
diferentes de O y Q = −P. Sean P = (x1, y1) y Q = (x2, y2)
entonces P + Q = (x3, y3) donde
x3 = λ2
+ λ + x1 + x2 + a
y3 = λ(x1 − x3) + x3 + y1,
y
λ =
(y2 + y1)/(x2 + x1) si P = Q
(x2
1 + y1)/x1 si P = Q
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Curva el´ıptica sobre GF(24
).
Consid´erese GF(24) representado por el trinomio irreducible
f (x) = x4 + x + 1.
Consid´erese la curva el´ıptica E : y2 + xy = x3 + α4x2 + 1 sobre
GF(24).
Los puntos en E son O y los siguientes:
(0, 1) (1, α6) (1, α13) (α3, α8) (α3, α13)
(α5, α3) (α5, α11) (α6, α8) (α6, α14) (α9, α10)
(α9, α13) (α10, α) (α10, α8) (α12, 0) (α12, α12).
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Si P = (α6, α8) y Q = (α3, α13), entonces algunos ejemplos de
operaciones aritm´eticas son los siguientes:
◮ P + Q = (1, α13).
◮ 2P = (α10, α8).
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Descripci´on geom´etrica de la suma P + Q = R
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Descripci´on geom´etrica de la duplicaci´on 2 · P = R
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Potencias sobre curvas el´ıpticas
Sean E una curva el´ıptica y P un punto sobre la curva. Si n es un
entero positivo, definimos a la potencia n de P, denotada por nP,
como
nP = P + P + · · · + P
n veces
.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Si P es un punto sobre E, definimos al orden de P, denotado por
ord(P), como al menor entero n tal que nP = O. Puede observarse
que si n = ord(P) y k1 ≡ k2 (mod n) entonces k1P = k2P.
Dados dos puntos P y Q sobre E, el problema del logaritmo
discreto sobre curvas el´ıpticas consiste en encontrar una k,
suponiendo que existe, tal que Q = kP.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Curvas el´ıpticas sobre GF(p)
Curvas el´ıpticas sobre GF(2m
)
Aritm´etica de puntos en curvas el´ıpticas
Logaritmo discreto sobre curvas el´ıpticas
Los algoritmos conocidos a la fecha para resolver el problema del
logaritmo discreto sobre curvas el´ıpticas (PLDCE) son los
siguientes:
1. Busqueda Exhaustiva.
2. Algoritmo de Pohlig-Hellman.
3. Algoritmo de Paso-Enano Paso-Gigante.
4. Algoritmo Rho de Pollard.
5. Algoritmo Rho Paralelizado.
6. Algoritmo Lambda de Pollard.
7. Logaritmos M´ultiples.
8. Curvas el´ıpticas supersingulares.
9. Curvas definidas sobre un campo peque˜no.
10. Criptoan´alisis cu´antico.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Configuraci´on del sistema y generaci´on de claves
En primer lugar se deben elegir un campo finito subyacente GF(q),
una curva el´ıptica E definida sobre GF(q), y un punto P sobre E
de orden primo n. El campo GF(q), la curva E, el punto P y el
orden n forman los par´ametros del sistema y son p´ublicos.
Para generar sus claves, cada principal en el sistema debe realizar
el siguiente procedimiento:
1. Elegir un n´umero entero aleatorio d tal que 1 ≤ d < n.
2. Calcular el punto Q := dP.
3. La clave p´ublica del principal consiste en el punto Q.
4. La clave privada del principal es el entero d.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Esquema de cifrado
Si el principal B desea enviar el mensaje M en forma cifrada al
principal A debe realizar el procedimiento que se describe a
continuaci´on:
1. Obtener la clave p´ublica Q del principal A.
2. Representar al mensaje M por un elemento del campo
m ∈ GF(q).
3. Seleccionar un entero aleatorio k tal que 1 ≤ k < n.
4. Calcular el punto (x1, y1) := kP.
5. Calcular el punto (x2, y2) := kQ. Si x2 = 0 entonces ir al paso
3.
6. Calcular c := m · x2.
7. Transmitir el dato cifrado (x1, y1, c) a A.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Esquema de descifrado
Una vez que A recibe el mensaje cifrado (x1, y1, c) de B, para
descifrarlo realiza los siguientes pasos:
1. Calcula el punto (x2, y2) := d(x1, y1), usando su clave privada
d.
2. Recupera el dato m calculando m := c · x−1
2 .
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Firma digital
Supongamos que A desea firmar el mensaje M a enviar a B.
Entonces A debe realizar el siguiente procedimiento:
1. Usar un algoritmo de hash para calcular el valor de hash
e := H(M).
2. Seleccionar un entero aleatorio k tal que 1 ≤ k < n.
3. Calcular el punto (x1, y1) := kP y hacer r := x1 mod n.
4. Usar su clave privada para calcular s := k−1(e + rd) mod n.
5. A envia a B el mensaje M y su firma (r, s).
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Verificaci´on de la firma digital
Si el principal B desea verificar la firma (r, s) de A para el mensaje
M, debe realizar los siguientes pasos:
1. Obtener la clave p´ublica Q del principal A.
2. Si (r mod n) = 0 entonces rechazar la firma.
3. Calcular el valor de hash e := H(M).
4. Calcular s−1
mod n.
5. Calcular u := s−1
e mod n y v := s−1
r mod n.
6. Calcular al punto (x1, y1) := uP + vQ.
7. Aceptar la firma de A para el mensaje M si y solo si (x1 mod n) = r.
Si r = 0 entonces la ecuaci´on de la firma s = k−1
(e + rd) no involucra la
clave privada d, y de ah´ı la condici´on en el paso 4.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Algoritmo binario
Sea E una curva el´ıptica definida sobre un campo finito GF(q) y
sea P un punto sobre E de orden n. Sea k un entero positivo.
Deseamos calcular la potencia kP.
Sea k = (bm−1bm−2bm−3 · · · b2b1b0)2 la expansi´on binaria de k,
donde m es tal que bm−1 = 1.
Entonces
k = bm−12m−1
+ bm−22m−2
+ ... + b222
+ b12 + b0. (3)
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Utilizando la expansi´on de Horner tenemos
k = (· · · ((bm−12 + bm−2)2 + · · · + b1)2 + b0) (4)
de donde
kP = 2(· · · 2(2(2(bm−1P) + bm−2P) + · · · + b1P) + b0. (5)
Construyamos entonces la siguiente sucesi´on de puntos sobre la
curva,
P1 = 2P (6)
y
Pi =
2Pi−1 si bm−i = 0
2Pi−1 + P si bm−i = 1
(7)
para i = 2, · · · , m. Podemos f´acilmente observar que Pm = kP.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
El algoritmo binario requiere de ⌊log k⌋ duplicaciones de puntos y
de H(k) − 1 sumas.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
Cadenas de adici´on substracci´on
En las curvas el´ıpticas el inverso de un punto puede obtenerse
f´acilmente.
◮ Para las curvas y2 = x3 + ax + b sobre GF(p) el inverso de
(x, y) es (x, −y).
◮ Para las curvas y2 + xy = x3 + ax2 + b sobre GF(2m) el
inverso de (x, y) es (x, x + y).
Por lo tanto pueden considerarse representaciones de la forma
k =
i
ci 2i
(8)
donde ci ∈ {−1, 0, 1}. Una forma no adyacente (FNA) es una
representaci´on con ci ci+1 = 0. Se ha mostrado que
H(FNA) ≈ m/3.
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
Outline
Campos finitos
Curvas el´ıpticas
Criptosistemas de curvas el´ıpticas
Cifrado y descifrado
Firma digital
Evaluaci´on de potencias sobre curvas el´ıpticas
Trabajo desarrollado
◮ Implementaci´on de primitivas criptogr´aficas sobre curvas
el´ıpticas definidas en el campo GF(2m)
◮ Desarrollado en Gnu C++ para el sistema operativo Linux
◮ Portado posteriormente al sistema operativo Windows
◮ Actualmente ha sido portado a PDA con Linux
Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas

More Related Content

What's hot

What's hot (20)

Examen sumativo i
Examen sumativo iExamen sumativo i
Examen sumativo i
 
Integral definida
Integral definidaIntegral definida
Integral definida
 
Dominios f
Dominios fDominios f
Dominios f
 
Clase - funciones
Clase - funciones Clase - funciones
Clase - funciones
 
Intro parte5
Intro parte5Intro parte5
Intro parte5
 
Funciones
FuncionesFunciones
Funciones
 
De
DeDe
De
 
Intro parte2
Intro parte2Intro parte2
Intro parte2
 
Lecture 18 channel capacity
Lecture 18 channel capacityLecture 18 channel capacity
Lecture 18 channel capacity
 
Taller 3 funciones quiero que me ayuden a resolverlo
Taller 3 funciones quiero que me ayuden a resolverlo Taller 3 funciones quiero que me ayuden a resolverlo
Taller 3 funciones quiero que me ayuden a resolverlo
 
Taller 3 funciones quiero que me ayuden a resolverlo
Taller 3 funciones quiero que me ayuden a resolverloTaller 3 funciones quiero que me ayuden a resolverlo
Taller 3 funciones quiero que me ayuden a resolverlo
 
Funciones
FuncionesFunciones
Funciones
 
Actividades funciones. funciones_lineal_y_cuadratica
Actividades funciones. funciones_lineal_y_cuadraticaActividades funciones. funciones_lineal_y_cuadratica
Actividades funciones. funciones_lineal_y_cuadratica
 
Ejercitación funcion cuadratica
Ejercitación funcion cuadraticaEjercitación funcion cuadratica
Ejercitación funcion cuadratica
 
Aplicacion funcion cuadratica
Aplicacion funcion cuadraticaAplicacion funcion cuadratica
Aplicacion funcion cuadratica
 
48 logaritmos
48 logaritmos48 logaritmos
48 logaritmos
 
Grafos
GrafosGrafos
Grafos
 
Fundposori
FundposoriFundposori
Fundposori
 
Clase6
Clase6Clase6
Clase6
 
Toniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
ToniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiToniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
Toniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii
 

Viewers also liked

Capítulo 2: Criptoanálisis clásico
Capítulo 2: Criptoanálisis clásicoCapítulo 2: Criptoanálisis clásico
Capítulo 2: Criptoanálisis clásicoJuan Manuel García
 
Capítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaCapítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaJuan Manuel García
 
Capítulo 10: Aplicaciones especiales de la criptografía
Capítulo 10: Aplicaciones especiales de la criptografíaCapítulo 10: Aplicaciones especiales de la criptografía
Capítulo 10: Aplicaciones especiales de la criptografíaJuan Manuel García
 
Capítulo 9: Protocolos criptográficos
Capítulo 9: Protocolos criptográficosCapítulo 9: Protocolos criptográficos
Capítulo 9: Protocolos criptográficosJuan Manuel García
 
Modulo IV: Control de acceso y cortafuegos
Modulo IV: Control de acceso y cortafuegosModulo IV: Control de acceso y cortafuegos
Modulo IV: Control de acceso y cortafuegosJuan Manuel García
 
Seguridad en Redes de comunicacion
Seguridad en Redes de comunicacionSeguridad en Redes de comunicacion
Seguridad en Redes de comunicacionWilliam Matamoros
 
Modulo V: Acceso remoto y redes privadas virtuales
Modulo V: Acceso remoto y redes privadas virtualesModulo V: Acceso remoto y redes privadas virtuales
Modulo V: Acceso remoto y redes privadas virtualesJuan Manuel García
 
Seguridad en redes de comunicaciones
Seguridad en redes de comunicaciones Seguridad en redes de comunicaciones
Seguridad en redes de comunicaciones Rafa Bojorquez
 
Modulo II: Tecnología Criptográfica
Modulo II: Tecnología CriptográficaModulo II: Tecnología Criptográfica
Modulo II: Tecnología CriptográficaJuan Manuel García
 
Modulo III: Seguridad en Servidores
Modulo III: Seguridad en ServidoresModulo III: Seguridad en Servidores
Modulo III: Seguridad en ServidoresJuan Manuel García
 
Modulo VI: Detección de intrusos
Modulo VI: Detección de intrusosModulo VI: Detección de intrusos
Modulo VI: Detección de intrusosJuan Manuel García
 
Modulo I: Arquitectura de Seguridad Informática
Modulo I: Arquitectura de Seguridad InformáticaModulo I: Arquitectura de Seguridad Informática
Modulo I: Arquitectura de Seguridad InformáticaJuan Manuel García
 
Fundamento de redes de comunicaciones
Fundamento de redes de comunicacionesFundamento de redes de comunicaciones
Fundamento de redes de comunicacionesJohan Silva Cueva
 
Seguridad Informática en Redes de Computadores
Seguridad Informática en Redes de ComputadoresSeguridad Informática en Redes de Computadores
Seguridad Informática en Redes de ComputadoresWayner Barrios
 
Introducción a Kali Linux
Introducción a Kali LinuxIntroducción a Kali Linux
Introducción a Kali LinuxFrancisco Medina
 

Viewers also liked (20)

Capítulo 2: Criptoanálisis clásico
Capítulo 2: Criptoanálisis clásicoCapítulo 2: Criptoanálisis clásico
Capítulo 2: Criptoanálisis clásico
 
Telefónica en Securmática
Telefónica en SecurmáticaTelefónica en Securmática
Telefónica en Securmática
 
Capítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave públicaCapítulo 6: Criptografía de clave pública
Capítulo 6: Criptografía de clave pública
 
Capítulo 10: Aplicaciones especiales de la criptografía
Capítulo 10: Aplicaciones especiales de la criptografíaCapítulo 10: Aplicaciones especiales de la criptografía
Capítulo 10: Aplicaciones especiales de la criptografía
 
Capítulo 9: Protocolos criptográficos
Capítulo 9: Protocolos criptográficosCapítulo 9: Protocolos criptográficos
Capítulo 9: Protocolos criptográficos
 
Modulo IV: Control de acceso y cortafuegos
Modulo IV: Control de acceso y cortafuegosModulo IV: Control de acceso y cortafuegos
Modulo IV: Control de acceso y cortafuegos
 
Seguridad en Redes de comunicacion
Seguridad en Redes de comunicacionSeguridad en Redes de comunicacion
Seguridad en Redes de comunicacion
 
Cap 11 PKI con OpenSSL
Cap 11 PKI con OpenSSLCap 11 PKI con OpenSSL
Cap 11 PKI con OpenSSL
 
Modulo V: Acceso remoto y redes privadas virtuales
Modulo V: Acceso remoto y redes privadas virtualesModulo V: Acceso remoto y redes privadas virtuales
Modulo V: Acceso remoto y redes privadas virtuales
 
Seguridad en redes de comunicaciones
Seguridad en redes de comunicaciones Seguridad en redes de comunicaciones
Seguridad en redes de comunicaciones
 
SEGURIDAD CIBERNETICA
SEGURIDAD CIBERNETICASEGURIDAD CIBERNETICA
SEGURIDAD CIBERNETICA
 
Modulo II: Tecnología Criptográfica
Modulo II: Tecnología CriptográficaModulo II: Tecnología Criptográfica
Modulo II: Tecnología Criptográfica
 
Modulo III: Seguridad en Servidores
Modulo III: Seguridad en ServidoresModulo III: Seguridad en Servidores
Modulo III: Seguridad en Servidores
 
Modulo VI: Detección de intrusos
Modulo VI: Detección de intrusosModulo VI: Detección de intrusos
Modulo VI: Detección de intrusos
 
Modulo I: Arquitectura de Seguridad Informática
Modulo I: Arquitectura de Seguridad InformáticaModulo I: Arquitectura de Seguridad Informática
Modulo I: Arquitectura de Seguridad Informática
 
Fundamento de redes de comunicaciones
Fundamento de redes de comunicacionesFundamento de redes de comunicaciones
Fundamento de redes de comunicaciones
 
Seguridad Informática en Redes de Computadores
Seguridad Informática en Redes de ComputadoresSeguridad Informática en Redes de Computadores
Seguridad Informática en Redes de Computadores
 
auditoria forense
auditoria forenseauditoria forense
auditoria forense
 
Hamming y CRC
Hamming y CRCHamming y CRC
Hamming y CRC
 
Introducción a Kali Linux
Introducción a Kali LinuxIntroducción a Kali Linux
Introducción a Kali Linux
 

Similar to Capítulo 8: Criptografía de curvas elípticas

Ejercicios aplicados integrales11
Ejercicios aplicados integrales11Ejercicios aplicados integrales11
Ejercicios aplicados integrales11freddy carrasco
 
Capitulo 5 integracion
Capitulo 5 integracionCapitulo 5 integracion
Capitulo 5 integracionMario Diego
 
Introducción al Calculo Diferencial de una Función Real ccesa007
Introducción al Calculo Diferencial de una Función Real  ccesa007Introducción al Calculo Diferencial de una Función Real  ccesa007
Introducción al Calculo Diferencial de una Función Real ccesa007Demetrio Ccesa Rayme
 
Derivada de una función
Derivada de una funciónDerivada de una función
Derivada de una funciónCatag20
 
Guia quinto 2009
Guia quinto 2009Guia quinto 2009
Guia quinto 2009gtorres3112
 
Derivadas. teoremas
Derivadas. teoremasDerivadas. teoremas
Derivadas. teoremasklorofila
 
parcial calculo diferencial
parcial calculo diferencial parcial calculo diferencial
parcial calculo diferencial Edwar Gutierrez
 
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 2...
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 2...⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 2...
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 2...Victor Asanza
 
aplicaciones de la derivada.ppt
aplicaciones de la derivada.pptaplicaciones de la derivada.ppt
aplicaciones de la derivada.pptosornoosorno
 
Capitulo 4 sistemas_de_ecuaciones_no_lineales
Capitulo 4 sistemas_de_ecuaciones_no_linealesCapitulo 4 sistemas_de_ecuaciones_no_lineales
Capitulo 4 sistemas_de_ecuaciones_no_linealesmiguellagos19
 
Practica MN S04 G2 Método de Punto fijo 2022-2 .docx
Practica MN S04 G2 Método de Punto fijo 2022-2 .docxPractica MN S04 G2 Método de Punto fijo 2022-2 .docx
Practica MN S04 G2 Método de Punto fijo 2022-2 .docxHUBERTJAREDJIMENEZQU
 

Similar to Capítulo 8: Criptografía de curvas elípticas (20)

Ejercicios aplicados integrales11
Ejercicios aplicados integrales11Ejercicios aplicados integrales11
Ejercicios aplicados integrales11
 
Capitulo 5 integracion
Capitulo 5 integracionCapitulo 5 integracion
Capitulo 5 integracion
 
Suma de funciones
Suma de funcionesSuma de funciones
Suma de funciones
 
Introducción al Calculo Diferencial de una Función Real ccesa007
Introducción al Calculo Diferencial de una Función Real  ccesa007Introducción al Calculo Diferencial de una Función Real  ccesa007
Introducción al Calculo Diferencial de una Función Real ccesa007
 
Derivada de una función
Derivada de una funciónDerivada de una función
Derivada de una función
 
Guia quinto 2009
Guia quinto 2009Guia quinto 2009
Guia quinto 2009
 
Guia quinto 2009
Guia quinto 2009Guia quinto 2009
Guia quinto 2009
 
Derivadas. teoremas
Derivadas. teoremasDerivadas. teoremas
Derivadas. teoremas
 
Diseno frecuencial
Diseno frecuencialDiseno frecuencial
Diseno frecuencial
 
parcial calculo diferencial
parcial calculo diferencial parcial calculo diferencial
parcial calculo diferencial
 
Campos vectoriales
Campos vectorialesCampos vectoriales
Campos vectoriales
 
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 2...
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 2...⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 2...
⭐⭐⭐⭐⭐ SOLUCIÓN EVALUACIÓN FUNDAMENTOS DE ELECTRICIDAD Y SISTEMAS DIGITALES, 2...
 
aplicaciones de la derivada.ppt
aplicaciones de la derivada.pptaplicaciones de la derivada.ppt
aplicaciones de la derivada.ppt
 
CONCEPTO DE FUNCIÓN
CONCEPTO DE FUNCIÓN  CONCEPTO DE FUNCIÓN
CONCEPTO DE FUNCIÓN
 
Capitulo 4 sistemas_de_ecuaciones_no_lineales
Capitulo 4 sistemas_de_ecuaciones_no_linealesCapitulo 4 sistemas_de_ecuaciones_no_lineales
Capitulo 4 sistemas_de_ecuaciones_no_lineales
 
Practica MN S04 G2 Método de Punto fijo 2022-2 .docx
Practica MN S04 G2 Método de Punto fijo 2022-2 .docxPractica MN S04 G2 Método de Punto fijo 2022-2 .docx
Practica MN S04 G2 Método de Punto fijo 2022-2 .docx
 
Sumatorios con álgebra lineal
Sumatorios con álgebra linealSumatorios con álgebra lineal
Sumatorios con álgebra lineal
 
6 curvas
6 curvas6 curvas
6 curvas
 
Curvas
CurvasCurvas
Curvas
 
6 curvas
6 curvas6 curvas
6 curvas
 

Recently uploaded

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramDIDIERFERNANDOGUERRE
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 

Recently uploaded (20)

Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Explorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ramExplorando la historia y funcionamiento de la memoria ram
Explorando la historia y funcionamiento de la memoria ram
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 

Capítulo 8: Criptografía de curvas elípticas

  • 1. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Criptograf´ıa de Curvas El´ıpticas Juan Manuel Garc´ıa Garc´ıa 14 de octubre de 2010 Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 2. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Campos finitos Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m) Curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 3. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) Campo finito Un campo finito consiste de un conjunto finito de elementos F sobre el cual se definen un par de operaciones binarias + y ·, las cuales satisfacen las siguientes propiedades aritm´eticas: 1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo. 2. (F∗ = F − 0, ·) es un grupo abeliano, al que se denomina grupo multiplicativo del campo. 3. El producto tiene la propiedad distributiva respecto de la suma, esto es, a · (b + c) = a · b + a · c. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 4. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) El orden de un campo finito es el n´umero de elementos en el campo. Existe un campo finito de orden q si y solo si q es la potencia de un n´umero primo. Si q es la potencia de un primo, existe esencialmente un solo campo finito de orden q al cual denotaremos como GF(q). Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 5. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) El campo finito GF(p) Sea p un n´umero primo. El campo GF(p), denominado un campo primo, est´a compuesto por el conjunto de enteros {0, 1, . . . , p − 1} con las siguientes operaciones aritm´eticas: ◮ Adici´on: Si a, b ∈ GF(p), entonces a + b = r, donde r es el residuo de la divisi´on de a + b entre p y 0 ≤ r ≤ p − 1. Esta operaci´on es conocida como la suma m´odulo p. ◮ Multiplicaci´on: Si a, b ∈ GF(p), entonces a · b = s, donde s es el residuo de la divisi´on de a · b entre p. A esta operaci´on se le conoce como multiplicaci´on m´odulo p. ◮ Inversi´on: Si a un elemento de GF(p) diferente de cero, el inverso de a m´odulo p, denotado como a−1, es el entero ´unico c ∈ GF(p) tal que a · c = 1. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 6. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) Ejemplo 1 El campo finito GF(23). Los elementos de GF(23) son {0, 1, 2, . . . , 22}. Ejemplos de operaciones aritm´eticas sobre GF(23) son: ◮ 12 + 20 = 9. ◮ 8 · 9 = 3. ◮ 8−1 = 3. El elemento 5 es un generador de GF(23). Las potencias de 5 son: 50 = 1 51 = 5 52 = 2 53 = 10 54 = 4 55 = 20 56 = 8 57 = 17 58 = 16 59 = 11 510 = 9 511 = 22 512 = 18 513 = 21 514 = 13 515 = 19 516 = 3 517 = 15 518 = 6 519 = 7 520 = 12 521 = 14 522 = 1. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 7. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) El campo finito GF(2m ) El campo GF(2m), denominado un campo finito de caracter´ıstica dos o campo finito binario, puede ser visto como un espacio vectorial de dimensi´on m sobre el campo GF(2). Esto es, existen m elementos α0, α1, . . . , αm−1 en GF(2m) tales que cada elemento α ∈ GF(2m) puede ser escrito en forma ´unica como: α = a0α0 + a1α1 + · · · + am−1αm−1, donde ai ∈ {0, 1}. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 8. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) Al conjunto {α0, α1, . . . , αm−1} se le denomina una base de GF(2m) sobre GF(2). Dada una base tal, un elemento α del campo puede ser representado por la cadena de bits (a0a1 · · · am−1). La adici´on de elementos en el campo se realiza mediante el XOR bit a bit de sus representaciones vectoriales. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 9. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) Representaci´on en bases polinomiales Sea f (x) = xm + fm−1xm−1 + · · · + f2x2 + f1x + f0, donde fi ∈ {0, 1} para i = 0, 1, . . . , m − 1, un polinomio irreducible de grado m sobre GF(2). Entonces f (x) define una representaci´on de base polinomial de GF(2m), la cual describiremos a continuaci´on. El campo GF(2m) est´a compuesto por todos los polinomios sobre GF(2) de grado menor a m, GF(2m ) = am−1xm−1 + am−2xm−2 + · · · + a1x + a0 : ai ∈ {0, 1} . Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 10. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) Al elemento am−1xm−1 + am−2xm−2 + · · · + a1x + a0 usualmente se le denota por la cadena de bits (am−1am−2 · · · a1a0) de longitud m, de modo que GF(2m ) = {(am−1am−2 · · · a1a0) : ai ∈ {0, 1}} . Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 11. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) Se define entonces las siguientes operaciones aritm´eticas sobre los elementos de GF(2m) cuando se tiene una representaci´on de base polinomial con reducci´on polinomial f (x): ◮ Adici´on: Si (am−1am−2 · · · a1a0) y (bm−1bm−2 · · · b1b0) son elementos de GF(2m), entonces a + b = c = (cm−1cm−2 · · · c1c0) donde ci = ai + bi mod 2. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 12. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) ◮ Multiplicaci´on: Si (am−1am−2 · · · a1a0) y (bm−1bm−2 · · · b1b0) son elementos de GF(2m), entonces a · b = r = (rm−1rm−2 · · · r1r0) donde el polinomio rm−1xm−1 + rm−2xm−2 + · · · + r1x + r0 es el residuo de la divisi´on de (am−1xm−1 + · · · + a1x + a0) · (bm−1xm−1 + · · · + b1x + b0) entre f (x). ◮ Inversi´on: Si a es un elemento de GF(2m) diferente de cero, el inverso de a, denotado por a−1, es el elemento c ∈ GF(2m) tal que c · a = 1. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 13. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) Una representaci´on en base polinomial para GF(24 ). Sea f (x) = x4 + x + 1. la reducci´on polinomial. Entonces los 16 elementos de GF(24) son: 0 1 x x + 1 (0000) (0001) (0010) (0011) x2 x2 + 1 x2 + x x2 + x + 1 (0100) (0101) (0110) (0111) x3 x3 + 1 x3 + x x3 + x + 1 (1000) (1001) (1010) (1011) x3 + x2 x3 + x2 + 1 x3 + x2 + x x3 + x2 + x + 1 (1100) (1101) (1110) (1111) Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 14. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Definici´on de campo finito Campo finito GF(p) El campo finito GF(2m ) Algunos ejemplos de operaciones aritm´eticas sobre GF(24) son: ◮ (1101) + (1001) = (0100). ◮ (1101) · (1001) = (1111) dado que (x3 + x2 + 1) · (x3 + 1) = x6 + x5 + x2 + 1 y (x6 + x5 + x2 + 1) m´od (x4 + x + 1) = x3 + x2 + x + 1. ◮ (1101)−1 = (0100). El elemento α = x = (0010) es un generador del grupo multiplicativo GF(24)∗, dado que es de orden 15 como se muestra en el siguiente c´alculo: α1 = (0010) α2 = (0100) α3 = (1000) α4 = (0011) α5 = (0110) α6 = (1100) α7 = (1011) α8 = (0101) α9 = (1010) α10 = (0111) α11 = (1110) α12 = (1111) α13 = (1101) α14 = (1001) α15 = (0001) Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 15. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Sea GF(p) un campo finito de caracter´ıstica p = 2, 3, y sean a, b ∈ GF(p) tales que satisfacen la desigualdad 4a3 + 27b2 = 0. Una curva el´ıptica E(a,b) sobre GF(p) se define como el conjunto de puntos (x, y) ∈ GF(p) × GF(p) que satisfacen la ecuaci´on y2 = x3 + ax + b (1) junto con un punto especial O, denominado el punto al infinito. Estos puntos forman un grupo abeliano bajo la operaci´on aditiva que describiremos a continuaci´on. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 16. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Aritm´etica de puntos en curvas el´ıpticas sobre GF(p) Sea E(a,b) una curva el´ıptica sobre GF(p) y sean P y Q dos puntos sobre E(a,b). Se tiene que P + O = O + P = P. Sean P = (x1, y1) y Q = (x2, y2). Entonces −P = (x1, −y1) y P + (−P) = O. Si Q = −P entonces P + Q = (x3, y3) donde x3 = λ2 − x1 − x2 y3 = λ(x1 − x3) − y1, y λ = (y2 − y1)/(x2 − x1) si P = Q (3x2 1 + a)/(2y1) si P = Q Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 17. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Curva el´ıptica sobre GF(23) Sea p = 23 y consid´erese la curva el´ıptica E : y2 = x3 + x + 1 definida sobre GF(23). Obs´ervese que 4a3 + 27b2 = 4 + 27 = 31 ≡ 8 (m´od 23). Los puntos en E son O y los siguientes: (0,1) (0,22) (1,7) (1,16) (3,10) (3,13) (4,0) (5,4) (5,19) (6,4) (6,19) (7,11) (7,12) (9,7) (9,16) (11,3) (11,20) (12,4) (12,19) (13,7) (13,16) (17,3) (17,20) (18,3) (18,20) (19,5) (19,18). Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 18. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas El grupo E tiene 28 puntos (incluyendo al punto al infinito O). Los siguientes son ejemplos de operaciones en el grupo: ◮ Sean P1 = (x1, y1) = (3, 10), P2 = (x2, y2) = (9, 7), P1 + P2 = (x3, y3). Tenemos que: λ = y2 − y1 x2 − x1 = 7 − 10 9 − 3 = −3 6 = 11, x3 = λ2 − x1 − x2 = 112 − 3 − 9 = 6 − 3 − 9 = −6 = 17, y3 = λ(x1 −x3)−y1 = 11(3−17)−10 = 11(9)−10 = 89 = 20. Por lo tanto, P1 + P2 = (17, 20). Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 19. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas ◮ Sea P1 = (x1, y1) = (3, 10), 2P1 = (x3, y3). Entonces λ = 3x2 1 + a 2y1 = 3(32) + 1 20 = 5 20 = 1 4 = 6, x3 = λ2 − 2x1 = 62 − 6 = 30 = 7, y3 = λ(x1 −x3)−y1 = 6(3−7)−10 = −24−10 = −11 = 12. Entonces 2P1 = (7, 12). Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 20. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Curvas el´ıpticas sobre GF(2m ) Sea GF(2m) tal campo finito para alguna m ≥ 1. Una curva el´ıptica E(a,b) sobre GF(2m) se define como el conjunto de puntos (x, y) ∈ GF(2m) × GF(2m) que son soluciones de la ecuaci´on y2 + xy = x3 + ax2 + b (2) donde a, b ∈ GF(2m) y b = 0, junto con el punto de la curva al infinito, O. Los puntos de la curva forman un grupo abeliano bajo la operaci´on aditiva que describiremos a continuaci´on. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 21. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Aritm´etica de puntos en curvas el´ıpticas sobre GF(2m ) Sea E(a,b) una curva el´ıptica sobre GF(2m). Sea P = (x1, y1) un punto sobre E(a,b). Definimos −P como (x1, x1 + y1), de modo que P + (−P) = (−P) + P = O. Ahora supongamos que P y Q son diferentes de O y Q = −P. Sean P = (x1, y1) y Q = (x2, y2) entonces P + Q = (x3, y3) donde x3 = λ2 + λ + x1 + x2 + a y3 = λ(x1 − x3) + x3 + y1, y λ = (y2 + y1)/(x2 + x1) si P = Q (x2 1 + y1)/x1 si P = Q Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 22. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Curva el´ıptica sobre GF(24 ). Consid´erese GF(24) representado por el trinomio irreducible f (x) = x4 + x + 1. Consid´erese la curva el´ıptica E : y2 + xy = x3 + α4x2 + 1 sobre GF(24). Los puntos en E son O y los siguientes: (0, 1) (1, α6) (1, α13) (α3, α8) (α3, α13) (α5, α3) (α5, α11) (α6, α8) (α6, α14) (α9, α10) (α9, α13) (α10, α) (α10, α8) (α12, 0) (α12, α12). Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 23. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Si P = (α6, α8) y Q = (α3, α13), entonces algunos ejemplos de operaciones aritm´eticas son los siguientes: ◮ P + Q = (1, α13). ◮ 2P = (α10, α8). Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 24. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Descripci´on geom´etrica de la suma P + Q = R Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 25. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Descripci´on geom´etrica de la duplicaci´on 2 · P = R Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 26. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Potencias sobre curvas el´ıpticas Sean E una curva el´ıptica y P un punto sobre la curva. Si n es un entero positivo, definimos a la potencia n de P, denotada por nP, como nP = P + P + · · · + P n veces . Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 27. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Si P es un punto sobre E, definimos al orden de P, denotado por ord(P), como al menor entero n tal que nP = O. Puede observarse que si n = ord(P) y k1 ≡ k2 (mod n) entonces k1P = k2P. Dados dos puntos P y Q sobre E, el problema del logaritmo discreto sobre curvas el´ıpticas consiste en encontrar una k, suponiendo que existe, tal que Q = kP. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 28. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Curvas el´ıpticas sobre GF(p) Curvas el´ıpticas sobre GF(2m ) Aritm´etica de puntos en curvas el´ıpticas Logaritmo discreto sobre curvas el´ıpticas Los algoritmos conocidos a la fecha para resolver el problema del logaritmo discreto sobre curvas el´ıpticas (PLDCE) son los siguientes: 1. Busqueda Exhaustiva. 2. Algoritmo de Pohlig-Hellman. 3. Algoritmo de Paso-Enano Paso-Gigante. 4. Algoritmo Rho de Pollard. 5. Algoritmo Rho Paralelizado. 6. Algoritmo Lambda de Pollard. 7. Logaritmos M´ultiples. 8. Curvas el´ıpticas supersingulares. 9. Curvas definidas sobre un campo peque˜no. 10. Criptoan´alisis cu´antico. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 29. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Configuraci´on del sistema y generaci´on de claves En primer lugar se deben elegir un campo finito subyacente GF(q), una curva el´ıptica E definida sobre GF(q), y un punto P sobre E de orden primo n. El campo GF(q), la curva E, el punto P y el orden n forman los par´ametros del sistema y son p´ublicos. Para generar sus claves, cada principal en el sistema debe realizar el siguiente procedimiento: 1. Elegir un n´umero entero aleatorio d tal que 1 ≤ d < n. 2. Calcular el punto Q := dP. 3. La clave p´ublica del principal consiste en el punto Q. 4. La clave privada del principal es el entero d. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 30. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Esquema de cifrado Si el principal B desea enviar el mensaje M en forma cifrada al principal A debe realizar el procedimiento que se describe a continuaci´on: 1. Obtener la clave p´ublica Q del principal A. 2. Representar al mensaje M por un elemento del campo m ∈ GF(q). 3. Seleccionar un entero aleatorio k tal que 1 ≤ k < n. 4. Calcular el punto (x1, y1) := kP. 5. Calcular el punto (x2, y2) := kQ. Si x2 = 0 entonces ir al paso 3. 6. Calcular c := m · x2. 7. Transmitir el dato cifrado (x1, y1, c) a A. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 31. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Esquema de descifrado Una vez que A recibe el mensaje cifrado (x1, y1, c) de B, para descifrarlo realiza los siguientes pasos: 1. Calcula el punto (x2, y2) := d(x1, y1), usando su clave privada d. 2. Recupera el dato m calculando m := c · x−1 2 . Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 32. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Firma digital Supongamos que A desea firmar el mensaje M a enviar a B. Entonces A debe realizar el siguiente procedimiento: 1. Usar un algoritmo de hash para calcular el valor de hash e := H(M). 2. Seleccionar un entero aleatorio k tal que 1 ≤ k < n. 3. Calcular el punto (x1, y1) := kP y hacer r := x1 mod n. 4. Usar su clave privada para calcular s := k−1(e + rd) mod n. 5. A envia a B el mensaje M y su firma (r, s). Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 33. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Verificaci´on de la firma digital Si el principal B desea verificar la firma (r, s) de A para el mensaje M, debe realizar los siguientes pasos: 1. Obtener la clave p´ublica Q del principal A. 2. Si (r mod n) = 0 entonces rechazar la firma. 3. Calcular el valor de hash e := H(M). 4. Calcular s−1 mod n. 5. Calcular u := s−1 e mod n y v := s−1 r mod n. 6. Calcular al punto (x1, y1) := uP + vQ. 7. Aceptar la firma de A para el mensaje M si y solo si (x1 mod n) = r. Si r = 0 entonces la ecuaci´on de la firma s = k−1 (e + rd) no involucra la clave privada d, y de ah´ı la condici´on en el paso 4. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 34. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Algoritmo binario Sea E una curva el´ıptica definida sobre un campo finito GF(q) y sea P un punto sobre E de orden n. Sea k un entero positivo. Deseamos calcular la potencia kP. Sea k = (bm−1bm−2bm−3 · · · b2b1b0)2 la expansi´on binaria de k, donde m es tal que bm−1 = 1. Entonces k = bm−12m−1 + bm−22m−2 + ... + b222 + b12 + b0. (3) Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 35. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Utilizando la expansi´on de Horner tenemos k = (· · · ((bm−12 + bm−2)2 + · · · + b1)2 + b0) (4) de donde kP = 2(· · · 2(2(2(bm−1P) + bm−2P) + · · · + b1P) + b0. (5) Construyamos entonces la siguiente sucesi´on de puntos sobre la curva, P1 = 2P (6) y Pi = 2Pi−1 si bm−i = 0 2Pi−1 + P si bm−i = 1 (7) para i = 2, · · · , m. Podemos f´acilmente observar que Pm = kP. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 36. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado El algoritmo binario requiere de ⌊log k⌋ duplicaciones de puntos y de H(k) − 1 sumas. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 37. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado Cadenas de adici´on substracci´on En las curvas el´ıpticas el inverso de un punto puede obtenerse f´acilmente. ◮ Para las curvas y2 = x3 + ax + b sobre GF(p) el inverso de (x, y) es (x, −y). ◮ Para las curvas y2 + xy = x3 + ax2 + b sobre GF(2m) el inverso de (x, y) es (x, x + y). Por lo tanto pueden considerarse representaciones de la forma k = i ci 2i (8) donde ci ∈ {−1, 0, 1}. Una forma no adyacente (FNA) es una representaci´on con ci ci+1 = 0. Se ha mostrado que H(FNA) ≈ m/3. Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas
  • 38. Outline Campos finitos Curvas el´ıpticas Criptosistemas de curvas el´ıpticas Cifrado y descifrado Firma digital Evaluaci´on de potencias sobre curvas el´ıpticas Trabajo desarrollado ◮ Implementaci´on de primitivas criptogr´aficas sobre curvas el´ıpticas definidas en el campo GF(2m) ◮ Desarrollado en Gnu C++ para el sistema operativo Linux ◮ Portado posteriormente al sistema operativo Windows ◮ Actualmente ha sido portado a PDA con Linux Juan Manuel Garc´ıa Garc´ıa Criptograf´ıa de Curvas El´ıpticas