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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7228—Random 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)
\euroIKxIK que verifica la ecuación general de Weirstrass: y^{2} + alxy + a3y = x^{3} + a2x^{2} + a4x + a6, con ai
\euroIK 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.
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)
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)
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 |
-
2001
- 2001-04-27 FR FR0105759A patent/FR2824210B1/fr not_active Expired - Fee Related
-
2002
- 2002-04-25 US US10/475,174 patent/US20040228478A1/en not_active Abandoned
- 2002-04-25 EP EP02727698A patent/EP1381936B1/fr not_active Expired - Fee Related
- 2002-04-25 DE DE60204955T patent/DE60204955T2/de not_active Expired - Lifetime
- 2002-04-25 WO PCT/FR2002/001434 patent/WO2002088933A1/fr not_active Application Discontinuation
- 2002-04-25 ES ES02727698T patent/ES2247326T3/es not_active Expired - Lifetime
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 |