Curva de Edwards torcida

Uma curva de Edwards torcida de equação

Na geometria algébrica, as curvas de Edwards torcidas são modelos planos de curvas elípticas, uma generalização das curvas de Edwards introduzidas por Bernstein, Birkner, Joye, Lange e Peters em 2008.[1] O conjunto de curvas recebe o nome do matemático Harold M. Edwards. As curvas elípticas são importantes na criptografia de chave pública e as curvas de Edwards torcidas estão no centro de um esquema de assinatura digital chamado EdDSA, que oferece alto desempenho enquanto evita problemas de segurança que surgiram em outros esquemas de assinatura digital.

Definição

Uma curva de Edwards torcida sobre um corpo com característica diferente de 2 (ou seja, nenhum elemento é seu próprio inverso aditivo) é uma curva plana afim definida pela equação:

onde são elementos distintos e não nulos de .

Cada curva de Edwards torcida é uma torção de uma curva de Edwards. O caso especial é não torcido, porque a curva se reduz a uma curva de Edwards comum.

Toda curva de Edwards torcida é birracionalmente equivalente a uma curva elíptica na forma de Montgomery e vice-versa.[2]

Lei de grupo

Como em todas as curvas elípticas, também para a curva de Edwards torcida é possível fazer algumas operações entre seus pontos, como somar dois deles ou dobrar (ou triplicar) um. Os resultados dessas operações são sempre pontos que pertencem à própria curva. Nas seções a seguir, são dadas algumas fórmulas para obter as coordenadas de um ponto resultante de uma adição entre dois outros pontos (adição), ou as coordenadas de um ponto resultante da duplicação de um único ponto em uma curva.

Adição em curvas de Edwards torcidas

Seja um corpo com característica diferente de 2. Sejam e pontos na curva de Edwards torcida. A equação da curva de Edwards torcida é escrita como;

: .

A soma desses pontos em é:

O elemento neutro é (0,1) e o negativo de é .

Essas fórmulas também funcionam para duplicação. Se a é um quadrado em e d é um não quadrado em , essas fórmulas são completas: isso significa que podem ser usadas para todos os pares de pontos sem exceções; portanto, elas funcionam para duplicação também, e elementos neutros e negativos são aceitos como entradas.[3]

Exemplo de adição

Dada a seguinte curva de Edwards torcida com a = 3 e d = 2:

é possível somar os pontos e usando a fórmula dada acima. O resultado é um ponto P3 que possui as coordenadas:

Duplicação em curvas de Edwards torcidas

A duplicação pode ser realizada com exatamente a mesma fórmula da adição. A duplicação de um ponto na curva é:

onde

Os denominadores na duplicação são simplificados usando a equação da curva (nota: ajustado do formato original dependendo da curva). Isso reduz a potência de 4 para 2 e permite um cálculo mais eficiente.

Exemplo de duplicação

Considerando a mesma curva de Edwards torcida dada no exemplo anterior, com a=3 e d=2, é possível dobrar o ponto . O ponto 2P1 obtido usando a fórmula acima tem as seguintes coordenadas:

É fácil ver, com alguns pequenos cálculos, que o ponto pertence à curva .

Coordenadas estendidas

Existe outro tipo de sistema de coordenadas com o qual um ponto nas curvas de Edwards torcidas pode ser representado. Um ponto em é representado como X, Y, Z, T satisfazendo as seguintes equações x = X/Z, y = Y/Z, xy = T/Z.

As coordenadas do ponto (X:Y:Z:T) são chamadas de coordenadas de Edwards torcidas estendidas. O elemento de identidade é representado por (0:1:1:0). O negativo de um ponto é (−X:Y:Z:−T).

Coordenadas de Edwards torcidas invertidas

As coordenadas do ponto são chamadas de coordenadas de Edwards torcidas invertidas na curva com ; este ponto mapeia para o afim em . Bernstein e Lange introduziram essas coordenadas invertidas para o caso a=1 e observaram que as coordenadas economizam tempo na adição.

Coordenadas de Edwards torcidas projetivas

A equação para a curva de Edwards torcida projetiva é dada como: Para Z1 ≠ 0 o ponto (X1:Y1:Z1) representa o ponto afim (x1 = X1/Z1, y1 = Y1/Z1) em EE,a,d.

Expressar uma curva elíptica na forma de Edwards torcida economiza tempo na aritmética, mesmo quando a mesma curva pode ser expressa na forma de Edwards.

Adição em curvas torcidas projetivas

A adição em uma curva de Edwards torcida projetiva é dada por

(X3:Y3:Z3) = (X1:Y1:Z1) + (X2:Y2:Z2)

e custa 10 Multiplicações + 1 elevação ao Quadrado (Squaring) + 2D + 7 adições, onde os 2D são uma multiplicação por a e uma por d.

Algoritmo
A = Z1 · Z2,
B = A2
C = X1 · X2
D = Y1 · Y2
E = dC · D
F = B − E
G = B + E
X3 = A · F((X1 + Y1) · (X2 + Y2) − C − D)
Y3 = A · G · (D − aC)
Z3 = F · G

Duplicação em curvas torcidas projetivas

A duplicação na curva torcida projetiva é dada por

(X3:Y3:Z3) = 2(X1:Y1:Z1).

Isto custa 3 Multiplicações + 4 elevações ao Quadrado (Squarings) + 1D + 7 adições, onde 1D é uma multiplicação por a.

Algoritmo
B = (X1 + Y1)2
C = X12
D = Y12
E = aC
F = E + D
H = Z12
J = F − 2H
X3 = (B − C − D).J
Y3 = F · (E − D)
Z3 = F · J[1]

Ver também

  • EdDSA
  • Para obter mais informações sobre o tempo de execução exigido em um caso específico, consulte a Tabela de custos de operações em curvas elípticas.

Notas

  1. 1 2 Bernstein, Daniel J.; Birkner, Peter; Joye, Marc; Lange, Tanja; Peters, Christiane (2008). «Twisted Edwards Curves». In: Vaudenay, Serge. Progress in Cryptology – AFRICACRYPT 2008. Col: Lecture Notes in Computer Science (em inglês). 5023. Berlin, Heidelberg: Springer. pp. 389–405. ISBN 978-3-540-68164-9. doi:10.1007/978-3-540-68164-9_26
  2. ↑ Daniel J. Bernstein; Peter Birkner; Marc Joye; Tanja Lange; Christiane Peters. «Twisted Edwards Curves» (PDF). Consultado em 28 janeiro 2020
  3. ↑ Daniel J. Bernstein and Tanja Lange, Faster addition and doubling on elliptic curves

Referências

    • Huseyin Hisil, Kenneth Wong, Gary Carter, Ed Dawson. (2008), «Twisted Edwards Curves revisited», Cryptology ePrint Archive 

    Ligações externas