En matemáticas , la curva de Jacobi es una representación de una curva elíptica diferente de la habitual definida por la ecuación de Weierstrass . A veces se utiliza en criptografía en lugar de la forma de Weierstrass porque puede proporcionar una defensa contra ataques de estilo de análisis de potencia simple y diferencial (SPA); es posible, de hecho, utilizar la fórmula de adición general también para duplicar un punto en una curva elíptica de esta forma: de esta manera, las dos operaciones se vuelven indistinguibles de alguna información del canal lateral. [1] La curva de Jacobi también ofrece una aritmética más rápida en comparación con la curva de Weierstrass.
La curva de Jacobi puede ser de dos tipos: la intersección de Jacobi , que está dada por la intersección de dos superficies, y la cuártica de Jacobi .
Curvas elípticas: conceptos básicos
Dada una curva elíptica, es posible hacer algunas "operaciones" entre sus puntos: por ejemplo, se pueden sumar dos puntos P y Q obteniendo el punto P + Q que pertenece a la curva; dado un punto P en la curva elíptica, es posible "duplicar" P, es decir, encontrar [2] P = P + P (los corchetes se usan para indicar [n]P , el punto P sumado n veces), y también encontrar la negación de P , es decir, encontrar – P . De esta manera, los puntos de una curva elíptica forman un grupo . Nótese que el elemento identidad de la operación de grupo no es un punto en el plano afín, solo aparece en las coordenadas proyectivas: entonces O = (0: 1: 0) es el "punto en el infinito", es decir, el elemento neutro en la ley de grupo . Las fórmulas de suma y duplicación también son útiles para calcular [n]P , el n -ésimo múltiplo de un punto P en una curva elíptica: esta operación se considera la más importante en criptografía de curva elíptica .
Una curva elíptica E , sobre un cuerpo K se puede poner en la forma de Weierstrass y 2 = x 3 + ax + b , con a , b en K . Lo que será de importancia más adelante son los puntos de orden 2 , es decir P en E tal que [2] P = O y P ≠ O . Si P = ( p , 0) es un punto en E , entonces tiene orden 2; más generalmente los puntos de orden 2 corresponden a las raíces del polinomio f(x) = x 3 + ax + b .
A partir de ahora, utilizaremos E a,b para denotar la curva elíptica con forma de Weierstrass y 2 = x 3 + ax + b .
Si E a,b es tal que el polinomio cúbico x 3 + ax + b tiene tres raíces distintas en K y b = 0 podemos escribir E a,b en la forma normal de Legendre :
E a,b : y 2 = x(x + 1)(x + j)
En este caso tenemos tres puntos de orden dos: (0, 0), (–1, 0), (– j , 0). En este caso usamos la notación E[j] . Nótese que j puede expresarse en términos de a , b .
Es posible definir la forma de Jacobi de una curva elíptica como la intersección de dos cuádricas. Sea E a,b una curva elíptica en forma de Weierstrass, a la que le aplicamos la siguiente función :
Para S1 , el elemento neutro del grupo es el punto (0, 1, 1, 1), que es la imagen de O = (0:1:0) bajo ψ.
Suma y duplicación
Dados P 1 = ( X 1 , Y 1 , Z 1 , T 1 ) y P 2 = ( X 2 , Y 2 , Z 2 , T 2 ), dos puntos en S1 , las coordenadas del punto P 3 = P 1 + P 2 son:
Estas fórmulas también son válidas para duplicar: basta con que P 1 = P 2 . Por lo tanto, sumar o duplicar puntos en S1 son operaciones que requieren 16 multiplicaciones más una multiplicación por una constante ( k ).
También es posible utilizar las siguientes fórmulas para duplicar el punto P 1 y encontrar P 3 = [2] P 1 :
Utilizando estas fórmulas se necesitan 8 multiplicaciones para duplicar un punto. Sin embargo, existen “estrategias” aún más eficientes para duplicar que requieren solo 7 multiplicaciones. [2] De esta manera es posible triplicar un punto con 23 multiplicaciones; de hecho [3] P 1 se puede obtener sumando P 1 con [2] P 1 con un costo de 7 multiplicaciones para [2] P 1 y 16 para P 1 + [2] P 1 [2]
Ejemplo de suma y duplicación
Sea K = R o C y consideremos el caso:
Consideremos los puntos y : es fácil verificar que P 1 y P 2 pertenecen a S1 (basta ver que estos puntos satisfacen ambas ecuaciones del sistema S1 ).
Utilizando las fórmulas dadas anteriormente para sumar dos puntos, las coordenadas para P 3 , donde P 3 = P 1 + P 2 son:
El punto resultante es .
Con las fórmulas dadas anteriormente para duplicar, es posible encontrar el punto P 3 = [2] P 1 :
Entonces, en este caso P 3 = [2] P 1 = (0, 12, –12, 12).
Negación
Dado el punto P 1 = ( X 1 , Y 1 , Z 1 , T 1 ) en S1 , su negación es − P 1 = (− X 1 , Y 1 , Z 1 , T 1 )
Adición y duplicación en coordenadas afines
Dados dos puntos afines P 1 = ( x 1 , y 1 , z 1 ) y P 2 = ( x 2 , y 2 , z 2 ), su suma es un punto P 3 con coordenadas:
Estas fórmulas son válidas también para duplicar con la condición P 1 = P 2 .
Coordenadas extendidas
Existe otro tipo de sistema de coordenadas con el que se puede representar un punto en la intersección de Jacobi. Dada la siguiente curva elíptica en forma de intersección de Jacobi:
Las coordenadas extendidas describen un punto P = (x, y, z) con las variables X, Y, Z, T, XY, ZT , donde:
En ocasiones se utilizan estas coordenadas porque son más convenientes (en términos de costo-tiempo) en algunas situaciones específicas. Para obtener más información sobre las operaciones basadas en el uso de estas coordenadas, consulte http://hyperelliptic.org/EFD/g1p/auto-jintesect-extended.html
Definición: Jacobi cuártico
Una curva elíptica en forma cuártica de Jacobi se puede obtener a partir de la curva E a,b en forma de Weierstrass con al menos un punto de orden 2. La siguiente transformación f envía cada punto de E a,b a un punto en las coordenadas de Jacobi, donde (X: Y: Z) = (sX: s 2 Y: sZ) .
f: E a,b → J
[3]
Aplicando f a E a,b , se obtiene una curva en J de la siguiente forma:
[3]
dónde:
.
son elementos en K . C representa una curva elíptica en la forma cuártica de Jacobi , en coordenadas de Jacobi.
Cuartica de Jacobi en coordenadas afines
La forma general de una curva cuártica de Jacobi en coordenadas afines es:
,
donde a menudo se supone que e = 1.
Derecho de grupo
El elemento neutro de la ley de grupo de C es el punto proyectivo (0:1:1).
Adición y duplicación en coordenadas afines
Dados dos puntos afines y , su suma es un punto , tal que:
Al igual que en las intersecciones de Jacobi, también en este caso es posible utilizar esta fórmula también para duplicar.
Suma y duplicación en coordenadas proyectivas
Dados dos puntos P 1 = ( X 1 : Y 1 : Z 1 ) y P 2 = ( X 2 : Y 2 : Z 2 ) en C′ , las coordenadas para el punto P 3 = ( X 3 : Y 3 : Z 3 ), donde P 3 = P 1 + P 2 , se dan en términos de P 1 y P 2 por las fórmulas:
Esta fórmula también se puede utilizar para duplicar, con la condición de que P 2 = P 1 : de esta manera se obtiene el punto P 3 = P 1 + P 1 = [2] P 1 .
El número de multiplicaciones necesarias para sumar dos puntos es 13 más 3 multiplicaciones por constantes: en particular hay dos multiplicaciones por la constante e y una por la constante a .
Existen algunas "estrategias" para reducir las operaciones necesarias para sumar y duplicar puntos: el número de multiplicaciones se puede reducir a 11 más 3 multiplicaciones por constantes (ver [4] sección 3 para más detalles).
El número de multiplicaciones se puede reducir trabajando sobre las constantes e y d : la curva elíptica en la forma de Jacobi se puede modificar para tener un número menor de operaciones de suma y duplicación. Así, por ejemplo, si la constante d en C es significativamente pequeña, la multiplicación por d se puede cancelar; sin embargo, la mejor opción es reducir e : si es pequeña, no solo se descuidan una, sino dos multiplicaciones.
Ejemplo de suma y duplicación
Consideremos la curva elíptica E 4,0 , tiene un punto P de orden 2: P = ( p , 0) = (0, 0). Por lo tanto, a = 4, b = p = 0, por lo que tenemos e = 1 y d = 1 y la forma cuártica de Jacobi asociada es:
Eligiendo dos puntos y , es posible encontrar su suma P 3 = P 1 + P 2 utilizando las fórmulas para sumar dadas anteriormente:
.
Entonces
.
Utilizando las mismas fórmulas se obtiene el punto P 4 = [2] P 1 :
Entonces
.
Negación
La negación de un punto P 1 = ( X 1 : Y 1 : Z 1 ) es: − P 1 = (− X 1 : Y 1 : Z 1 )
Coordenadas alternativas para la cuártica de Jacobi
Existen otros sistemas de coordenadas que pueden utilizarse para representar un punto en una cuártica de Jacobi: se utilizan para obtener cálculos rápidos en ciertos casos. Para más información sobre el coste de tiempo requerido en las operaciones con estas coordenadas, consulte http://hyperelliptic.org/EFD/g1p/auto-jquartic.html
Dado un cuártico de Jacobi afín
Las coordenadas XXYZZ orientadas a la duplicación introducen un parámetro de curva adicional c que satisface a 2 + c 2 = 1 y representan un punto (x, y) como (X, XX, Y, Z, ZZ, R) , tal que:
Las coordenadas XYZ orientadas a la duplicación , con el mismo supuesto adicional ( a 2 + c 2 = 1), representan un punto (x, y) con (X, Y, Z) que satisface las siguientes ecuaciones:
Utilizando las coordenadas XXYZZ no hay ninguna suposición adicional, y representan un punto (x, y) como (X, XX, Y, Z, ZZ) tal que:
mientras que las coordenadas XXYZZR representan (x, y) como (X, XX, Y, Z, ZZ, R) tal que:
con las coordenadas XYZ el punto (x, y) viene dado por (X, Y, Z) , con:
^ Olivier Billet, El modelo de Jacobi de una curva elíptica y análisis de canal lateral
^ de PYLiardet y NPSmart, Prevención de SPA/DPA en sistemas ECC utilizando el formulario Jacobi , pág. 397
^ de Olivier Billet y Marc Joye, El modelo de Jacobi de una curva elíptica y análisis de canal lateral , pág. 37-38
^ Sylvain Duquesne, Mejora de la aritmética de curvas elípticas en el modelo de Jacobi -I3M, (UMR CNRS 5149) y Lirmm, (UMR CNRS 5506), Universite Montpellier II
Referencias
Olivier Billet, Marc Joye (2003). "El modelo de Jacobi de una curva elíptica y el análisis de canal lateral". El modelo de Jacobi de una curva elíptica y el análisis de canal lateral . Apuntes de clase en informática. Vol. 2643. Springer-Verlag Berlin Heidelberg 2003. págs. 34–42. doi :10.1007/3-540-44828-4_5. ISBN 978-3-540-40111-7.
PY Liardet, NP Smart (2001). "Prevención de SPA/DPA en sistemas ECC utilizando la forma de Jacobi". Hardware criptográfico y sistemas integrados — CHES 2001. Apuntes de clase en informática. Vol. 2162. Springer-Verlag Berlin Heidelberg 2001. págs. 391–401. doi :10.1007/3-540-44709-1_32. ISBN 978-3-540-42521-2. Número de identificación del sujeto 32648481.