Академический Документы
Профессиональный Документы
Культура Документы
aplicaciones
Lloren Huguet Rotger
Josep Rif Coma
Juan Gabriel Tena Ayuso
PID_00200950
Los textos e imgenes publicados en esta obra estn sujetos excepto que se indique lo contrario a
una licencia de Reconocimiento-NoComercial-SinObraDerivada (BY-NC-ND) v.3.0 Espaa de
Creative Commons. Podis copiarlos, distribuirlos y transmitirlos pblicamente siempre que citis
el autor y la fuente (FUOC. Fundaci per a la Universitat Oberta de Catalunya), no hagis un uso
comercial y no hagis una obra derivada. La licencia completa se puede consultar en
http://creativecommons.org/licenses/by-nc-nd/3.0/es/legalcode.es
CC-BY-NC-ND PID_00200950
ndice
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.
1.1.
Aplicaciones bilineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.
El pairing de Weil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
1.3.
Pairing modificado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
1.3.1.
Construccin explcita de el . . . . . . . . . . . . . . . . . . . . . . . . . .
13
1.3.2.
El algoritmo de Miller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
Grado de inmersin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
2.
19
3.
21
3.1.
22
3.1.1.
22
3.1.2.
24
3.2.
25
3.3.
27
Ejercicios de autoevaluacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
31
Soluciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
32
Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
1.4.
CC-BY-NC-ND PID_00200950
Introduccin
CC-BY-NC-ND PID_00200950
Objetivos
En los materiales didcticos de este mdulo el estudiante encontrar los contenidos necesarios para alcanzar los objetivos siguientes:
CC-BY-NC-ND PID_00200950
En este apartado se describen los pairings definidos sobre una curva elptica y
se estudian sus propiedades. Se muestra asimismo cmo el grupo de llegada
de un pairing est contenido en un cuerpo finito, extensin del cuerpo base de
definicin de la curva, se define el grado de inmersin y se discute el valor del
mismo.
CC-BY-NC-ND PID_00200950
Formas cuadrticas
Lema 1.3.
Si f : V V K es una
forma bilineal simtrica la
aplicacin
q : V K, q(a) = f (a,a) se
denomina forma cuadrtica.
La teora de las formas
cuadrticas, estrechamente
relacionada con la de formas
bilineales simtricas, es una
rama importante del lgebra,
y sin duda es familiar al lector
a propsito del estudio de las
cnicas y cudricas.
Demostracin:
1) Supongamos f alternada; para a,b V se tendr:
0 = f (a + b,a + b) = f (a,a) + f (a,b) + f (b,a) + f (b,b) = 0 + f (a,b) + f (b,a) + 0
(1)
(2)
.
Definicin 1.4. Sea f : V1 V2 W una forma bilineal. Se denomina
.
Lema 1.5. El elemento 0 V1 pertenece a Kerizq y el elemento 0 V2
pertenece a Kerder
Observacin
La forma cuadrtica asociada
a la forma bilineal simtrica
f ((x,y),(x ,y )) =
axx + b(xy + x y) + cyy es la
q((x,y)) = ax2 + 2bxy + cy2 .
CC-BY-NC-ND PID_00200950
(3)
Ejemplo 1.2.
Sean K = R y V = R2 .
La aplicacin bilineal simtrica, f : VV K, f ((x,y),(x ,y )) = xx +yy , es no degenerada.
La aplicacin bilineal simtrica, f : V V K, f ((x,y),(x ,y )) = xx , es degenerada: todo
elemento (0,y) pertenece al ncleo por la izquierda (o por la derecha).
CC-BY-NC-ND PID_00200950
10
Las definiciones y propiedades antes enunciadas (simtrica, antisimtrica, alternada, no degenerada) siguen siendo vlidas en este caso, con los cambios
de notacin pertinentes (en particular el elemento neutro de C debe escribirse
ahora 1).
.
Definicin 1.9. Los puntos de l-torsin de una curva elptica son los
elementos del conjunto E[l] = {P E; l P = 0}, donde como habitual-
En las aplicaciones
criptogrficas basadas en el
logaritmo discreto elptico, se
trabaja en el grupo cclico
generado por un punto
P E. Si l es el orden de P
(usualmente primo) es
entonces el pairing el el que
se considera
Referencia bibliogrfica
J. H. Silverman (1986). The
Arithmetic of Elliptic Curves.
Springer-Verlag.
.
Lema 1.10.
Z/lZ Z/lZ
E[l](K)
(4)
CC-BY-NC-ND PID_00200950
11
Ejemplo 1.4.
Para l = 3 la curva elptica E : y2 = x3 + 7x, sobre el cuerpo F13 tiene sus 9 puntos de
3-torsin racionales, explcitamente
E[3] = {O,(3,3),(3,10),(4,1),(4,12),(9,5),(9,8),(10,2),(10,11)}
Estos puntos constituyen un subgrupo isomorfo al grupo Z/3Z Z/3Z, el cual contiene
cuatro subgrupos de orden tres, los cuales tienen en comn el elemento neutro.
G1 = {O,(3,3),(3,10)}
G2 = {O,(4,1),(4,12)}
G3 = {O,(9,5),(9,8)}
G4 = {O,(10,2),(10,11)}
Grupos de 3-torsin
G1
(3,3)
(3,10)
G2
G3
O
(4,1)
(4,12)
(9,5)
(9,8)
(10,2)
(10,11)
G4
CC-BY-NC-ND PID_00200950
12
.
Definicin 1.11. El pairing de Weil es una aplicacin:
el : E[l] E[l] l
(5)
4) Existen puntos P,Q E[l] tales que el (P,Q) es una raz primitiva lsima de la unidad, luego el es suprayectiva.
Nota
El pairing de Tate es ms general que el de Weil al exigir solo que el primer punto P est
en E[l], mientras que Q puede ser cualquier punto de la curva. Sin embargo, como se
ha mencionado, en las aplicaciones criptogrficas los puntos considerados estarn en el
subgrupo hPi engendrado por un punto P de orden l, y por tanto, son todos de l torsin.
1.3.
Pairing modificado
tambin que el (P, (P)) sea una raz primitiva de la unidad. Si l es primo, como es habitual, ambas condiciones son equivalentes.
Races primitivas
Se denomina raz primitiva de
orden n de la unidad aquella
cuyo orden es exactamente
n. Por ejemplo, en el cuerpo
C de los complejos el
elemento e2i/5 es una raz
de orden 15 de la unidad
(pues
(e2i/5 )15 = (e2i )3 = 13 = 1),
pero no es una raz primitiva
de orden 15, ya que su orden
es 5 (y por tanto, en realidad
es una raz primitiva de orden
5 de la unidad).
CC-BY-NC-ND PID_00200950
13
3) Puede probarse que E posee una tal aplicacin distorsin si y solamente si es supersingular (Blake y otros, 2005). Ello hace que las curvas supersingulares sean especialmente tiles en criptografa basada en pairings.
.
Definicin 1.13. Sea una aplicacin distorsin. Se define e(R,S) =
e(R, (S)). La aplicacin e se denomina pairing modificado.
Ntese que ahora tenemos e(P,P) 6= 1 y, por tanto, para R,S hPi, R,S 6= O
.
Definicin 1.14. Sea E una curva elptica,
1) Un divisor es una suma formal finita de puntos de E: D =
PE
nP (P),
PE
nP (P), D =
PE
nP (P) , la adicin: D +
de grupo abeliano.
3) Se define el grado de D : gr(D) =
nP Z.
CC-BY-NC-ND PID_00200950
14
Observacin
Definicin 1.15.
1) Funcin racional sobre E: Funcin del tipo f
F1 (x,y)
F2 (x,y)
con
ordP (f )(P)
donde
a) ordP (f ) = 0 si f (P) 6= 0,
PE
nP
f (P) .
.
Proposicin 1.16.
1) Un divisor principal tiene grado cero. Como consecuencia, dos divisores equivalentes tienen igual grado.
2) Un divisor con grado 0 no es necesariamente principal, pero admite
una expresin en forma cannica: D = (P) (O) + div(f ), con P nico.
3) Dados Di = (Pi ) (O) + div(fi ), i = 1,2, divisores de grado 0, pero no
principales (luego Pi 6= O) la forma cannica de su suma es
D = D1 + D2 = (P3 ) (O) + div(f1 f2 f3 )
(6)
nP = 0 y
en la curva elptica).
CC-BY-NC-ND PID_00200950
15
Ejemplo 1.5.
Sea la curva elptica E : y2 = x3 + x + 4 definida sobre el cuerpo finito F7 .
1) Sea la recta r : y = 2x + 2. Determinemos el divisor principal div(r):
El divisor de r es la combinacin lineal formal de los ceros y los polos de la recta en los
puntos de la curva elptica, contados con sus multiplicidades.
Para determinar los ceros hagamos la interseccin de E y r: sustituyendo y = 2x + 2 en
la ecuacin de E se obtiene la ecuacin x3 4x2 = 0. Esta ecuacin tiene la raz doble
x = 0 y la raz simple x = 4. Los ceros son pues los puntos (0,2), con multiplicidad
2 (puede comprobarse que la recta es tangente a la curva en este punto) y (4,3) con
multiplicidad 1.
En virtud de la Proposicin 1.16, div(r) debe tener grado 0. Puesto que hay 3 ceros (contados con sus multiplicidades) deben existir tres polos. Como, en los puntos afines de E,
la recta r no tiene polos, estos deben estar en el punto del infinito O = (0 : 1 : 0) de la
curva, punto que ser pues un polo de orden 3.
Ntese que si se escribe la ecuacin de E en coordenadas proyectivas: y2 z = x3 + xz2 + 4z3 ,
haciendo z = 0, se tiene x3 , polinomio de grado 3.
Por tanto,
2) Sea el divisor: D = 1(0,2) + 1(0,5) + (2)(6,3). Este divisor tiene grado 1+1-2=0. Sin
embargo, no es un divisor principal: en efecto, de acuerdo con la Proposicin 1.16 si
lo fuese debera tener grado 0, condicin que verifica, pero adems la suma en E de
los puntos del divisor debera ser el punto del infinito O. Sin embargo, utilizando las
frmulas de adicin.
A (P) (0),
B (Q) (O)
div(fA ) = lA,
div(fB ) = lB.
Se define entonces:
(7)
Ver tambin
Las frmulas de adicin se
estudian en el mdulo
Criptografa con curvas
elpticas de esta asignatura.
CC-BY-NC-ND PID_00200950
16
Observar que los divisores A,B deben ser disjuntos para que fA (B),fB (A) estn
bien definidos. Una forma de obtenerlos es tomar un punto S E con S 6=
fA (Q S)fB (S)
fA (S)fB (P + S)
(8)
El clculo del pairing se reduce pues a evaluar ciertas funciones en ciertos divisores. El problema es el computo de tales funciones fA ,fB . Tal cmputo puede realizarse eficientemente utilizando el siguiente algoritmo*. Este algoritmo
permite tambin el cmputo del pairing de Tate.
Pr
i=1
ni (Pi ) un
Pr
i=1
ni ((Pi ) (O))
ii) El mtodo para sumar divisores cannicos especificado en la ecuacin 6 proporciona para i = bd2 , . . . ,0:
a) fi := fi2 gRR ; R := 2R
b) Si bi = 1, fi := fi gRPi , R := R + Pi
c) Output fi .
donde, dados los dos puntos R,S,
CC-BY-NC-ND PID_00200950
17
Ejemplo 1.6.
Para la curva elptica del Ejemplo 1.4, E : y2 = x3 + 7x, definida sobre el cuerpo F13 , sean
los puntos de E: P = (3,3), Q = (4,1) ambos puntos de 3-torsin. El algoritmo de Miller
permite obtener
fA =
(9)
(10)
fB =
y finalmente e3 (P,Q) = 9.
isomorfo a l .
Demostracin: El grupo (Fqk ) es cclico, con cardinal qk 1. Tal grupo contendr un subgrupo de cardinal l si, y solamente si, l|(qk 1) es decir qk 1
mod l. Ahora bien, por hiptesis, mcd(q,l) = 1 y por tanto q (Z/lZ) , subgrupo de elementos invertibles de Z/lZ. El orden k de q en tal grupo ser una
solucin del problema.
.
Definicin 1.20. El mnimo valor k verificando el lema 1.19 se deno-
Observacin
El cardinal del grupo (Z/lZ) ,
igual al nmero de elementos
no nulos en Z/lZ coprimos
con l, se denomina la funcin
de Euler (l). En particular si l
es primo tenemos que
(l) = l 1. El orden
multiplicativo k del cardinal q
del cuerpo Fq es siempre un
divisor de (l).
El valor del grado de inmersin ser crucial para los ataques al logaritmo
discreto elptico, objeto del siguiente apartado. Recordemos que, en virtud
del teorema de Hasse, el cardinal de una curva elptica E viene dado por
de E.
Ver tambin
El teorema de Hasse se
estudia en el mdulo
Criptografa con curvas
elpticas.
CC-BY-NC-ND PID_00200950
18
Tipo I)
Tipo IV)
Tipo V)
Tipo VI)
Tipo
n1
q+1
II
q
p
2q
p
3q
2 q
(q + 1)/2
q+1 q
p
q + 1 2q
p
q + 1 3q
q1
III
IV
V
VI
3
4
6
1
CC-BY-NC-ND PID_00200950
19
Los pairings permiten un tipo de ataque al logaritmo discreto elptico, los denominados algoritmos de reduccin. As Menezes, Okamoto y Vanstone (1993)
muestran cmo trasladar, utilizando el pairing de Weil, dicho logaritmo, definido sobre una curva elptica sobre el cuerpo finito Fq al logaritmo discreto
sobre Fqk , con k el grado de inmersin.
Referencia bibliogrfica
Menezes, Okamoto y
Vanstone (1993).
Reducing elliptic curves
logarithms to a finite field.
IEEE Trans. Info. Theory
(vol. 39, pg. 1639-1646).
Ejemplo 2.1. Para la curva del Ejemplo 1.6 sobre Fq = 13 sea el punto R = (3,10) hPi.
Puesto que l = 3 y 3 F13 el grado de inmersin es 1.
El punto Q = (4,1) verifica que = e3 (P,Q) = 9, tiene orden 3 mdulo 13. Se obtiene que
= e3 (R,Q) = 3. Como 92 3 (mod 13) se tiene que logP (R) = 2, es decir R = 2P.
La utilidad del algoritmo MOV depende fuertemente del valor de k: recordemos que el logaritmo discreto clsico sobre el grupo multiplicativo (Fqk ) es
sensible al denominado Index Calculus, mientras que el logaritmo discreto
elptico es inmune al mismo, lo que posibilita emplear claves mucho menores. As claves de 163 bits en el caso elptico ofrecen la misma seguridad que
claves de 1024 bits en el caso clsico.
Ahora bien, lo que hace el algoritmo MOV es trasladar el problema en una curva elptica sobre el cuerpo Fq a un problema similar en Fqk . La longitud binaria
Lectura recomendada
Ver los detalles del ejemplo
2.1 en A. Menezes, Elliptic
Curves Public Key
Cryptography, Kluwer, 1993
y tambin uno de los
ejercicios al final del
mdulo.
Ver tambin
El logaritmo discreto clsico
sobre el grupo multiplicativo
se estudia en el mdulo
Elementos de criptografa.
CC-BY-NC-ND PID_00200950
20
Lectura recomendada
Frey y Ruck (1994). A
remark concerning
m-divisibility and the
discrete logarithm problem
in the divisor class group of
curves. Mathematics of
Computation (vol. 62, pg.
865-874) .
CC-BY-NC-ND PID_00200950
21
Una de las motivaciones de Diffie y Hellman para su introduccin de la criptografa de clave pblica fu el problema de la distribucin de claves (siendo
otra motivacin la firma digital). El aumento del nmero de usuarios de la
criptografa, al sumarse nuevos actores a los clsicos, gubernamentales y militares, hizo que potencialmente cada dos de tales usuarios A,B necesitasen en
Ver tambin
La criptografa de clave
pblica se estudia en el
mdulo Elementos de
criptografa de esta
asignatura.
Ver tambin
La infraestructura de clave
pblica (PKI) se estudia en el
mdulo Elementos de
criptografa de esta
asignatura.
Referencia bibliogrfica
A. Shamir (1994).
Identity-Based
Cryptosystems and
Signature Schemes.
Advances in Cryptology.
Proceedings of Crypto84.
Lecture Notes in Computer
Science, nm. 7, pgs. 47-53.
CC-BY-NC-ND PID_00200950
22
cierta clave secreta propia s, 1 < s < l, que le servir tanto para generar su
clave pblica, como claves privadas de los participantes.
En lo que sigue expondremos algunos de los mtodos bsicos de esta criptografa para el intercambio de claves, criptosistemas y firma digital.
Lectura recomendada
Para ms detalles sobre la
criptografa basada en la
identidad, ver la obra de
Blake y otros (2005) y la de
Luther (2008).
grupo cclico multiplicativo de un cuerpo finito), A y B eligen separadamente nmeros aleatorios nA ,nB ; 1 < nA ,nB < l, calculan los elementos del grupo
g nA , g nB y se intercambian estos valores.
La dificultad del problema computacional de Diffie-Hellman se considera equivalente a la del logaritmo discreto en el mismo grupo. Desde luego si un adversario pudiese resolver el problema del logaritmo discreto obtendra nA ,nB y
podra calcular g nA nB .
Un esquema semejante puede formularse en criptografa basada en la identidad utilizando pairings y la identidad IdA de cada usuario A (el nombre o cualquier otra informacin personal, como el e-mail, una foto digital, o cualquier
secuencia binaria seleccionada por A). Adems, en este tipo de criptografa,
existe la posibilidad de un protocolo de acuerdo tripartito de claves. Veamos
estos dos algoritmos.
Ver tambin
La funcin resumen se
estudia en el mdulo 3 de
esta asignatura.
CC-BY-NC-ND PID_00200950
23
.
Algoritmo 3.2.
(11)
(12)
Alicia
Bernardo
l(SA,PB) = KABC
l(PA,SB) = KABC
PB
PA
Parmetros
pblicos
SA
SB
Generador de claves
CC-BY-NC-ND PID_00200950
24
PA
Bernardo
Alicia
PB
nA
PA
KABC
nB
PB
KABC
Parmetros
pblicos
PC
PA
PC
PB
nC
PC
KABC
Carlos
Lectura recomendada
A. Joux (2000). A one
round protocol for tripartite
Diffie-Hellmann, LNCS
(vol. 1838, pgs. 385-394.
CC-BY-NC-ND PID_00200950
25
Ejemplo 3.1.
Lectura recomendada
y2
x3
Los tres participantes pueden calcular ahora la clave comn (para los clculos tener en
cuenta que i2 = 1 y reducir todas las operaciones mdulo 1303):
1) el (PB ,PC )71 = (172 + 256i)71 = 768 + 662i
2) el (PA ,PC )3 = (1227 + 206i)3 = 768 + 662i
3) el (PA ,PB )126 = (282 + 173i)126 = 768 + 662i
general, la AC,
Lectura recomendada
Boneh y Franklin (2001).
Identity based encryption
from the Weil pairing.
LNCS (vol. 2139,
pg. 213-229).
CC-BY-NC-ND PID_00200950
26
C1 = rP,
(donde
(13)
rias).
3) B enva a A el par C = (C1 ,C2 ).
1) calcula
el (SA ,C1 ) = el (sPA ,rP) = el (PA ,P)rs = el (PA ,sP)r = el (PA ,PAC )r ,
(14)
2) calcula
C2 h2 (el (SA ,C1 )) = M h2 (el (PA ,PAC ))r h2 (el (PA ,PAC ))r = M.
(15)
Observacin
Alicia
Bernardo
C = (C1,C2)
C2, l(SA,C1)
PA
Parmetros
pblicos
SA
C2
M,r
PAC
AC
Generador de claves
C1
CC-BY-NC-ND PID_00200950
27
1) calcula PA = h1 (IdA ),
2) toma S {0,1}n aleatoriamente,
3) calcula r = h3 (S,M),
4) calcula C = (C1 ,C2 ,C3 ) donde,
C1 = rP,
C3 = M h4 (S).
(16)
La seguridad del modelo completo de Boneh y Franklin se considera equiparable a la del problema bilineal de Diffie-Hellman.
Lectura recomendada
Para un anlisis de la
seguridad del modelo
completo de Boneh y
Franklin, ver la obra de
Blake y otros (2005) y la de
Luther (2008).
Ver tambin
La firma digital de un
mensaje se estudia en el
mdulo Elementos de
Criptografa de esta
asignatura.
CC-BY-NC-ND PID_00200950
28
.
Definicin 3.7.
1) Algoritmo de firma: Implica un cmputo en el que interviene el
mensaje M y la clave privada del firmante (la cual, en el caso de la
criptografa de clave pblica clsica, habr sido elegida por l mismo
y en el caso de la criptografa basada en la identidad le debe ser proporcionada por la AC) y una cierta funcin resumen. Este computo
produce un resultado F(M).
2) Algoritmo de verificacin: Recibido como input el mensaje M y
su firma F(M), tiene como output uno de los dos valores siguientes:
firma vlida firma no vlida
Ver tambin
Los diferentes tipos de firmas
se estudian en el mdulo
Elementos de Criptografa
de esta asignatura.
CC-BY-NC-ND PID_00200950
29
(17)
(18)
Bernardo
Verificador
Alicia
(M,F)
r
F1
F1,M,r
F2
F = (F1, F2)
F1
F2
?
l[] = l[]
PB
PA
Parmetros
pblicos
SA
PAC
AC
Generador de claves
CC-BY-NC-ND PID_00200950
30
Modelos de seguridad
atacante no es capaz de crear una firma que sea aceptable como vlida para
ningn mensaje) de la firma descrita, en el modelo de seguridad denominado
Random Oracle Model.
El siguiente esquema de firma de Boneh, Lynn y Shacham (2001), es especialmente eficiente y permite claves muy cortas.
.
Algoritmo 3.9.
La seguridad de un esquema
criptogrfico se demuestra en
el contexto de un modelo de
seguridad. En el modelo
estndar se trata de probar
que romper el sistema
implica resolver un problema
matemtico
computacionalmente
intratable. El modelo Random
Oracle demuestra la
seguridad asumiendo que las
funciones resumen utilizadas
son realmente funciones
aleatorias.
Lectura recomendada
Boneh, Lynn y Shacham
(2001). Short signatures
from the Weil pairings.
Asiacrypt 2001. LNCS (vol.
2248, pgs. 514-532)
PA = nA P.
nA h(M).
En este esquema el proceso de firma solo requiere una funcin resumen y una
multiplicacin escalar, mientras que la verificacin solo necesita calcular dos
pairings. Por otra parte, es posible el uso de claves de longitud pequea. As,
Barreto y otros (2002) han realizado una implementacin sobre el cuerpo F397
con longitud binaria log2 (397 ) = 97log2 3 154 bits, permitiendo el mismo
nivel de seguridad que el Digital Signature Algorithm, que utiliza claves de
320 bits.
Lectura recomendada
M. Barreto y otros (2002).
Efficient algorithms for
pairing-based
cryptosystems. CRYPTO
2002. LNCS (vol. 2442,
pgs. 354-368)
CC-BY-NC-ND PID_00200950
31
Ejercicios de autoevaluacin
1. Sea Fq cuerpo finito con q = pn elementos y sea Tr : Fq Fp la aplicacin traza. Sea la
aplicacin de dos variables: T : Fq Fq Fp , definida por: T(x,y) = Tr(xy).
a) T es una forma bilineal no degenerada (en el espacio vectorial Fq , de dimensin n sobre
el cuerpo Fp ).
b) Supongamos que n no es mltiplo de la caracterstica p. Probar que T es no degenerada.
2. Sea V un espacio vectorial de dimensin n sobre un cuerpo conmutativo K y B = {v1 ,v2 ,
. . . ,vn } una base de V. Si f : V V K es una forma bilineal simtrica, se denomina DisB (f ),
discriminante de f en la base B, al determinante de la matriz, n n: (f (vi ,vj )). Probar:
a) Si el discriminante de f es nulo (respectivamente no-nulo) en la base B, es nulo (respectivamente no nulo) en otra base B
b) La aplicacin f es no degenerada si, y solamente si, el discriminante en cualquier base es
no nulo.
3. Sea la curva elptica E : y2 = x3 + x definida sobre el cuerpo finito F7 .
a) Sea la recta r : y = x. Determinar el divisor principal div(r).
b) Sean los dos divisores: D1 = 2(1,4) + (1)(5,5); D2 = 1(1,3) + 2(5,5). Utilizando el punto anterior encontrar divisores D1 , D2 equivalentes a D1 y D2 y que tengan soportes
disjuntos.
Traza
En los ejercicios del mdulo
Cuerpos finitos se introdujo
la nocin de aplicacin traza,
la cual asigna a un elemento
x Fq el elemento de Fp
traza de la multiplicacin por
x en el espacio vectorial Fq
sobre Fp .
4. Sea la curva elptica E : y2 = x3 +1 definida sobre el cuerpo finito F11 y sea la recta r : x = 0.
Determinar el divisor div(r).
5. Sea un endomorfismo de la curva elptica E, P E un punto de orden primo l y el el
pairing de Weil. Probar que el (P, (P)) 6= 1 si y solamente si ambos puntos son linealmente
independientes.
6. Sea la curva elptica E : y2 = x3 + 7x definida sobre el cuerpo F13 y los puntos de 3-torsin
de E: P = (3,3), R = (3,10). En el ejemplo 2.1 se ha mostrado que R = 2P. Probar este resultado
sin utilizar el algoritmo de Miller.
7. Sea p = 101 y la curva elptica sobre F101 , E : y2 = x3 + 1, con cardinal 102. El punto
P = (87,61) pertenece a la curva y tiene orden 17 (lo que puede comprobarse utilizando las
frmulas de adicin de puntos de una curva elptica).
a) Calcular el grado de inmersin de e17 .
b) Sea la aplicacin : E E; (x,y) = (x,y) donde 3 = 1. El elemento no est en el
cuerpo F101 , sino en su extensin de grado 2, F1012 , (en efecto es raz del polinomio
x2 + x + 1, irreducible sobre F101 ). Probar que es una aplicacin distorsin para P.
8. Sea p = 547 y la curva elptica sobre F547 , E : y2 = x3 + x, con cardinal 548. El punto
P = (67,481) E tiene orden l = 137.
a) Calcular el grado de inmersin de e137 .
b) Sea la aplicacin : E E; (x,y) = (x,iy) donde i2 = 1, elemento en F5472 (raz
del polinomio x2 + 1, irreducible sobre F547 ). Probar que es una aplicacin distorsin
para P.
9. Sean los mismos datos del ejercicio anterior y sea e137 el pairing modificado correspondiente a P y . Tres participantes A,B,C desean acordar una clave comn KABC mediante el
protocolo de acuerdo tripartito de Joux.
a) Los participantes eligen y guardan secretos los valores: nA = 4, nB = 10, nC = 5. Calcular
los puntos PA = 4P, PB = 10P, PC = 5P
b) Conocidos los puntos calculados en el apartado anterior y supuesto que nos dan como
datos los valores,
i) e137 (PB ,PC ) = 151 + 135i.
ii) e137 (PA ,PC ) = 74 + 514i.
iii) e137 (PA ,PB ) = 11 + 39i.
Calcular la clave comn del protocolo dado en el algoritmo 3.3.
10. Escribir un script en SAGE que permita calcular la clave comn KABC del algoritmo de
Joux, sabiendo la clave privada nA de A y las claves pblicas PB y PC de B y C, respectivamente.
Los datos pblicos, o sea el cuerpo finito, la curva elptica, el punto P y la distorsin que
permite definir el pairing de Weil modificado son los mismos que en el ejercicio 1-8.
Calcular la clave acordada entre los tres participantes en el caso en que nA = 7, PB = (97,151)
y PC = (497,498).
Ver tambin
Las curvas elpticas se
estudian en el mdulo
Criptografa con curvas
elpticas de esta asignatura.
CC-BY-NC-ND PID_00200950
32
Soluciones
1) a) T es bilineal por ser lineal en cada variable. La simetra se deduce de la conmutatividad
del producto en Fq .
b) Sea x 6= 0 un elemento de Fq . Veamos que existe un y tal que T(x,y) 6= 0. Basta tomar
y = x1 : en efecto, T(x,x1 ) = Tr(xx1 ) = Tr(1) = n 6= 0 (pues n no es mltiplo de p).
P
2) a) Sean las ecuaciones del cambio de base vi = j cij vj , o matricialmente B = CB donde
C es una matriz inversible y por tanto con determinante no nulo. Sustituyendo estas
ecuaciones en DisB (f ) y utilizando la propiedad de bilinealidad, se obtiene DisB (f ) =
|C|2 DisB (f ) de donde el resultado.
b) Supongamos nulo el discriminante (en cualquier base B). Existir pues una combinacin
lineal no trivial 1 F1 + + n Fn = 0 entre las filas Fi de la matriz (f (vi ,vj )), luego para
todo j se tiene una relacin: 1 f (v1 ,vj ) + + n f (vn ,vj ) = 0. Denotando w = 1 v1 + +
n vn (w 6= 0, pues los i no son todos nulos) y utilizando las propiedades de bilinealidad
de f se obtiene f (w,vj ) = 0. Como ello es cierto para todos los vectores vj de la base
tambin f (w,v) = 0, v V, luego w es un elemento del ncleo de f (por la derecha y
por la izquierda), luego f es degenerada.
El recproco es anlogo. Si f es degenerada existir un vector no nulo w V tal que
f (w,v) = 0, v V. Si w = 1 v1 + n vn , se deduce entonces una relacin de dependencia
entre las filas Fi con coeficientes i .
3) a) Para determinar el divisor de r hay que encontrar los ceros y los polos de la recta en los
puntos de la curva elptica, contados con sus multiplicidades.
Para determinar los ceros hagamos la interseccin de E y r: sustituyendo y = x en la
ecuacin de E se obtiene la ecuacin x3 x2 + x = 0. Una raz de esta ecuacin de tercer
grado es x = 0. Resolviendo (en el cuerpo F7 ) la ecuacin x2 x + 1 se obtienen las otras
dos races: x = 5; x = 3. Los ceros son pues los puntos (0,0), (3,3), (5,5) los cuales tienen
multiplicidad 1 (puesto que son distintos).
Como en el ejemplo 1.5 se muestra que existe un polo de orden 3 en el punto del infinito
O = (0 : 1 : 0).
Por tanto,
b) Los divisores D1 ,D2 tienen soportes con el punto comn (5,5). Si se observa que este
punto aparece tambin en el soporte de div(r) resulta razonable tomar,
CC-BY-NC-ND PID_00200950
33
Ver tambin
Las frmulas de adicin de
puntos en E se han dado en
el mdulo Criptografa con
curvas elpticas de esta
asignatura.
7) a) El grado de inmersin es el menor k tal que 17 divide a 101k 1. Fcilmente se comprueba que k = 2, lo que tambin se habra podido deducir del hecho de ser E curva
supersingular de tipo I (ver Proposicin 1.21).
b) En primer lugar, es necesario mostrar que es realmente una aplicacin de E en E, es
decir, que si (x,y) es un punto de la curva tambin lo es (x,y). Teniendo en cuenta la
ecuacin de la curva y que 3 = 1, la comprobacin es trivial. Es tambin inmediata la
linealidad de , por tanto es un endomorfismo de la curva.
Puesto que (P) no tiene coeficientes en F103 , no puede ser un mltiplo de P es decir P y
(P) son linealmente independientes y por tanto (ver un problema anterior) e17 (P, (P) 6=
1, es decir es una aplicacin distorsin.
8) De forma anloga al problema anterior se obtiene,
a) El grado de inmersin es 2 (E curva supersingular de tipo II, ver 1.4).
b) Si (x,y) E se comprueba que (x,iy) lo es tambin. Asimismo, se comprueba la linealidad
de , por tanto es un endomorfismo de la curva.
El mismo razonamiento del problema anterior es aplicable para comprobar que es una
aplicacin distorsin.
9) a) Utilizando las frmulas de adicin y doblado de puntos en una curva elptica, se obtiene:
i) PA = 4(67,481) = (391,472)
ii) PB = 10(67,481) = (157,5)
iii) PC = 5(67,481) = (395,379)
b) Aplicando el algoritmo 3.3 y realizando las operaciones correspondientes en el cuerpo
F5472 (es decir, reduciendo los clculos mdulo 547 y teniendo en cuenta que i2 = 1),
se obtiene:
i) A calcula (151 + 135i)4 = 137 + 289i.
ii) B calcula (74 + 514i)10 = 137 + 289i.
iii) C calcula (11 + 39i)5 = 137 + 289i.
10) La descripcin del script la haremos directamente sobre cada uno de los comandos que
utilizamos.
CC-BY-NC-ND PID_00200950
34
Ahora solo nos queda entrar los datos del problema concreto que queremos resolver y encontrar el resultado:
sage: P=E(67,481)
# Construimos el punto P y comprobamos su orden
137
sage: Px=Ex(P)
#El punto P sobre la curva elptica calculada en el nuevo cuerpo extendido.
sage: PB = Ex(97,151), PC = Ex(497,498)
# los puntos que nos da el enunciado
sage: nA = 47;
# la clave privada de A
sage: W = weil_pairing_modificat(PB,PC,137); KABC = W**nA; KABC
54 + 198 alpha
CC-BY-NC-ND PID_00200950
35
Bibliografa
Blake, I.; Seroussi, G.; Smart, N. (2000). Elliptic Curves in Cryptography. London
Mathematical Society Lecture Note Series (nm. 265). Cambridge: Cambridge U. Press.
Blake, I.; Seroussi, G.; Smart, N. (2005). Advances in Elliptic Curves in Cryptography.
London Mathematical Society Lecture Note Series (nm. 317). Cambridge: Cambridge U. Press.
Hoffstein, J.; Pipher, J.; Silverman, J. (2008). An Introduction to Mathematical Cryptography. Undergraduate Texts in Mathematics. Nueva York: Springer.
Martin, L. (2008). Introduction to Identity-based Encryption. Artech House Inc. Massachusetts: Norwood.