ES2247326T3 - Procedimiento de contramedida en un componente electrico que utiliza un algoritmo criptografico de tipo llave publica en curva eliptica. - Google Patents

Procedimiento de contramedida en un componente electrico que utiliza un algoritmo criptografico de tipo llave publica en curva eliptica.

Info

Publication number
ES2247326T3
ES2247326T3 ES02727698T ES02727698T ES2247326T3 ES 2247326 T3 ES2247326 T3 ES 2247326T3 ES 02727698 T ES02727698 T ES 02727698T ES 02727698 T ES02727698 T ES 02727698T ES 2247326 T3 ES2247326 T3 ES 2247326T3
Authority
ES
Spain
Prior art keywords
point
curve
elliptic curve
coordinates
isomorphic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
ES02727698T
Other languages
English (en)
Inventor
Marc Joye
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Application granted granted Critical
Publication of ES2247326T3 publication Critical patent/ES2247326T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7228Random curve mapping, e.g. mapping to an isomorphous or projective curve

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

Procedimiento de contramedida en un componente electrónico que aplica un algoritmo criptográfico del tipo con llave pública en una curva elíptica determinada E en un cuerpo IK comprendiendo un cálculo de exponenciación de tipo Q=d.P en donde P y Q son puntos de la curva elíptica determinada (E) y d un número predeterminado caracterizado por comprender dicho procedimiento las siguientes etapas: - extracción de un número u aleatorio no nulo, elemento del cuerpo IK, para definir aleatoriamente una curva elíptica isomorfa E_u, - cálculo de las coordenadas de un punto P¿ en dicha curva elíptica isomorfa E_u, imagen del punto P, - aplicación de un algoritmo de exponenciación a dicho punto imagen P¿ en dicha curva elíptica isomorfa E_u, para obtener un punto resultante Q¿, - cálculo de las coordenadas en la curva elíptica determinada E del punto Q, preimagen del punto resultante Q¿.

Description

