• Nenhum resultado encontrado

Software de Telecomunicações. Curvas elípticas

N/A
N/A
Protected

Academic year: 2021

Share "Software de Telecomunicações. Curvas elípticas"

Copied!
21
0
0

Texto

(1)

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

2

Resposta

• 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 i

(2)

Curvas 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-λ)

(3)

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)

6

Exemplo B

-6 0 0 1 2 3 4

(4)

Curvas 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)

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

(5)

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.

(6)

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 4

(7)

Analiticamente 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),

(8)

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=3

(9)

Curvas elípticas sobre F

p

(4)

• Duplicação de (9,7)

λ = (3.9

2

)/(2.7) mod 23 = 13.(14)

-1

mod 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

m

que 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

(10)

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

4

x

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 16

Curvas 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

a

0 2 4 6 8 0 2 4 6 8 10 12 14 16

(11)

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

(12)

• A multiplicação “espalha” os pontos no plano!

3 8 7 6 20

Ordem 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

(13)

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 L

Conhecidas 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]

(14)

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]

(15)

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 i

a

a

a

a

a

a

a

a

A

i i

L

L

α

α

i. Quadrado de um elemento de GF(2

m

)

Implementado em HW por uma simples rotação!

0

2

=0, 1

2

=1

(16)

ii. Produto de dois elemento de GF(2

m

)

j i j m i m j i

b

a

B

A

C

2 2 1 0 1 0

α

α

∑∑

− = − =

=

=

i j i j

M

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

α

2j

para

ficamos com

k j i

x

M

k k j i 2 0 ) ( , 2 2

=

=

α

α

) ( , 1 0 1 0 k j i j m i m j i k

a

b

M

c

∑ ∑

− = − =

=

Cálculo de x

2i

x

2j

normalizado é simplificado elevando

ambos os lados à potência de 2

-m

m 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 k

a

b

M

a

b

M

c

+ − = − = + − − − = − =

∑∑

∑∑

=

=

Soma módulo m

(17)

• 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

(18)

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

(19)

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

(20)

• 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 8

0

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 2

1

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

(21)

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

O problema ECDLP (“Elliptic Curve Discrete

Logarithm Problem”) idêntico ao DLP sobre o

Grupo gerado por E

p

(a,b).

Problema logaritmo discreto (2)

• Não são conhecidos algoritmos eficientes na

resolução do DLP.

– Procura exaustiva é proporcional à dimensão do Grupo

(i.e., exponencial os número de dígitos).

– Pollard ρ: resolve DLP em O(

n)

– Pollard ρ: resolve DLP em O(

n)

• Resolução do ECDLP considerada mais

“intratável” que o DLP, porque os algoritmos

mais potentes do DLP não podem ser transpostos

para o ECDLP.

Referências

Documentos relacionados

 Alta taxa de fluxo com baixa perda de carga  Abertura e fechamento fácil da válvula  Regulação precisa e estável.  Baixa pressão de abertura e acionamento 

BA MG SP SC RS AM PE CE BA - Pilar GO PR A KLABIN NO PARANÁ INAUGURAÇÃO DA PRIMEIRA UNIDADE EM TELÊMACO BORBA - PR 1946 MAIS DE COLABORADORES 10.000 Terminal Portuário PLANTA DE

Como posso saudar a mim mesmo no Eu, pois eu sou (eu próprio) a Ventura Suprema Eterna que não tem distinção de cores tais como o branco, etc, que não se acha preso por causa e

A utilização dos critérios da CFF, com a inclusão apenas de pacientes com teste do suor positivo, também pode contribuir para a maior frequência alélica da ΔF508 neste

A partir desse cenário, esse artigo traz a apresentação do relato de experiência da implantação dos modelos de rotação por estação e laboratório rotacional,

Os resultados do presente estudo sugerem que a prevalência de bruxismo clínico entre poli- ciais militares do BOE foi de 47,8%; a presença de bruxismo clínico não esteve associada

popular pela forma destinar-se-ia mais aos membros do Jockey Club do que aos da Confederação Geral do Trabalho; quanto aos temas, os romances populares satisfazem tão

A utilização do método estatístico metodologia de superfície de resposta foi eficiente na otimização das condições de extração com CO 2 supercrítico da