stringtranslate.com

Forma hessiana de una curva elíptica

En geometría , la curva de Hesse es una curva plana similar al folio de Descartes . Lleva el nombre del matemático alemán Otto Hesse . Esta curva fue sugerida para su aplicación en criptografía de curva elíptica , porque la aritmética en esta representación de curva es más rápida y necesita menos memoria que la aritmética en la forma estándar de Weierstrass . [1]

Definición

Una curva de ecuación de Hesse

Sea un campo y considere una curva elíptica en el siguiente caso especial de la forma de Weierstrass : donde la curva tiene discriminante Entonces el punto tiene orden 3.

Para demostrar que tiene orden 3, observe que la tangente a at es la recta que corta a la multiplicidad 3 en .

Por el contrario, dado un punto de orden 3 en una curva elíptica, ambos definidos sobre un campo, se puede poner la curva en forma de Weierstrass de modo que la tangente en sea la línea . Entonces la ecuación de la curva es con .

Para obtener la curva de Hesse es necesario realizar la siguiente transformación :

Primero denotemos una raíz del polinomio.

Entonces

Tenga en cuenta que si tiene un campo de orden finito , entonces cada elemento de tiene una raíz cúbica única ; en general, se encuentra en un campo de extensión de K .

Ahora definiendo el siguiente valor se obtiene otra curva, C, que es biracionalmente equivalente a E:

que se llama forma cúbica de Hesse (en coordenadas proyectivas )

en el plano afín (satisfactorio y ).

Además (de lo contrario, la curva sería singular ).

A partir de la curva de Hesse, una ecuación de Weierstrass biracionalmente equivalente está dada por las transformaciones: y donde: y

derecho de grupo

Es interesante analizar la ley de grupo de la curva elíptica, definiendo las fórmulas de suma y duplicación (porque los ataques SPA y DPA se basan en el tiempo de ejecución de estas operaciones). Además, en este caso, solo necesitamos usar el mismo procedimiento para calcular la suma, duplicación o resta de puntos para obtener resultados eficientes, como se dijo anteriormente. En general, la ley de grupos se define de la siguiente manera: si tres puntos se encuentran en la misma línea, su suma es cero . Entonces, según esta propiedad, las leyes del grupo son diferentes para cada curva.

En este caso, la forma correcta es utilizar las fórmulas de Cauchy-Desboves, obteniendo el punto en el infinito θ = (1 : −1 : 0) , es decir, el elemento neutro (la inversa de θ es nuevamente θ ). Sea P = ( x 1 , y 1 ) un punto de la curva. La recta contiene el punto P y el punto en el infinito θ . Por tanto, P es el tercer punto de intersección de esta recta con la curva. Intersectando la curva elíptica con la recta, se obtiene la siguiente condición

Como no es cero (porque D 3 es distinto de 1), la coordenada x de − P es y 1 y la coordenada y de P es x 1 , es decir, o en coordenadas proyectivas .

En alguna aplicación de criptografía de curva elíptica y el método de factorización de curva elíptica ( ECM ), es necesario calcular las multiplicaciones escalares de P , digamos [ n ] P para algún número entero n , y se basan en el método de duplicar y sumar. ; estas operaciones necesitan las fórmulas de suma y duplicación.

Duplicación

Ahora bien, si es un punto de la curva elíptica, es posible definir una operación de "duplicación" utilizando las fórmulas de Cauchy-Desboves:

Suma

De la misma manera, para dos puntos diferentes, digamos y , es posible definir la fórmula de la suma. Sea R la suma de estos puntos, R = P + Q , entonces sus coordenadas vienen dadas por:

Algoritmos y ejemplos

Hay un algoritmo que se puede utilizar para sumar dos puntos diferentes o duplicarlo; está dado por Joye y Quisquater . Entonces, el siguiente resultado da la posibilidad de obtener la operación de duplicación por suma:

Proposición . Sea P = ( X,Y,Z ) un punto en una curva elíptica de Hesse E ( K ) . Entonces:

Además, tenemos ( Z : X : Y ) ≠ ( Y : Z : X ) .

Finalmente, a diferencia de otras parametrizaciones , no existe ninguna resta para calcular la negación de un punto. Por lo tanto, este algoritmo de suma también se puede utilizar para restar dos puntos P = ( X 1 : Y 1 : Z 1 ) y Q = ( X 2 : Y 2 : Z 2 ) en una curva elíptica de Hesse:

En resumen, adaptando el orden de las entradas según la ecuación (2) o (3), el algoritmo de suma presentado anteriormente se puede utilizar indiferentemente para: Sumar 2 puntos (diferenciales), Duplicar un punto y Restar 2 puntos con solo 12 multiplicaciones y 7 variables auxiliares incluidas las 3 variables de resultado. Antes de la invención de las curvas de Edwards , estos resultados representan el método más rápido conocido para implementar la multiplicación escalar de la curva elíptica hacia la resistencia contra ataques de canales laterales .

Para algunos algoritmos no es necesaria la protección contra ataques de canal lateral. Entonces, estas duplicaciones pueden ser más rápidas. Dado que hay muchos algoritmos, aquí solo se proporciona el mejor para las fórmulas de suma y duplicación, con un ejemplo para cada uno:

Suma

Sean P 1 = ( X 1 : Y 1 : Z 1 ) y P 2 = ( X 2 : Y 2 : Z 2 ) dos puntos distintos de θ . Suponiendo que Z 1 = Z 2 = 1, entonces el algoritmo viene dado por:

A = X 1 Y 2

B = Y 1 X 2

X 3 = POR Y 1 - Y 2 A
Y 3 = X 1 A - B X 2
Z 3 = Y 2 X 2 - X 1 Y 1

El costo necesario es de 8 multiplicaciones y 3 sumas costo de readdición de 7 multiplicaciones y 3 sumas, dependiendo del primer punto.

Ejemplo

Dados los siguientes puntos en la curva para d = −1 P 1 = (1:0:−1) y P 2 = (0:−1:1) , entonces si P 3 = P 1 + P 2 tenemos:

X 3 = 0 - 1 = -1
Y3 = −1−0 = −1
Z3 = 0 − 0 = 0

Entonces: P 3 = (−1:−1:0)

Duplicación

Sea P = ( X 1  : Y 1  : Z 1 ) un punto, entonces la fórmula de duplicación viene dada por:

El coste de este algoritmo es tres multiplicaciones + tres elevaciones al cuadrado + 11 sumas + 3×2.

Ejemplo

Si es un punto sobre la curva de Hesse con parámetro d = −1 , entonces las coordenadas de están dadas por:

X = (2 . (−1) − 2) (−1 + 1 + 1) = −4

Y = (−4 − 2 . (−1)) ((−1) + 1 + 1) = −2

Z = (−1 − (−1)) ((−4) + 2 . 2) = 0

Eso es,

Coordenadas extendidas

Existe otro sistema de coordenadas con el que se puede representar una curva de Hesse; Estas nuevas coordenadas se llaman coordenadas extendidas . Pueden acelerar la suma y la duplicación. Para tener más información sobre operaciones con las coordenadas extendidas ver:

http://hyperelliptic.org/EFD/g1p/auto-hessian-extended.html#addition-add-20080225-hwcd

y se representan satisfaciendo las siguientes ecuaciones:

Ver también

enlaces externos

Notas

  1. ^ Fórmulas de Cauchy-Desbove: curvas elípticas de arpillera y ataques de canal lateral , Marc Joye y Jean-Jacques Quis Quarter

Referencias