Procedimiento de contramedida en un componente eléctrico que utiliza un algoritmo criptográfico de tipo llave pública en curva elíptica.
El presente invento concierne un procedimiento de contramedida en un componente electrónico que utiliza un algoritmo criptográfico de tipo llave pública en curva elíptica.
Los algoritmos de llave pública en curva elíptica permiten aplicaciones criptográficas de tipo cifrado, verificación de firma, autentificación...
Son muy utilizados sobre todo en aplicaciones de tipo tarjeta con chip, porque permiten utilizar llaves de baja longitud, que autorizan tiempos de tratamiento bastante cortos, y que pueden no necesitar la utilización de criptoprocesadores para su implementación, lo que disminuye el precio de coste de los componentes electrónicos en los que está implementado.
Cabe recordar que, si IK es un cuerpo, el conjunto de los puntos (x,y)
\euro
IKxIK que verifica la ecuación general de Weirstrass: y^{2} + alxy + a3y = x^{3} + a2x^{2} + a4x + a6, con ai
\euro
IK y del punto al infinito O forma una curva elíptica. Toda curva elíptica en un cuerpo puede expresarse de este modo.
El conjunto de los puntos (x,y) y el punto al infinito forman un grupo abeliano, en el que el punto al infinito es el elemento neutro y en el que la operación de grupo es la suma de los puntos, anotada + y proporcionado por la muy conocida regla de la secante y de la tangente. En este grupo, el par (x,y), en el que la abscisa x y la ordenada y son elementos del cuerpo IK, forma las coordenadas afines de un punto P de la curva elíptica.
Cabe mencionar, que en un cuerpo terminado, el número de elementos del cuerpo se expresa siempre en la forma p^{n}, en donde p es un número primo. P es la característica del cuerpo.
En los sistemas criptográficos se emplean más particularmente dos clases de curvas elípticas: las definidas en un cuerpo terminado de características p diferente de 2 y 3, y las definidas en un cuerpo de características igual a 2.
Para las curvas elípticas de la primera clase, la ecuación de Weirtrass se simplifica en:
y^{2} = x^{3} + ax + b
Y para las de la segunda clase limitándose a las curvas no supersingulares, la ecuación es:
y^{2} + xy = x^{3} + ax^{2} + b
Para cada una de esas dos clases de curvas, se han definido operaciones de adición y de duplicación de puntos. Se facilitan fórmulas para estas operaciones en numerosas referencias conocidas por el profesional. Estas fórmulas se detallan en el texto más adelante, en el caso de una curva elíptica definida en un cuerpo con característica diferente de 2 o 3.
Estas operaciones son la base de los algoritmos de exponenciación en esas curvas elípticas: habida cuenta de un punto P perteneciente a una curva elíptica y d un número predeterminado (un entero), el resultado de la multiplicación escalar del punto P por el multiplicador d es un punto Q de la curva, tal como Q=d.P=P+P+...+P d veces.
Los algoritmos criptográficos de llave pública en curva elíptica se basan, de este modo, en la multiplicación escalar de un punto P seleccionado en la curva, por un número predeterminado d, la llave secreta. El resultado de esta multiplicación escalar d.P es un punto Q de la curva elíptica. En un ejemplo de aplicación al cifrado según el procedimiento de El Gamal, el punto Q obtenido es la llave pública que sirve para el cifrado de un mensaje.
No obstante, los algoritmos criptográficos de llave pública en curva elíptica han demostrado ser muy sensibles a los ataques que ponen la mira en descubrir principalmente el valor de la llave secreta. Podemos citar, principalmente, los ataques a canales ocultos, simples o diferenciales.
Se entiende por ataque a canal oculto simple o diferencial, un ataque basado en una magnitud física mensurable desde el exterior del dispositivo, y cuyo análisis directo (ataque simple) o el análisis según un método estadístico (ataque diferencial) permite descubrir informaciones contenidas y manipuladas en tratamientos en el dispositivo. Estos ataques pueden así permitir descubrir informaciones confidenciales. Estos ataques fueron revelados, particularmente, por Paul Kocher (Advances in Cryptology - CRYPTO'99, vol. 1966 of Lectura Notes in Computer Science, pp. 388-397. Springer-Verlag, 1999). Entre las magnitudes físicas que pueden explotarse para estos fines, podemos mencionar el consumo en corriente, el campo electromagnético... Estos ataques se basan en el hecho de que la manipulación de un bit, es decir su tratamiento por una instrucción particular, deja una huella especial en la magnitud física considerada según su valor.
En los sistemas criptográficos basados en curvas elípticas, estos ataques ponen la mira en la multiplicación escalar.
El cálculo de la multiplicación escalar Q=d.P puede realizarse mediante diferentes algoritmos de exponenciación. Podemos citar algunos de ellos, como el algoritmo de duplicación y de adición (double and add en la literatura anglosajona) basado en la representación binaria del multiplicador d, el de adición-sustracción basado en la representación binaria firmada del multiplicador d, el algoritmo con ventana... Todos esos algoritmos utilizan fórmulas de operaciones de duplicación y de adición definidas en las curvas elípticas.
En todos estos algoritmos, hemos debido prever procedimientos de contramedida, que permiten evitar que prosperen los diferentes ataques. En otros términos, hemos intentado asegurar dichos algoritmos. Por ejemplo, el muy conocido algoritmo dicho de duplicación y de adición es sensible particularmente a los ataques de canales ocultos de tipo simple, puesto que comprende una operación condicional del valor de un bit de la llave secreta d. Para asegurar este algoritmo, lo hemos transformado en un algoritmo dicho de duplicación con adición sistemática. En este algoritmo, cualesquiera que sea el valor del bit de la llave secreta en el tratamiento en curso, siempre se efectúan las mismas operaciones, en el mismo número. De manera general, sabemos asegurar estos algoritmos frente a los ataques simples, suprimiendo todas las conexiones adicionales al valor del dato tratado.
Sin embargo, hemos podido demostrar que estas soluciones no protegían contra los ataques diferenciales de canales ocultos, para los que era posible descubrir la llave secreta d.
Una solución eficaz para los ataques diferenciales consiste en hacer aleatoria las entradas y/o las salidas del algoritmo de exponenciación utilizado para calcular Q=d.P. En otros términos, se trata de hacer aleatorio el multiplicador d y/o el punto P.
Ya se conocen procedimientos de contramedida que aplican este principio. Dichos procedimientos de contramedida se describen principalmente en un artículo de Jean-Sébastien Coron (Cryptographic Hardware and Embedded Systems, volumen 1717 of Lectura Notes in Computer Science, páginas 292-302. Springer-Verlag, 1999).
En este artículo, un procedimiento de contramedida consiste, principalmente, en ocultar el punto P utilizando coordenadas proyectivas de este punto, definidas de manera aleatoria.
En efecto, un punto de la curva elíptica E (diferente del punto al infinito) se define de manera única en esta curva por sus coordenadas afines (x,y). Pero este punto se puede representar mediante coordenadas proyectivas (X:Y:Z:) y existe un número exponencial de representaciones en coordenadas proyectivas.
Del procedimiento de contramedida descrito, se extrae así un número aleatorio t IK y se representa el punto P mediante coordenadas proyectivas en función de este número aleatorio.
En el artículo mencionado anteriormente, proponemos formar de manera ventajosa las coordenadas proyectivas del punto P en función del número aleatorio t y de las coordenadas afines, por ejemplo en forma P=(tx: ty: t), en coordenadas proyectivas homogéneas, en donde P=(t^{2}x:t^{3}y:t) en coordenadas jacobianas. El algoritmo de exponenciación se aplica a esas coordenadas. Se obtiene una representación del punto Q en coordenadas proyectivas, de las que se deducen (cálculo) las coordenadas afines de este punto.
Un objeto del presente invento es un procedimiento de contramedida, principalmente respecto a los ataques diferenciales de canales ocultos.
Otro objeto del invento es un procedimiento de contramedida fácil de aplicar.
Respecto al artículo citado anteriormente, el procedimiento propuesto presenta la ventaja de ser más rápido y poderse aplicar indiferentemente en coordenadas afines y proyectivas.
La idea de base del invento consiste en utilizar los isomorfismos de grupo, para transponer los cálculos de multiplicación escalar en una curva elíptica E_u obtenida por aplicación de un isomorfismo de grupo \varphi_{u}, definido respecto a un número aleatorio u, no nulo, elemento del cuerpo IK.
En otros términos, el procedimiento de contramedida consiste entonces en extraer un número aleatorio u no nulo, para definir una curva elíptica isomorfa aleatoria E_u=\varphi_{u}(E), en calcular las coordenadas del punto imagen en esta curva E_u del punto P, en aplicar el algoritmo de exponenciación en este punto imagen P', en la curva elíptica isomorfa E_u, para obtener un punto resultante Q' y en calcular las coordenadas del punto preimagen Q del punto Q' en la curva elíptica E en la que se basa el sistema criptográfico.
Puesto que la estructura algébrica de las curvas elípticas es muy rica, existen numerosas posibilidades de definiciones de isomorfismos, de modo que el procedimiento de contramedida según el invento es de aplicación muy general.
El invento concierne, de este modo, un procedimiento de contramedida en un componente electrónico que aplica un algoritmo criptográfico de tipo con llave pública en una curva elíptica determinada E en un cuerpo IK que comprende un cálculo de exponenciación de tipo Q=d.P en donde P y Q son puntos de la curva elíptica determinada (E) y d un número predeterminado caracterizado por comprender las siguientes etapas:
-
extracción de un número u aleatorio no nulo, elemento del cuerpo IK, para definir de manera aleatoria una curva elíptica isomorfa E_u.
-
cálculo de las coordenadas de un punto P' en dicha curva elíptica isomorfa E_u, imagen del punto P,
-
aplicación de un algoritmo de exponenciación a dicho punto imagen P' en dicha curva elíptica isomorfa E_u, para obtener un punto resultante Q',
-
cálculo de coordenadas en la curva elíptica determinada E del punto Q, preimagen del punto resultante Q'.
Otras características y ventajas del invento se presentan en la siguiente descripción, la cual se hace en referencia a un modo de realización particular, para curvas elípticas en un cuerpo IK de característica diferente de 2 o 3.
Hemos visto que una curva elíptica en dicho cuerpo puede definirse del siguiente modo: E/_{IK}:y^{2}= x^{3} + ax + b.
Ya sean dos curvas elípticas E1 y E2 definidas en dicho cuerpo:
E1/_{IK} : y^{2} = x^{3} + ax + b
E2/_{IK} : y^{2} = x^{3} + a' x + b'
Demostramos que estas dos curvas son isomorfas en IK, si solamente existe un número u no nulo perteneciente a IK, tal como u^{4}a'= a y u^{6}b'= b
Si consideramos \varphi el isomorfismo de grupo tal como E2=\varphi(E1), se demuestra que a todo punto P=(x,y) de la curva elíptica E1 corresponde un punto imagen \varphi (P)= P'= (x', y') en la curva elíptica E2 tal como:
x' =u^{-2}x \hskip0,5cm e \hskip0,5cm y' =u^{-3}y
Al contrario, por aplicación del isomorfismo inverso \varphi^{-1} tal como \varphi^{-1}(E2)=E1, a todo punto P'=(x', y') de la curva elíptica E2 corresponde un punto preimagen \varphi^{-1}(P')=P=(x,y) en la curva elíptica E1 tal como:
x= u^{2}x' \hskip0,5cm e \hskip0,5cm y=u^{3}y'
En el invento, se aplica el isomorfismo de grupo aplicado a las curvas elípticas, para ocultar de manera aleatoria el punto F al que se aplica el algoritmo de exponenciación.
Ya sea entonces un algoritmo de exponenciación de tipo Q=d.P, en donde Q y P son puntos de una curva elíptica definida E. El procedimiento de contramedida según el invento consiste así pues en extraer de manera aleatoria un número u de los elementos no nulos del cuerpo IK, para definir de manera aleatoria una curva elíptica isomorfa E_u=\varphi_{u} (E). Se calculan las coordenadas del punto imagen P' del punto P en esta curva elíptica isomorfa E_u y se aplica este punto imagen P' en entrada del algoritmo de exponenciación. Se obtiene un punto Q' resultante en la curva elíptica isomorfa E_u. Se calculan entonces las coordenadas del punto preimagen Q del punto Q' resultante en la curva elíptica definida E. En otros términos, según este procedimiento, se calcula:
Q = \varphi^{-1} (d(\varphi (P)))
Mediante este procedimiento, el número u es aleatorio, las etapas intermediarias de cálculo del algoritmo de exponenciación son imprevisibles.
Este procedimiento puede aplicarse a todo algoritmo de exponenciación de su elección y en el sistema de coordenadas, afines o proyectivas, de su elección. En particular, se puede representar el punto P' = (x' 1, y' 1) por coordenadas proyectivas P'=(X: Y: Z), con la en coordenadas en Z igual a 1, sea: P'=(x'1:y'1:1).
Se utiliza entonces un algoritmo de exponenciación en coordenadas proyectivas (homogéneas o jacobianas) de su elección. Las coordenadas en Z son igual a 1, el número de operaciones para calcular d.P' está entonces reducido.
De preferencia, se extrae un valor aleatorio u cada vez que se solicita el algoritmo criptográfico.
En otra variante de realización, se extrae un valor aleatorio u de la personalización del componente electrónco. Este valor se memoriza entonces en una porción de memoria reinscriptible del componente electrónico, como la llave secreta d. En ese caso, se puede prever precalcular ciertos valores, para acelerar el tratamiento. En el ejemplo de realización más particularmente descrito en cuerpos terminados de característica diferente de 2 o 3, se podrán precalcular principalmente el valor u^{-1}, que permite calcular las coordenadas de los puntos P' y Q' y se podrá memorizar en memoria reinscriptible. Esto resulta interesante en particular en las aplicaciones en las que la velocidad de tratamiento es muy importante, y en las que la memoria reinscriptible tiene una capacidad suficiente.
Podemos detallar el procedimiento de contramedida según el invento, aplicado a un sistema criptográfico basado en una curva elíptica E definida en un cuerpo terminado de características diferentes de 2 o 3, para efectuar una exponenciación de tipo Q = d.P, en donde Q y P son puntos de la curva elíptica E y d un número predeterminado. d y p son las entradas y Q la salida del algoritmo de exponenciación.
En este ejemplo, hemos visto que la ecuación de Weirstrass para la curva elíptica E en el cuerpo IK se escribe:
E/_{IK} : y^{2} = x^{3} + ax + b
En esta curva, la operación de adición de un punto P=(x1,y1) y Q=(x2,y2) (con Q\neqP) da un punto R=(x3,y3)=P+Q tal como: x_{3}=\lambda^{2}-x_{1}-x_{2} e y_{3}=\lambda(x_{1}-x_{3})-y_{1}
(fórmula 1)con \lambda = (y_{2}-y_{1}) / (x_{2}-x_{1}), si P\neqQ
(fórmula 2)y \lambda=(3x_{1}^{2}+a)/2y_{1}, si P=Q
La fórmula 1 es la fórmula de adición de dos puntos distintos: R=Q+P mientras que la fórmula 2 es la fórmula de duplicación del punto: R=2.P.
Podemos observar que ninguna de estas fórmulas utiliza el parámetro b de la ecuación de la curva elíptica E.
De este modo, un procedimiento de contramedida aplicado a una curva elíptica definido por la ecuación de Weirstrass del tipo y^{2} = x^{3} + ax + b, a un algoritmo de exponenciación aplicado a un punto P = (x1,y1) utilizando operaciones de duplicación de un punto y de adición entre dos puntos de esta curva E, puede escribirse como sigue:
a) Extraer de manera aleatoria un número u no nulo;
b) Evaluar el parámetro a'=u^{-4}a de la ecuación de Weirstrass del tipo y^{2}=x^{3}+a'x+b' definiendo una curva elíptica isomorfa E_u de la curva elíptica E;
c) Formar el punto P' = (u^{-2}x_{1}, u^{-3}y_{1});
d) Calcular el punto Q'=d.P' en la curva elíptica isomorfa E_u.
e) Si el punto resultante Q' es el punto al infinito, el punto Q es el punto al infinito,
En
caso contrario poner Q' = (x'_{3}, y'_{3});
f) Poner Q= (u^{2}x'_{3}, u^{3}y'_{3}) como punto preimagen.
De manera notable, el cálculo del punto Q+dP' en la etapa d) de este procedimiento puede hacerse con el algoritmo de su elección, y en el sistema de coordenadas de su elección. En particular, la utilización de coordenadas proyectivas (homogéneas o jacobianas) para el punto P' 4 resulta especialmente interesante si se representa P' con su coordenada en Z igual 1, puesto que el número de operaciones para calcular d P' es entonces reducido. Entonces tenemos P' = (u^{-2}x1 : u^{-3}y1 : 1).
El procedimiento de contramedida según el invento puede generalizarse. Principalmente, las curvas elípticas pueden obtenerse por otras parametrizaciones que las de Weierstrass.
De manera general la etapa b) del procedimiento detallado anteriormente consiste, así pues, en calcular parámetros de la ecuación elíptica isomorfa, a partir del número aleatorio u y de los parámetros de la curva elíptica sobre la que se basa el sistema criptográfico. Sólo deben calcularse los parámetros utilizados en las operaciones de la curva elíptica (adición de dos puntos, duplicación). En el ejemplo detallado anteriormente, solo debe calcularse el parámetro.
Además, el procedimiento de contramedida puede aplicarse a los diferentes algoritmos de exponenciación del estado de la técnica, puesto que solamente transpone este algoritmo en otra curva elíptica. De este modo, este procedimiento de contramedida puede utilizarse en todos los sistemas criptográficos en curva elíptica. Se aplica principalmente a los componentes electrónicos destinados a las tarjetas con chip.

