Software de Telecomunicações Curvas elípticas Prof RG Crespo Software de Telecomunicações Curvas elípticas : 1/42 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. 12, 22, 32, 42, … n2 n Resposta ∑ i 2 = n(n + 1)(2n + 1) i =1 6 • Problema: que alturas da pirâmide formam quadrado perfeito? • 6y2=2x3+3x2+x tem apenas 2 soluções em N: (1,1) e (24,70)-4900 bolas! Prof RG Crespo Software de Telecomunicações Curvas elípticas : 2/42 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 + a1XY + a3Y = X3 + a2X2 + a4X + a5 (ai ∈F) – ponto no infinito O Na criptografia são de interesse dois tipos de corpos finitos: – F(p), com p primo – F(2m) Prof RG Crespo Software de Telecomunicações Curvas elípticas : 3/42 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) Para um dado x, a equação tem 2 raízes se o discriminante não for nulo 3 4a +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 Y2 = X(X-1)(X-λ) Prof RG Crespo Software de Telecomunicações Curvas elípticas : 4/42 Curvas elípticas sobre corpos (4) Exemplo A 6 Y2 = X3 (a=0, b=0) 0 0 1 2 3 4 Nota: não é curva elíptica, porque 4*(0)3+27*(0)2=0 -6 Prof RG Crespo ponta (“cusp”) Software de Telecomunicações Curvas elípticas : 5/42 Curvas elípticas sobre corpos (5) Exemplo B 6 Y2 = X3-1 (a=0, b=-1) 0 0 1 2 3 4 -6 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 6/42 Curvas elípticas sobre corpos (6) Exemplo C 6 Y2 = X3-3X+3 (a=-3, b=3) 0 -3 -2 -1 0 1 2 3 4 -6 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 7/42 Curvas elípticas sobre corpos (7) Exemplo D 2 6 nó 3 Y = X -3X+2 = (X-1)2(X+2) (a=-3, b=2) 0 -3 -2 -1 Nota: não é curva elíptica, porque 4*(-3)3+27*(2)2=0 Prof RG Crespo Software de Telecomunicações 0 1 2 3 4 -6 Curvas elípticas : 8/42 Curvas elípticas sobre corpos (8) Exemplo E 6 Y2 = X3-X (a=-1, b=0) 0 -2 -1 0 1 2 3 4 -6 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 9/42 Curvas elípticas sobre corpos (9) B. Curvas elípticas sobre corpos finitos binários F(2m) Para a1 ≠ 0 (curvas não “supersingulares”), a equação da curva elíptica é simplificada com as substituições X → a12X - a3/a1 Y → a13Y - (a12a4+a32 ) /a13 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. Prof RG Crespo Software de Telecomunicações Curvas elípticas : 10/42 CE como grupo (1) Uma CE é um grupo abeliano: vejamos graficamente para F(p) 6 1. Inverso: negação da coordenada y {se P=(x,y), então –P=(x,-y)} 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 -(P+Q) Q 0 -2 -1 0 1 2 3 P (P+Q) -6 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 11/42 CE como grupo (2) 3. Duplicação: desenhar tangente, que corta curva no ponto -2P 4. Elemento neutro: ponto no infinito O O 6 P + (-P) = O P 0 -2 -1 0 1 2 3 4 -P -6 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 12/42 4 CE como grupo (3) Analiticamente para F(p) – A recta que une pontos P e Q tem por equação y = λx+β • • módulo p – λ = (y2-y1)/(x2-x1) β = y1- λx1 O ponto (x3, λx x3+ +β)) satisfaz a eq. ((λxx3+ +β))2 = x33+ax3+b F(p): Y2 = X3+aX+b λ2 - x3 = x1 - x2 P+Q y3 = λ(x1-x3) - y1 λ = (y2-y1)/(x2-x1) 2P x3 = λ2 - x1 - x2 y3 = λ(x1-x3) - y1 λ = (3x12+a)/(2y1) -P (x, -y) Prof RG Crespo F(2m): Y2+XY = X3+aX+b λ2 + x3 = λ + x1 + x2 + a y3 = λ(x1+x3) + x3 + y1 λ = (y2+y1)/(x2+x1) x3 = λ2 + λ + a y3 = x12 + (λ + 1)x3 λ = x1 + y1/x1 (x, x+y) Software de Telecomunicações Nota: demonstração da associatividade de + não é trivial Em GF(2m) Curvas elípticas : 13/42 Curvas elípticas sobre Fp (1) Definição: A curva elíptica sobre Zp, Ep(a,b), é formada pelos elementos (x,y), com x,y∈Zp, que satisfazem a equação y2 = x3 + ax + b mod p Nota: Para x≠0 existem dois pontos simétricos ao eixo y=p/2. • Teorema Poincaré (1900): Ep(a,b) é um sub-grupo de E, i.e. – existe elemento neutro, – + e * realizam-se dentro de Ep(a,b), – existem inversos aditivos e multiplicativos. Prof RG Crespo Software de Telecomunicações Curvas elípticas : 14/42 Curvas elípticas sobre Fp (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 #Ep(a,b) é dado pelo algoritmo SEA “Schoof- Elkies –Atkin”. • Teorema Hasse (1922): #Ep(a,b)=p+1-t, | t | ≤ 2√p. Para p elevado, #Ep(a,b) ≈ p. Nota: a curva diz-se supersingular sse t2=nq, 0≤n≤4 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 15/42 Curvas elípticas sobre Fp (3) 22 Exemplo; E23(1,1) 20 72 = 93 + 1*9 +1 mod 23 18 49 mod 23 = 739 mod 23 (=3) 14 16 12 10 • 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)-1 mod 23=20.(19)-1 mod 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 Prof RG Crespo 8 6 4 2 0 0 2 4 Software de Telecomunicações 6 8 10 12 14 16 18 20 Curvas elípticas : 16/42 22 Curvas elípticas sobre Fp (4) • Duplicação de (9,7) λ = (3.92)/(2.7) mod 23 = 13.(14)-1 mod 23 = 13.5 mod 23 = 19 x3 = 192-9-9 mod 23 = 323 mod 23 = 1 y3 = 19.(9-1)-7 mod 23 = 145 mod 23 = 7 Logo, 2*(9,7)=(1,7) Prof RG Crespo Software de Telecomunicações Curvas elípticas : 17/42 Curvas elípticas sobre F2m (1) Definição: A curva elíptica sobre GF(2m), E2m(a,b), é formada pelos elementos (x,y) x,y∈ ∈2m que satisfazem a equação y2 + xy = x3 + ax + b com a,b∈ ∈2n (b≠0) • 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 Nota: tal como para F(p) todos os pontos de x≠0 são duplos. Prof RG Crespo Software de Telecomunicações Curvas elípticas : 18/42 Curvas elípticas sobre F2m (2) Exemplo: Seja E24(g4,1) e a equação y2 + xy = x3 +g4x2 +g0. Os elementos de F(24), gerados pela base g=(0010) e pelo polinómio irredutível f(x) = x4 + x3 + 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) – Para x=0, apenas y=g0 satisfaz a equação. (0,g0) é denominado ponto singular – Para x=g0=1, que y=gi satisfaz 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=gi satisfaz 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 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 19/42 Curvas elípticas sobre F2m (3) x=g3 i g2i g(i+3) g2i+g(i+3) 0 0001 1000 1001 1 0100 1001 1101 14 2 1001 1011 0010 12 3 1111 1111 0000 10 4 1110 0111 1001 5 1010 1110 0100 6 0011 0101 0110 6 4 16 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 Prof RG Crespo 8 2 0 0 2 4 6 8 10 12 14 16 Nota: uma vez que g15=1, g(a+15)=ga 1001 Software de Telecomunicações Curvas elípticas : 20/42 Ordem de um elemento (1) Definição: Dada uma curva elíptica Eq(a,b), q primo ou 2m, e um ponto base G=(x,y)∈ ∈Eq(a,b) a ordem é o menor inteiro n tal que nG = O. Exemplo: seja E23(1,1) e G=(9,7) λ n x3 y3 1 nP (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) Prof RG Crespo Software de Telecomunicações Curvas elípticas : 21/42 Ordem de um elemento (2) 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) 12 9 7 11 (7,11) 13 6 4 0 (4,0) … 26 (9,16) 27P = 26P+P = (9,16)+(9,7) = O Para E23(1,1) a ordem do ponto base (9,7) é 27 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 22/42 Ordem de um elemento (3) • A multiplicação “espalha” os pontos no plano! 20 6 8 7 3 15 5 10 10 2 1 5 4 9 0 0 Prof RG Crespo 5 10 15 Software de Telecomunicações 20 Curvas elípticas : 23/42 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 • Curva elíptica sobre GF(2m) 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 Nota: h deve ser <4, idealmente 1. Prof RG Crespo Software de Telecomunicações Curvas elípticas : 24/42 Representação de elementos F2m (1) Curiosidade, não faz parte da avaliação Definição: Base é um conjunto de elementos {β0,β1, …,βm-1} tais que, para cada A∈GF(2m), existe uma única representação (um vector de elementos ai∈Z2 ) tais que: m −1 A = ∑ ai β i = am −1β m −1 + L + a1β1 + a0 β 0 i =0 T A = aβ = β a a = [a0 T a1 L am−1 ], β = [β 0 β1 L β m −1 ] 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. Prof RG Crespo Software de Telecomunicações Curvas elípticas : 25/42 Representação de elementos F2m (2) Curiosidade, não faz parte da avaliação 1. Base polinomial 0: β=[ω0 ω1 … ωm-1] (βi=ωi, ω∈ GF(2m) é 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] – 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] (x6+x4+x+1)=(x4+x3+1)(x2+x)+(x2+1) – Prof RG Crespo Software de Telecomunicações Curvas elípticas : 26/42 Representação de elementos F2m (3) Curiosidade, não faz parte da avaliação – 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] x2 = (x4+x3+1)0 + (x2) [1]4= [2]2[2]2 = x2*x2 mod 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) Prof RG Crespo Software de Telecomunicações Curvas elípticas : 27/42 Representação de elementos F2m (4) Curiosidade, não faz parte da avaliação – 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. Exemplo: seja f(x) = x4 + 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] (x6+x5+x2+1)=(x4+x+1)(x2+1)+(x3+x2) Prof RG Crespo Software de Telecomunicações Curvas elípticas : 28/42 Representação de elementos F2m (5) Curiosidade, não faz parte da avaliação 2. Base polinomial 1: β=[ω ω2 … ωm] (βi=ωi+1,ω∈GF(2m) é raíz do polinómio primitivo) – Como representar 1 na base polinomial 1, uma vez que não faz 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. Prof RG Crespo Software de Telecomunicações Curvas elípticas : 29/42 Representação de elementos F2m (6) Curiosidade, não faz parte da avaliação 1 3. Base normal: β = [α α 2 … α 2 i (βi = α2 ,α∈GF(2m)) m-1 ] = [α α2 α4 α8…α2 m-1 ] O polinómio irredutível tem de ser primitivo, para gerar de GF*(2m) i. Quadrado de um elemento de GF(2m) m −1 m −1 A = (∑ a iα ) = ∑ ai2α 2 2i 2 [a 2 i =0 2 m −1 a 2 0 i +1 = 02=0, 12=1 i =0 L a 2 m−2 ] = [a m −1 a0 L a m−2 ] Implementado em HW por uma simples rotação! Prof RG Crespo Software de Telecomunicações a0 a1 am-1 Curvas elípticas : 30/42 Representação de elementos F2m (7) Curiosidade, não faz parte da avaliação ii. Produto de dois elemento de GF(2m) m−1 m−1 C = A ⋅ B = ∑∑ ai b jα 2 α 2 i j i = 0 j =0 Normalizando o produto i j α2 α2 m−1 (k ) 2 para α α = ∑ M i , j x 2i 2j k k =0 ficamos com m −1 m −1 ck = ∑ ∑ ai b j M i(,kj ) i =0 j =0 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 31/42 Representação de elementos F2m (8) Curiosidade, não faz parte da avaliação j i Cálculo de x2 x2 normalizado é simplificado elevando ambos os lados à potência de 2-m 2i 2 j 2 −m (α α ) =α 2i−m α 2 j −m m−1 = ∑M 2k k =0 k =0 ( 0) ( m) M = M i − m , j − m i ,j da igualdade tira-se que i =0 j =0 Prof RG Crespo Soma módulo m m −1 m −1 m −1 m −1 c k = ∑∑ ai b j M m−1 α = ∑ M i(,kj)α 2k −m (k ) i −m, j −m (0) i −k , j −k = ∑∑ ai + k b j + k M i(,0j) i =0 j =0 Software de Telecomunicações Curvas elípticas : 32/42 Representação de elementos F2m (9) Curiosidade, não faz parte da avaliação • • Para tornar o cálculo de ck o mais rápido possível, interessa que Mmatrix 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 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 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 33/42 Representação de elementos F2m (10) Curiosidade, não faz parte da avaliação • Exemplo: GF(24) permite representação ONB1 – – – – – – – – – – (20+20) mod 5 =2 (20+21) mod 5 =3 (20+22) mod 5 =0 (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 Prof RG Crespo M(0) 0 1 2 3 0 0 0 1 0 1 0 0 1 1 2 1 1 0 0 3 0 1 0 1 Software de Telecomunicações Curvas elípticas : 34/42 Representação de elementos F2m (11) Curiosidade, não faz parte da avaliação Produto implementado em HW a partir de rotações das variáveis envolvidas! a0 a1 am-1 b0 b1 Prof RG Crespo bm-1 Função lógica Software de Telecomunicações c0, c1, …, cm-1 Curvas elípticas : 35/42 Representação de elementos F2m (12) Curiosidade, não faz parte da avaliação 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) 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 [1] * [3,1,0] = [1,0] Prof RG Crespo Software de Telecomunicações Curvas elípticas : 36/42 Representação de elementos F2m (13) Curiosidade, não faz parte da avaliação iii. Inverso de um elemento de GF(2m) −1 a =a 2n −2 =a 2( 2n−1 −1) Para calcular o inverso, primeiro calcula-se a(2 é elevado ao quadrado. 2 n −1 − 1 = (2 2 n −1 ( n −1) − 1 = 2( 2 2 + 1)(2 ( n−2) 2 ( n −1) + 1)(2 2 n-1-1) , que − 1), n%2 = 1 ( n−2) 2 − 1) + 1, n%2 = 0 (n-1)/2 -1 • Se n é ímpar, basta uma multiplicação depois de calcular a2 (n-2)/2 -1 • Se n é par, bastam duas multiplicações depois de calcular a2 Prof RG Crespo Software de Telecomunicações Curvas elípticas : 37/42 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(2n). Aqui descrevemos a conversão matricial – Simples – Exigente em memória: matriz ocupa O(n2) Prof RG Crespo Software de Telecomunicações Curvas elípticas : 38/42 Conversão entre bases (2) • Pretende-se converter elemento representado em ONB1 para base polinomial 1, para GF(24) gerado por x4+x+1 α 8 1 4 α = 1 α 2 0 α 0 0 0 0 0 1 ω 4 • 0 ω 3 ⋅ 0 ω 2 • 1 ω 1 0 1 0 O problema reside na conversão dos 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, α2 e α • ONB1 e base polinomial 1 são isomórficas para GF(24) gerado por x4+x+1. Prof RG Crespo Software de Telecomunicações Curvas elípticas : 39/42 Conversão entre bases (3) ONB1 Base polinomial 1 [0] w = [0] [1] w2 = [1] [2] w3 = [3] w4+w2+w [2] = [3,1,0] [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] • Para a base polinomial 0, a matriz de conversão seria α 8 0 4 α = 0 α 2 0 α 0 1 0 1 ω 3 0 1 1 ω 2 ⋅ 1 0 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 [3,1,0]+[2]+[1]+[0] = [3,2] Prof RG Crespo Software de Telecomunicações Curvas elípticas : 40/42 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=xn. O problema ECDLP (“Elliptic Curve Discrete Logarithm Problem”) idêntico ao DLP sobre o Grupo gerado por Ep(a,b). Prof RG Crespo Software de Telecomunicações Curvas elípticas : 41/42 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) • 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. Prof RG Crespo Software de Telecomunicações Curvas elípticas : 42/42