Software de Telecomunicações
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 1/42
Curvas elípticas
Curvas elípticas sobre corpos (1)
• Curvas elípticas têm sido estudadas há quase 2 séculos
• A dificuldade torna-as pouco “apetecíveis” para os planos
de estudos (básico e universitário)
Problema: qual o número de bolas de
uma pirâmide, onde cada andar tem
o quadrado da distância ao topo, i.e.
uma pirâmide, onde cada andar tem
o quadrado da distância ao topo, i.e.
1
2, 2
2, 3
2, 4
2, … n
2Resposta
• Problema: que alturas da pirâmide formam quadrado
perfeito?
• 6y
2=2x
3+3x
2+x tem apenas 2 soluções em N: (1,1) e
(24,70)-4900 bolas!
6
)
1
2
)(
1
(
1 2=
+
+
∑
=n
n
n
i
n iCurvas elípticas sobre corpos (2)
Definição: Uma curva elíptica sobre o corpo F é
definida por:
– pares de valores que (x,y) satisfazem a equação
Y2 + a
1XY + a3Y = X3 + a2X2 + a4X + a5(ai∈F)
– ponto no infinito O
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 3/42
– ponto no infinito O
Na criptografia são de interesse dois tipos de corpos finitos:
– F(p), com p primo
– F(2
m)
Curvas elípticas sobre corpos (3)
A. Curvas elípticas sobre corpos finitos primos, com p>3
A equação da curva elíptica é simplificada com as substituições X → X - a3/3
Y → Y - (a1X+a3 ) /2
Y2 = X3 + aX + b (forma normal de Weierstrass)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 4/42 Y2 = X3 + aX + b (forma normal de Weierstrass)
Para um dado x, a equação tem 2 raízes se o discriminante não for nulo
4a3+27b2≠ 0
Nota1: a igualdade é módulo p
Nota2: curva elíptica de função característica ≠ 3 pode ser
reescrita na forma normal Legendre Y
2= X(X-1)(X-λ)
Curvas elípticas sobre corpos (4)
Y
2= X
3(a=0, b=0)
6
Exemplo A
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 5/42
-6 0
0 1 2 3 4
Nota: não é curva elíptica,
porque 4*(0)
3+27*(0)
2=0
ponta (“cusp”)
Curvas elípticas sobre corpos (5)
Y
2= X
3-1
(a=0, b=-1)
6Exemplo B
-6 0 0 1 2 3 4Curvas elípticas sobre corpos (6)
Y
2= X
3-3X+3
(a=-3, b=3)
6
Exemplo C
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 7/42
(a=-3, b=3)
-6 0
-3 -2 -1 0 1 2 3 4
Curvas elípticas sobre corpos (7)
6
Y
2= X
3-3X+2 = (X-1)
2(X+2)
(a=-3, b=2)
nó
Exemplo D
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 8/42
-6 0
-3 -2 -1 0 1 2 3 4
Nota: não é curva elíptica,
porque 4*(-3)
3+27*(2)
2=0
Curvas elípticas sobre corpos (8)
Y
2= X
3-X
(a=-1, b=0)
6
Exemplo E
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 9/42
(a=-1, b=0)
-6 0
-2 -1 0 1 2 3 4
Curvas elípticas sobre corpos (9)
B. Curvas elípticas sobre corpos finitos binários F(2
m)
Para a1 ≠0 (curvas não “supersingulares”), a equação da curva elíptica é simplificada com as substituições
X → a12X - a 3/a1 Y → a13Y - (a 12a4+a32) /a13 1 1 4 3 1 Y2 + XY = X3 + aX + b
Nota: Curvas “supersingulares” descritas pela equação Y2+Y=X3+aX+b.
A computação é fácil, mas o problema do logaritmo discreto é resolvido de forma eficiente pelo que não são usadas na criptografia.
CE como grupo (1)
Uma CE é um grupo abeliano: vejamos graficamente para
F(p)
6
Q
-(P+Q) 1. Inverso: negação da coordenada y
{se P=(x,y), então –P=(x,-y)} 2. Soma: três pontos colineares (i.e.,
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 11/42 -6 0 -2 -1 0 1 2 3 4 P Q (P+Q) 2. Soma: três pontos colineares (i.e.,
intersectam a mesma recta) somam sempre O. Logo, P+Q é o inverso do 3º ponto de intersecção da linha que cruza os pontos P e Q
CE como grupo (2)
3. Duplicação: desenhar tangente, que corta curva no ponto -2P 4. Elemento neutro: ponto no infinito O
O
P + (-P) = O
6
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 12/42 P -P
P + (-P) = O
-6 0 -2 -1 0 1 2 3 4Analiticamente para F(p)
– A recta que une pontos P e Q tem por equação y = λx+β • λ = (y2-y1)/(x2-x1)
• β = y1-λx1
– O ponto (x3, λx3+β) satisfaz a eq. (λx3+β)2= x
33+ax3+b
módulo p
CE como grupo (3)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 13/42 F(p): Y2 = X3+aX+b F(2m): Y2+XY = X3+aX+b
P+Q x3 = λ2 - x 1 - x2 y3 = λ(x1-x3) - y1 λ = (y2-y1)/(x2-x1) x3 = λ2 + λ + x 1 + x2 + a y3 = λ(x1+x3) + x3 + y1 λ = (y2+y1)/(x2+x1) 2P x3 = λ2 - x 1 - x2 y3 = λ(x1-x3) - y1 λ = (3x12+a)/(2y 1) x3 = λ2 + λ + a y3 = x12 + (λ + 1)x 3 λ = x1+ y1/x1 -P (x, -y) (x, x+y)
– O ponto (x3, x3+ ) satisfaz a eq. ( x3+ ) = x3 +ax3+b
Nota: demonstração
da associatividade
de + não é trivial
módulo p
Em GF(2m)
Curvas elípticas sobre F
p
(1)
Definição: A curva elíptica sobre Z
p, E
p(a,b), é formada
pelos elementos (x,y), com x,y∈Z
p, que satisfazem a
equação
y
2= x
3+ ax + b mod p
Nota: Para x≠0 existem dois pontos simétricos ao eixo y=p/2.
Nota: Para x≠0 existem dois pontos simétricos ao eixo y=p/2.
• Teorema Poincaré (1900): E
p(a,b) é um sub-grupo de E,
i.e.
– existe elemento neutro,
– + e * realizam-se dentro de Ep(a,b),
Curvas elípticas sobre F
p
(2)
• Os cálculos do valor de -P, P+Q e 2P são os mesmos da
CE sobre reais, módulo p!
• O valor real do número de elementos #E
p(a,b) é dado pelo
algoritmo SEA “Schoof- Elkies –Atkin”.
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 15/42
algoritmo SEA “Schoof- Elkies –Atkin”.
• Teorema Hasse (1922): #E
p(a,b)=p+1-t,
|
t
|
≤
2√p.
Para p elevado, #E
p(a,b) ≈ p.
Nota: a curva diz-se supersingular sse t
2=nq, 0≤n≤4
10 12 14 16 18 20 22
Exemplo; E
23(1,1)
7
2= 9
3+ 1*9 +1 mod 23
49 mod 23 = 739 mod 23 (=3)Curvas elípticas sobre Fp (3)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 16/42
0 2 4 6 8 10 0 2 4 6 8 10 12 14 16 18 20 22
• Negação de (9,7):
(9,-7) mod 23=(9,-7+23)=(9,16)• Soma de (9,7) com (5,4):
λ = ((4-7)/(5-9) mod 23=(-3/-4) mod 23 = (-3).(-4)-1mod 23=20.(19)-1mod 23 = 20.17 mod 23=18 x3= (182-9-5)mod 23=310 mod 23=11 y3= (18(9-11)-7)mod 23=-43 mod 23=3Curvas elípticas sobre F
p
(4)
• Duplicação de (9,7)
λ = (3.9
2)/(2.7) mod 23 = 13.(14)
-1mod 23
= 13.5 mod 23 = 19
x
3= 19
2-9-9 mod 23 = 323 mod 23 = 1
y
3= 19.(9-1)-7 mod 23 = 145 mod 23 = 7
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 17/42
y
3= 19.(9-1)-7 mod 23 = 145 mod 23 = 7
Logo, 2*(9,7)=(1,7)
Curvas elípticas sobre F
2
m
(1)
Definição: A curva elíptica sobre GF(2
m), E
2
m(a,b), é
formada pelos elementos (x,y) x,y∈
∈
∈2
∈
mque satisfazem a
equação
y
2+ xy = x
3+ ax + b com a,b∈
∈
∈2
∈
n(b≠0)
• Por agora usamos representação polinomial de x,y (operações • Por agora usamos representação polinomial de x,y (operações
artiméticas mais simples, embora menos eficientes)
• Todos os cálculos de avaliações de –P, P+Q e 2P (P,Q∈∈∈∈2m) são feitos
na aritmética do corpo GF(2m) - ver álgebra linear
– A soma em GF(2m) trivial
– A multiplicação e a inversa não são triviais
Curvas elípticas sobre F
2
m
(2)
Exemplo: Seja E
24(g
4,1) e a equação y
2+ xy = x
3+g
4x
2+g
0.
Os elementos de F(2
4), gerados pela base g=(0010) e pelo
polinómio irredutível f(x) = x
4+ x
3+ 1 são:
g0=g15=(0001), g1=(0010), g2=(0100), g3=(1000), g4=(1001), g5=(1011),
g6=(1111), g7=(0111), g8=(1110), g9=(0101), g10=(1010), g11=(1101),
g12=(0011), g13=(0110), g14=(1100), O=(0000)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 19/42 g12=(0011), g13=(0110), g14=(1100), O=(0000)
– Para x=0, apenas y=g0satisfaz a equação. (0,g0) é denominado ponto
singular
– Para x=g0=1, que y=gisatisfaz a equação (gi)2+g0gi=(g0)3+g4(g0)2+g0 ?
g2i+gi=g0+g4(g0)2+g0 ∴ g2i+gi=g4 Resposta, nenhum!
– Para x=g3, que y=gisatisfaz a equação (gi)2+g3gi=(g3)3+g4(g3)2+g0 ?
g2i+gi+3=g9+g10+g0 ∴ g2i+gi+3=g6 Resposta, i=8 e i=13
i g2i g(i+3) g2i+g(i+3) 0 0001 1000 1001 1 0100 1001 1101 2 1001 1011 0010 3 1111 1111 0000 4 1110 0111 1001 5 1010 1110 0100
x=g
3 8 10 12 14 16Curvas elípticas sobre F
2
m
(3)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 20/42
5 1010 1110 0100 6 0011 0101 0110 7 1100 1010 0110 8 0010 1101 1111 9 1000 0011 1011 10 1011 0110 1101 11 0111 1100 1011 12 0101 0001 0100 13 1101 0010 1111 14 0110 0100 0010 15 0001 1000 1001
Nota: uma vez que g
15=1, g
(a+15)=g
a0 2 4 6 8 0 2 4 6 8 10 12 14 16
Definição: Dada uma curva elíptica E
q(a,b), q primo ou
2
m, e um ponto base G=(x,y)∈
∈
∈
∈E
q
(a,b) a ordem é o
menor inteiro n tal que nG = O.
Exemplo: seja E23(1,1) e G=(9,7)
Ordem de um elemento (1)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 21/42
n λ x3 y3 nP 1 (9,7) 2 19 1 7 (1,7) 3 0 13 16 (13,16) 4 8 19 5 (19,5) 5 9 7 11 (7,11) 6 21 11 20 (11,20) 7 18 5 19 (5,19) n λ x3 y3 nP 8 20 18 20 (18,20) 9 4 12 4 (12,4) 10 22 3 10 (13,10) 11 11 17 20 (17,20)
Ordem de um elemento (2)
11 11 17 20 (17,20) 12 9 7 11 (7,11) 13 6 4 0 (4,0) … 26 (9,16)27P = 26P+P = (9,16)+(9,7) = O
• A multiplicação “espalha” os pontos no plano!
3 8 7 6 20Ordem de um elemento (3)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 23/42
1 2 3 4 5 9 10 0 5 10 15 0 5 10 15 20
Parâmetros de uma curva elíptica
• Curva elíptica sobre GF(p) definida por T(p,a,b,G,n,h)
– p é número primo e função característica – a,b são coeficientes da curva base sobre reais – G=(x,y) é ponto base, que pertende a Ep(a,b) – n é ordem do ponto G, i.e. nG=O
– h = #E(F(p))/n é o co-factor
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 24/42 – h = #E(F(p))/n é o co-factor
• Curva elíptica sobre GF(2
m) definida por
T(m,f(x),a,b,G,n,h)
– f(x) é polinómio binário irredutível, que gera F(2m)
Exemplo: Para E24(g4,1) com g=x e polinómio irredutível f(x) =
x4+x3+1, #E=32 e n=16 [Nota: (g8,g0)=(b8,g15)] ∴ h=2
Representação de elementos
F
2
m
(1)
Definição: Base é um conjunto de elementos {β
0,β
1, …,β
m-1}
tais que, para cada A∈GF(2
m), existe uma única
representação (um vector de elementos a
i∈Z
2) tais que:
0 0 1 1 1 1 1 0 − − − = + + + = =
∑
m i m m i i a a a a A β β L β βCuriosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 25/42
[
0 1 −1]
, =[
0 1 −1]
= = = m m T T a a a a a a A β β β β β β L LConhecidas duas bases de representação
1. Polinomial (0 e 1): mais intuitiva, operações aritméticas mais simples.
2. Normal optimizada (ONB-”Optimal Normal Basis”): mais eficiente para cálculo de quadrados/produtos/inversos, mas os elementos βi não são independentes.
Representação de elementos
F
2
m
(2)
1. Base polinomial 0:
β=[ω
0ω
1… ω
m-1]
(β
i=ω
i, ω∈ GF(2
m) é raíz do polinómio irredutível)
Exemplo: seja GF(24) sobre polinómio irredutível: f(x) = x4+ x3+ 1
– Elementos: []=O, [0]=1, [1], … , [3,2,1,0]
Curiosidade, não faz parte da avaliação
– Elementos: []=O, [0]=1, [1], … , [3,2,1,0]
– Adição: somar termos correspondentes, módulo 2 [2,1]+[3,1] = [3,2]
– Multiplicação: Multiplicar termos e calcular resíduo (i.e., resto) do polinómio irredutível
[3,1,0]*[3,0] = (x3+x+1)*(x3+1) mod f(x) =
(x6+x4+2x3+x+1) mod f(x) = (x6+x4+x+1) mod f(x) = [2,0]
Representação de elementos
F
2
m
(3)
– Gerador: [1] é um possível ponto base
g0=g15=[0],g1= [1],g2=[2],g3=[3],g4=[3,0],g5=[3,1,0],g6=[3,2,1,0],
g7=[2,1,0],g8=[3,2,1],g9=[2,0],g10=[3,1],g11=[3,2,0],g12=[1,0],
g13=[2,1],g14=[3,2]
– Exponenciação: multiplicar sucessivamente [1]2= x*x mod f(x) = x2 mod f(x) = [2]
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 27/42 [1]2= x*x mod f(x) = x2 mod f(x) = [2] x2 = (x4+x3+1)0 + (x2) [1]4= [2]2[2]2= x2*x2mod f(x) = [3,0] x4 = (x4+x3+1)1+(x3+1) [1]5= [1]4[1] = (x3+1)*x mod f(x) = [3,1,0] (x4+x) = (x4+x3+1)0+(x3+x+1)
Representação de elementos
F
2
m
(4)
– Inverso multiplicativo: inverter a potência do número gerado [1,0]-1 = (g12)-1 = g-12 = g3 [3] : -12 mod 15 = 3 mod 15
Nota: outro polinómio irredutível corresponde a um
isomorfismo.
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 28/42
isomorfismo.
Exemplo: seja f(x) = x
4+ x + 1
[3,1,0]*[3,0] = (x3+x+1)*(x3+1) mod f(x) =
(x6+x4+2x3+x+1) mod f(x) = (x6+x4+x+1) mod f(x) = [3,2]
Representação de elementos
F
2
m
(5)
2. Base polinomial 1:
β=[ω ω
2… ω
m]
(β
i=ω
i+1,ω∈GF(2
m) é raíz do polinómio primitivo)
– Como representar 1 na base polinomial 1, uma vez que não faz parte de βi?
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 29/42 parte de βi?
Resposta: 1 é representado por f(x)+1 mod f(x). Exemplo: seja GF(24) gerado por f(x) = x4+ x3+ 1.
• f(x)+1=(x4+ x3+1)+1=x4+x3. Logo, 1 é representado por [3,2]
• Qual a representação de x3+1?
x3+1=x3+(x4+x3) = [2]+[3,2]=[3]
– Todas as operações (soma, multiplicação, inversão) são feitas na mesma forma que na base polinomial 0.
3. Base normal:
β = [α α
21… α
2m-1] = [α α
2α
4α
8…α
2m-1]
(β
i= α
2i,α∈GF(2
m))
O polinómio irredutível tem de ser primitivo, para gerar de GF*(2m)
i. Quadrado de um elemento de GF(2
m)
Representação de elementos F
2
m
(6)
Curiosidade, não faz parte da avaliação
[
]
[
1 0 2]
2 2 2 0 2 1 2 1 0 2 2 2 1 0 2 1)
(
− − − − − = − ==
=
=
=
∑
∑
+ m m m m m i i m i ia
a
a
a
a
a
a
a
A
i iL
L
α
α
i. Quadrado de um elemento de GF(2
m)
Implementado em HW por uma simples rotação!
0
2=0, 1
2=1
ii. Produto de dois elemento de GF(2
m)
j i j m i m j ib
a
B
A
C
2 2 1 0 1 0α
α
∑∑
− = − ==
⋅
=
i j i jM
x
k m k 2 1 ) ( 2 2∑
−=
α
α
Representação de elementos F
2
m
(7)
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 31/42
Normalizando o produto α
2iα
2jpara
ficamos com
k j ix
M
k k j i 2 0 ) ( , 2 2∑
==
α
α
) ( , 1 0 1 0 k j i j m i m j i ka
b
M
c
∑ ∑
− = − ==
Cálculo de x
2ix
2jnormalizado é simplificado elevando
ambos os lados à potência de 2
-mm k m k k j i m k k m j m i
M
M
k m j m i m j i − − = − = − −∑
∑
=
=
=
− − − 1 2 0 ) ( , 2 1 0 ) ( , 2 2 2 2 2)
(
α
α
α
α
α
α
Representação de elementos F
2
m
(8)
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 32/42
k k=0 =0
da igualdade tira-se que
) ( , ) 0 ( , m j i m j m i
M
M
− −=
) 0 ( , 1 0 1 0 ) 0 ( , 1 0 1 0 j i k j m i m j k i k j k i j m i m j i ka
b
M
a
b
M
c
+ − = − = + − − − = − =∑∑
∑∑
=
=
Soma módulo m• Para tornar o cálculo de cko mais rápido possível, interessa que M-matrix n × n de elementos de GF(2m)- tenha o maior número possível
de entradas nulas.
Teorema: valor mínimo de entradas não nulas é 2n-1
• Dois tipos de matrizes M(0)óptimas: ONB1 e ONB2
Tabela ONB1 ONB2
Representação de elementos F
2
m
(9)
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 33/42
Tabela ONB1 ONB2
Condições • m+1 é primo, e
• 2 é primitivo em GF(m+1)
• 2m+1 é primo, e
• 2 é primitivo em Z2m+1, ou 2(m+1)=3 mod 4
e 2 gera resíduos quadrátricos em Z2m+1
M(0) i,j= 1 • 2i+ 2j= 1 mod (m+1), ou • 2i+ 2j= 0 mod (m+1) • 2i+ 2j= +1 mod (m+1), ou • 2i+ 2j= -1 mod (m+1), ou • 2i- 2j= +1 mod (m+1), ou • 2i- 2j= -1 mod (m+1) Exemplos de m: 80,134,179,230,330,386
•
Exemplo: GF(2
4) permite representação ONB1
– (20+20) mod 5 =2 – (20+21) mod 5 =3 – (20+22) mod 5 =0 – (20+23) mod 5 =4 M(0) 0 1 2 3
Representação de elementos F
2
m
(10)
Curiosidade, não faz parte da avaliação
– (20+23) mod 5 =4 – (21+21) mod 5 =4 – (21+22) mod 5 =1 – (21+23) mod 5 =0 – (22+22) mod 5 =3 – (22+23) mod 5 =2 – (23+23) mod 5 =1 0 0 0 1 0 1 0 0 1 1 2 1 1 0 0 3 0 1 0 1
Produto implementado em HW a partir de rotações das
variáveis envolvidas!
a0 a1 am-1
Representação de elementos F
2
m
(11)
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 35/42
b0 b1 bm-1
Função
lógica
c0, c1, …, cm-1 c0=a0b2 + a1(b2 + b3) + a2 (b0 + b1) + a3(b1 + b3) c1=a1b3 + a2(b3 + b0) + a3 (b1 + b2) + a0(b2 + b0) c2=a2b0 + a3(b0 + b1) + a0 (b2 + b3) + a1(b3 + b1) c3=a3b1 + a0(b1 + b2) + a1 (b3 + b0) + a2(b0 + b2)Representação de elementos F
2
m
(12)
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 36/42 Exemplo: multiplicar [1] por [3,1,0] (apenas a1é positivo)
• c0 = b2 + b3= 1
• c1 = b3= 1
• c2 = b3 + b1= 1 + 1 = 0
• c3 = b3 + b0= 1 + 1 = 0
iii. Inverso de um elemento de GF(2
m)
) 1 2 ( 2 2 2 1 − 1− −=
n=
n−a
a
a
Para calcular o inverso, primeiro calcula-se a
(2n-1-1), que
Representação de elementos F
2
m
(13)
Curiosidade, não faz parte da avaliação
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 37/42
Para calcular o inverso, primeiro calcula-se a
(2 -1), que
é elevado ao quadrado.
0
2
%
,
1
)
1
2
)(
1
2
(
2
1
2
1
2
%
),
1
2
)(
1
2
(
1
2
2 ) 2 ( 2 ) 2 ( 1 2 ) 1 ( 2 ) 1 ( 1=
+
−
+
=
−
=
−
+
=
−
− − − − − −n
n
n n n n n n• Se n é ímpar, basta uma multiplicação depois de calcular a2(n-1)/2-1
• Se n é par, bastam duas multiplicações depois de calcular a2(n-2)/2-1
Conversão entre bases (1)
• Dois sistemas distintos trabalham na mesma curva elíptica
e com a mesma chave, mas podem possuir representações
distintas.
• Vários mecanismos foram desenvolvidos para conversão
dos elementos de GF(2
n).
dos elementos de GF(2
n).
Aqui descrevemos a conversão matricial
– Simples
• Pretende-se converter elemento representado em ONB1
para base polinomial 1, para GF(2
4) gerado por x
4+x+1
• O problema reside na conversão dos elementos de base com potências
⋅
=
ω
ω
α
α
3 4 4 80
0
0
1
1
1
0
1
Conversão entre bases (2)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 39/42 elementos de base com potências superiores à da base destino. • Para 1, tem-se que ω é raíz do
polinómio primitivo ∴ ω4+ω+1=0. α8 = x8 mod x4+x+1 = ω2+1 = ω2+(ω4+ω) Nota: α8 é dependente de α4, α2e α
⋅
=
ω
ω
ω
α
α
α
2 21
0
0
0
0
1
0
0
0
0
0
1
• ONB1 e base polinomial 1 são isomórficas para GF(2
4)
gerado por x
4+x+1.
ONB1 Base polinomial 1
[0] w = [0] [1] w2 = [1]
[2] w3 = [2]
[3] w4+w2+w = [3,1,0]
[1,0] [1]+[0] = [1,0]
• Para a base polinomial 0, a matriz de conversão seria ⋅ = 1 0 1 0 0 0 0 1 0 1 1 0 0 1 0 1 0 2 3 2 4 8 ω ω ω α α α α
Conversão entre bases (3)
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 40/42
[1,0] [1]+[0] = [1,0] [2,0] [2]+[0] = [2,0] [2,1] [2]+[1] = [2,1] [3,0] [3,1,0]+[0] = [3,1] [3,1] [3,1,0]+[1] = [3,0] [3,2] [3,1,0]+[2] = [3,2,1,0] [3,1,0] [3,1,0]+[1]+[0] = [3] [3,2,0] [3,1,0]+[2]+[0] = [3,2,1] [3,2,1] [3,1,0]+[2]+[1] = [3,2,0] [3,2,1,0] [3,1,0]+[2]+[1]+[0] = [3,2] α 0 0 1 0 1
• A não independência dos membros da base de ONB1 leva a que a conversão não seja homomórfica:
– [2] = w+1∴ [1,0]
– [3,1,0] = (w2+1)+(w2)+(w) ∴ [1,0]
• O elemento [3,2,1,0] corresponde ao ponto do infinito na base polinomial 0
Problema logaritmo discreto (1)
Definição: O problema DLP (“Discrete Logarithm
Problem”) pretende determinar n tal que para um
par (x,y) se verifiqye y=x
n.
Prof RG Crespo Software de Telecomunicações Curvas elípticas : 41/42