Claims (9)

1. Procedimiento de contramedida en un componente electrónico que aplica un algoritmo criptográfico del tipo con llave pública en una curva elíptica determinada E en un cuerpo IK comprendiendo un cálculo de exponenciación de tipo Q=d.P en donde P y Q son puntos de la curva elíptica determinada (E) y d un número predeterminado caracterizado por comprender dicho procedimiento las siguientes etapas:
- extracción de un número u aleatorio no nulo, elemento del cuerpo IK, para definir alaeatoriamente una curva elíptica isomorfa E_u,
- cálculo de las coordenadas de un punto P' en dicha curva elíptica isomorfa E_u, imagen del punto P,
- aplicación de un algoritmo de exponenciación a dicho punto imagen P' en dicha curva elíptica isomorfa E_u, para obtener un punto resultante Q',
- cálculo de las coordenadas en la curva elíptica determinada E del punto Q, preimagen del punto resultante Q'.
2. Procedimiento de contramedida según la reivindicación 1, caracterizado porque la definición de la curva elíptica isomorfa E_u comprende el cálculo de parámetros (a y/o b) de dicha curva en función de los parámetros de la curva elíptica definida E y de dicha variable aleatoria, dichos parámetros se utilizan en dicho algoritmo de exponenciación.
3. Procedimiento de contramedida según la reivindicación 1 o 2, caracterizado porque dicho algoritmo de exponenciación se aplica al punto imagen P' en coordenadas afines (P= x'1, y'1)).
4. Procedimiento de contramedida según la reivindicación 1 o 2, caracterizado porque dicho algoritmo de exponenciación se aplica al punto imagen P' en coordenadas proyectivas.
5. Procedimiento de contramedida según la reivindicación 4, caracterizado porque dichas coordenadas proyectivas son del tipo de coordenadas en Z igual a 1 (P=(x'1: y'1:1)).
6. Procedimiento de contramedida según la reivindicación 2, la curva elíptica definida E tiene como ecuación y^{2}=x^{3}+ ax +b, y el algoritmo de exponenciación aplicado a un punto P = (x1,y1) utiliza operaciones de duplicación de un punto y dé adición entre dos puntos de esta curva E, caracterizado por comprender las siguientes etapas:
a)
Extraer de manera aleatoria un número u no nulo;
b)
Evaluar el parámetro a'=u^{-4}a de la ecuación de Weirtrass del tipo y^{2}= x^{3} + a'x + b' definiendo una curva elíptica isomorfa E_u de la curva elíptica E;
c)
Formar el punto P'=(u^{-2}x_{1}, u^{-3}y_{1}); del punto P en dicha curva isomorfa E_u;
d)
Calcular el punto Q'=d.P' en la curva elíptica isomorfa E_u por aplicación de dicho algoritmo de exponenciación en dicha curva elíptica isomorfa E_u.
e)
Si el punto resultante Q' es el punto al infinito, el punto Q es el punto al infinito; En caso contrario poner
Q' = (x'_{3}, y'_{3}),
f)
Poner Q=(u^{2}x'_{3}, u^{3}y'_{3}).
7. Procedimiento de contramedida según la reivindicación anterior, caracterizado porque dicho algoritmo de exponenciación se aplica en la etapa d) a coordenadas proyectivas (X:Y:Z) del punto P' formadas en la etapa c) por P'= (u^{-2}x_{1}:u^{-3}y_{1}:1).
8. Componente electrónico en el que se aplica un procedimiento de contramedida según cualquiera de las reivindicaciones.
9. Tarjeta de chip comprendiendo un componente electrónico según la reivindicación 8.
ES02727698T 2001-04-27 2002-04-25 Procedimiento de contramedida en un componente electrico que utiliza un algoritmo criptografico de tipo llave publica en curva eliptica. Expired - Lifetime ES2247326T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0105759 2001-04-27
FR0105759A FR2824210B1 (fr) 2001-04-27 2001-04-27 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique

Publications (1)

Publication Number Publication Date
ES2247326T3 true ES2247326T3 (es) 2006-03-01

Family

ID=8862815

Family Applications (1)

Application Number Title Priority Date Filing Date
ES02727698T Expired - Lifetime ES2247326T3 (es) 2001-04-27 2002-04-25 Procedimiento de contramedida en un componente electrico que utiliza un algoritmo criptografico de tipo llave publica en curva eliptica.

Country Status (6)

Country Link
US (1) US20040228478A1 (es)
EP (1) EP1381936B1 (es)
DE (1) DE60204955T2 (es)
ES (1) ES2247326T3 (es)
FR (1) FR2824210B1 (es)
WO (1) WO2002088933A1 (es)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2854997B1 (fr) * 2003-05-16 2005-07-22 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique definie sur un corps de caracteristique deux
US7961874B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum & Minerals XZ-elliptic curve cryptography with secret key embedding
US7379546B2 (en) * 2004-03-03 2008-05-27 King Fahd University Of Petroleum And Minerals Method for XZ-elliptic curve cryptography
US7961873B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum And Minerals Password protocols using XZ-elliptic curve cryptography
FR2880149B1 (fr) 2004-12-23 2007-03-30 Oberthur Card Syst Sa Procede de traitement de donnees et dispositif associe
US8913739B2 (en) 2005-10-18 2014-12-16 Telecom Italia S.P.A. Method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems
US8243920B2 (en) * 2005-10-28 2012-08-14 Telecom Italia S.P.A. Method for scalar multiplication in elliptic curve groups over binary polynomial fields for side-channel attack-resistant cryptosystems
US7885406B2 (en) * 2006-10-10 2011-02-08 Microsoft Corporation Computing endomorphism rings of Abelian surfaces over finite fields
US8559625B2 (en) * 2007-08-07 2013-10-15 Inside Secure Elliptic curve point transformations
US8233615B2 (en) 2008-01-15 2012-07-31 Inside Secure Modular reduction using a special form of the modulus
US8619977B2 (en) * 2008-01-15 2013-12-31 Inside Secure Representation change of a point on an elliptic curve
DE102008018001A1 (de) * 2008-04-09 2009-10-22 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Übertragung von Nachrichten in Echtzeit
US8509426B1 (en) 2010-12-01 2013-08-13 King Fahd University Of Petroleum And Minerals XZ-elliptic curve cryptography system and method
US8699701B2 (en) 2010-12-01 2014-04-15 King Fahd University Method of performing XZ-elliptic curve cryptography for use with network security protocols
US20120140921A1 (en) * 2010-12-01 2012-06-07 King Fahd University Of Petroleum And Minerals Rsa-analogous xz-elliptic curve cryptography system and method
FR2972064B1 (fr) * 2011-02-25 2013-03-15 Inside Secure Procede de cryptographie comprenant une operation d'exponentiation
EP2916215B1 (en) * 2014-03-03 2016-12-07 Thomson Licensing Method of cryptographic processing of data on elliptic curves, corresponding electronic device and computer program product
CN105959108A (zh) * 2016-06-27 2016-09-21 收付宝科技有限公司 对云支付限制密钥进行加密及解密的方法、装置和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU758621B2 (en) * 1997-12-05 2003-03-27 Icesoft Technologies, Inc. Transformation methods for optimizing elliptic curve cryptographic computations
CN1235446A (zh) * 1998-03-05 1999-11-17 松下电器产业株式会社 椭圆曲线变换装置、利用装置和利用系统
FR2791496B1 (fr) * 1999-03-26 2001-10-19 Gemplus Card Int Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique

Also Published As

Publication number Publication date
EP1381936B1 (fr) 2005-07-06
FR2824210A1 (fr) 2002-10-31
US20040228478A1 (en) 2004-11-18
WO2002088933A1 (fr) 2002-11-07
DE60204955T2 (de) 2006-04-27
FR2824210B1 (fr) 2003-05-30
EP1381936A1 (fr) 2004-01-21
DE60204955D1 (de) 2005-08-11

Similar Documents

Publication Publication Date Title
ES2247326T3 (es) Procedimiento de contramedida en un componente electrico que utiliza un algoritmo criptografico de tipo llave publica en curva eliptica.
US6986054B2 (en) Attack-resistant implementation method
ES2331456T3 (es) Procedimiento de contramedida en un componente electronico que emplea un algoritmo de codificacion con clave publica de tipo curva eliptica.
Liardet et al. Preventing SPA/DPA in ECC systems using the Jacobi form
US6298135B1 (en) Method of preventing power analysis attacks on microelectronic assemblies
JP3950638B2 (ja) 耐タンパーモジュラ演算処理方法
EP1808762B1 (en) Encryption processing apparatus, encryption processing method, and computer program
JP4668931B2 (ja) 電力解析攻撃に対する耐タンパ性を持った暗号化処理装置
US7764785B2 (en) Method for communicating securely over an insecure communication channel
EP1006492A1 (en) Information processing equipment and IC card
KR20150107784A (ko) 스칼라 또는 멱수와의 곱셈 연산을 포함하는 암호화 방법
Hutter et al. A cryptographic processor for low-resource devices: Canning ECDSA and AES like sardines
JP5446678B2 (ja) 楕円曲線暗号演算装置及び方法
US20010048742A1 (en) Countermeasure method in an electronic component using a public key cryptography algorithm on an elliptic curve
KR100834096B1 (ko) 고차 전력분석공격에 대응하는 블록 암호 알고리즘aria의 암호화 방법
CN101213512A (zh) 保护数据处理设备以抵御攻击或分析的装置和方法
ES2279887T3 (es) Procedimiento de calculo universal aplicado a las puntas de una curva eliptica.
Kern et al. Low-resource ECDSA implementation for passive RFID tags
ES2299857T3 (es) Transicion entre representaciones enmascaradas de un valor durante calculos criptograficos.
ES2255568T3 (es) Metodo y aparato de almacenamiento y recuperacion de clave privada de criptografia.
WO2019121747A1 (en) Device and method for protecting execution of a cryptographic operation
CN103246494A (zh) 一种抵抗能量分析和错误攻击的安全模幂计算方法
US7983415B2 (en) Method for performing iterative scalar multiplication which is protected against address bit attack
US20060282491A1 (en) Method for countermeasuring by masking the accumulators in an electronic component while using a public key cryptographic algorithm
Fournaris Fault and power analysis attack protection techniques for standardized public key cryptosystems