ES2204117T3 - Procedimiento y dispositivo para el procesamiento criptografico con la ayuda de una curva eliptica en un ordenador. - Google Patents

Procedimiento y dispositivo para el procesamiento criptografico con la ayuda de una curva eliptica en un ordenador.

Info

Publication number
ES2204117T3
ES2204117T3 ES99914397T ES99914397T ES2204117T3 ES 2204117 T3 ES2204117 T3 ES 2204117T3 ES 99914397 T ES99914397 T ES 99914397T ES 99914397 T ES99914397 T ES 99914397T ES 2204117 T3 ES2204117 T3 ES 2204117T3
Authority
ES
Spain
Prior art keywords
parameters
curve
parameter
elliptical
mod
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
ES99914397T
Other languages
English (en)
Inventor
Erwin Hess
Jean Georgiades
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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Application granted granted Critical
Publication of ES2204117T3 publication Critical patent/ES2204117T3/es
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)
  • Numerical Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Complex Calculations (AREA)

Abstract

Procedimiento para el procesamiento criptográfico con la ayuda de una curva elíptica en un ordenador, a) en el que la curva elíptica es predeterminada (101) en una primera forma, donde varios primeros parámetros determinan la curva elíptica; b) en el que la curva elíptica es transformada en una segunda forma y2 = x3 + c4ax + c6b siendo determinados (102) varios segundos parámetros, donde al menos uno de los segundos parámetros es acortado en su longitud con respecto al primer parámetro correspondiente, donde x, y designan variables, a, b designan los primeros parámetros y c designa una constante; c) donde al menos se acorta (103) el parámetro a, siendo seleccionada la constante c de tal forma que c4a mod p se determina claramente más corto que la longitud del parámetro b y la longitud de la variable p predeterminada; d) en el que la curva elíptica se determina (104) en la segunda forma para el procesamiento criptográfico.

Description

Procedimiento y dispositivo para el procesamiento criptográfico con la ayuda de una curva elíptica en un ordenador.
La invención se refiere a un procedimiento y a una disposición para el procesamiento criptográfico con la ayuda de una curva elíptica en un ordenador.
Un cuerpo finito significa un campo de Galois. Con respecto a las propiedades y a la definición del campo de Galois se remite a [3].
Con la amplia difusión de redes de ordenadores y de aplicaciones correspondientes, que se desarrollan a través de sistemas electrónicos de comunicación (redes de comunicación), se plantean requerimientos cada vez más elevados a la seguridad de los datos. El aspecto de la seguridad de los datos tiene en cuenta, entre otras cosas:
-
la posibilidad de un fallo de la transmisión de los datos,
-
la posibilidad de datos corruptos,
-
la autenticidad de los datos, es decir, la posibilidad de determinación y la identificación de un emisor y
-
la protección de la confidencialidad de los datos.
Por una "clave" se entienden datos, que encuentran aplicación en el procesamiento criptográfico. Se conoce por el procedimiento de Clave Pública [4] emplear una clave secreta y una clave pública.
Un "agresor" es una persona no autorizada con el objetivo de acceder a las claves.
Especialmente en un ordenador, pero en medida creciente también en medios portátiles, por ejemplo en un teléfono móvil o una tarjeta de chip, hay que asegurar que una clave memorizada no es accesible tampoco cuando un agresor se apodera del ordenador, del teléfono móvil o de la tarjeta de chip.
Para garantizar seguridad suficiente de los procedimientos criptográficos, se determinan claves, en particular en los procedimientos asimétricos, respectivamente, con longitudes de varios 100 bits. Una memoria especial de un ordenador o medio portátil está dimensionada la mayoría de las veces de forma escasa. Una longitud de una clave de varios 100 bits depositada en un área de la memoria de este tipo reduce el espacio libre de la memoria sobre el ordenador o bien sobre el medio, de manera que solamente se pueden memorizar de una vez pocas de tales claves.
Se conoce por [1], [2], [5] y [6] una curva elíptica y su aplicación en el procesamiento criptográfico.
El cometido de la invención consiste en indicar un procedimiento para el procesamiento criptográfico con la ayuda de al menos una curva elíptica sobre un ordenador, donde se necesita poco área de la memoria.
Este cometido se soluciona con un procedimiento y un dispositivo con las características de las reivindicaciones 1 y 9 de la patente, respectivamente.
Se indica un procedimiento para el procesamiento criptográfico con la ayuda de al menos una curva elíptica en un ordenador, en el que la curva elíptica es predeterminada en una primera forma, donde varios primeros parámetros determina la curva elíptica en la primera forma. La curva elíptica se transforma en una segunda forma, siendo determinados varios segundos parámetros, donde al menos uno de los segundos parámetros es acortado en su longitud con respecto a uno de los primeros parámetros. La curva elíptica es utilizada para el procesamiento criptográfico después de la transformación, por lo tanto en la segunda forma.
A través del acortamiento significativo de uno de los primeros parámetros se consigue un ahorro de un área de la memoria que debería prepararse para estos parámetros. Puesto que el área de la memoria está dimensionada estrecha, por ejemplo en una tarjeta de chip, a través del ahorro de varios 100 bits para el parámetro acortado se consigue área de la memoria libre, por ejemplo para la memorización de otra clave secreta. A través del acortamiento del parámetro respectivo se mantiene garantizada a pesar de todo la seguridad del procedimiento criptográfico.
En el caso de utilización de una curva criptográfica en un procedimiento criptográfico, se incrementa el gasto para que un agresor determine la clave, en una medida exponencial a su longitud.
En este caso, la primera forma de la curva elíptica puede estar determinada por:
(1)y^{2} = x^{3} + ax + b \ sobre \ GF(p)
\newpage
donde
GF(p) designa un campo de Galois con p elementos y
x, y, a, b designan elementos del cuerpo GF(p).
La designación utilizada más adelante "mod p" designa un caso especial para el campo de Galois, a saber, los números naturales menores que p. "mod " representa MÓDULO y comprende una división de número entero con resto.
La invención consiste en que la segunda forma de la curva elíptica está determinada por:
(2)y^{2} = x^{3} + c^{4}ax + c^{6}b \ sobre \ GF(p)
donde c designa una constante.
Para el ahorro de espacio de memoria se transforma la ecuación (1) en la ecuación (2)y se acorta una variable que identifica a la curva elíptica según la ecuación (2).
La invención consiste, además, en acortar el parámetro a, seleccionando la constante c de tal forma que
(3)c^{4}a \ mod \ p
es claramente más corto que los otros parámetros que describen la curva elíptica según la ecuación (2). A través de esta reducción, el parámetro necesita correspondientemente menos espacio de memoria.
También es un desarrollo emplear el procedimiento en una de las siguientes aplicaciones:
\bullet
Codificación o decodificación:
Los datos son codificados por un emisor -por medio de procedimientos simétricos o asimétricos- y son decodificados en el lado opuesto en el receptor.
\bullet
Adjudicación de claves a través de una instancia de certificación:
Una instalación confidencial (instancia de certificación) adjudica la clave, debiendo asegurarse que la clave procede de esta instancia de certificación.
\bullet
Firma digital o verificación de la firma digital:
Un documento electrónico es firmado y la firma es agregada al documento. En el receptor, con la ayuda de la firma se puede determinar si la ha firmado realmente el emisor deseado.
\bullet
Autenticación asimétrica:
Con la ayuda de un procedimiento asimétrico, un usuario puede verificar su identidad. Esto se realiza con preferencia a través de codificación con una clave secreta (privada) correspondiente. Con la clave pública correspondiente de este usuario, cualquiera puede determinar que la codificación procede realmente de este usuario.
\bullet
Reducción de claves:
Una variante del procesamiento criptográfico comprende la reducción de una clave, cuya clave se puede utilizar con preferencia para procedimientos de gran alcance de la criptografía.
Además, se indica un dispositivo, que presenta una unidad de procesador, que está instalada de tal forma que se predetermina una curva elíptica en una primera forma, donde varios primeros parámetros determinan la curva elíptica, y de tal forma que la curva elíptica es transformada en una segunda forma, siendo determinados varios segundos parámetros, donde al menos uno de los segundos parámetros es acortado en su longitud con respecto a los primeros parámetros. Por último, se determina la curva elíptica en la segunda forma para el procesamiento criptográfico.
Este dispositivo puede ser una tarjeta de chip, que presenta un área de la memoria protegida y un área de la memoria no protegida, donde se pueden depositar claves tanto en el área de la memoria protegida como también en el área de la memoria no protegida, es decir, parámetros que identifican la curva elíptica.
\newpage
Este dispositivo es adecuado para la realización del procedimiento según la invención de uno de sus desarrollos explicados anteriormente.
Los desarrollos de la invención se deducen también a partir de las reivindicaciones dependientes.
Con la ayuda de la figura siguiente se representan en detalle ejemplos de realización de la invención. En este caso:
La figura 1 muestra un procedimiento para el procesamiento criptográfico por medio de una curva elíptica, donde se acorta al menos un parámetro de la curva elíptica y de esta manera se consigue un ahorro de una parte del área de la memoria necesaria para los parámetros de la curva elíptica.
La figura 2 muestra una selección de posibilidades para el número primo p, de manera que se acorta el parámetro "a" de la curva elíptica.
La figura 3 muestra un procedimiento para la determinación de una curva elíptica y la transformación siguiente en la segunda forma.
La figura 4 muestra una disposición para el procesamiento criptográfico.
La figura 5 muestra una unidad de procesador.
La figura 1 muestra un procedimiento para el procesamiento por medio de una curva elíptica. La curva elíptica (ver el bloque 101)es transformada a tal fin des una primera forma a una segunda forma (ver el bloque 102), se acorta un parámetro de la segunda forma (ver el bloque 103) y se memoriza la segunda forma para el procesamiento criptográfico (ver el bloque 104). A continuación se describen las etapas mencionadas, siendo mostradas a modo de ejemplo algunas posibilidades para el acortamiento.
Se describe cómo se consigue una reducción de la longitud del parámetro "a" en la ecuación de la curva elíptica (curva elíptica en la primera forma, ver bloque 101)
(3)y^{2} = x^{3} + ax + b \ sobre \ GF(p)
donde p es especialmente un número primo mayor que 3 y GF(p) representa un campo de Galois con p elementos.
Una curva elíptica
(4)y^{2} = x^{3} + ax + b \ sobre \ GF(p)
se puede transferir a través de transformación en una curva elíptica isomorfa birracional (curva elíptica en la segunda forma, ver bloque 102)
(5)y^{2} = x^{3} + c^{4}ax + c^{6}b \ sobre \ GF(p)
A través de la selección adecuada de las constantes c se puede acortar el coeficiente
(6)c^{4}a \ o \ bien
(7)-c^{4}a
(ver bloque 103) con la ventaja de que el área de memoria necesaria para la memorización de este coeficiente puede ser reducida en comparación con el área de memoria para el parámetro a:
De acuerdo con la ecuación (5) se determinan a continuación los índices:
c^{4}a (o bien c^{4}a) y c^{2}
\newpage
1. Determinación del índice "c^{4}a"
Para la determinación del índice c^{4}a (o bien c^{4}a) se distinguen con preferencia los casos siguientes:
1.1 p \equiv 3 mod 4
En estos cuerpos se aplica:
-
todos los cuadrados son también cuartas potencias,
-
"-1" es no cuadrado.
Supongamos ahora que p = 4k + 3 y s es una cuarta potencia, que genera el subgrupo multiplicativo de las cuartas potencias (o bien de los cuadrados) en GF/p).
En este caso
V = \{1, s, s^{2}, s^{3}, ..., s^{2k}\}
es la cantidad de las cuartas potencias en GF(p) y
NQ = \{-1,-s,-s^{2},-s^{3},...,-s^{2k}\}
es la cantidad de los no cuadrados en GF(p).
1
En este caso, s, t y k designan elementos del cuerpo de GF(p).
Para p \equiv 3 mod 4, se puede transferir el parámetro "a" a través de la selección adecuada de las constantes c en el índice c^{4}a = 1 en GF (p) o c^{4}a = -1 en GF(p)
1.2 p \equiv 1 mod 4
En un cuerpo de este tipo se aplica:
-
(p-1)/4 elementos del grupo multiplicativo del cuerpo son cuartas potencias;
-
(p-1)/4 elementos del grupo multiplicativo del cuerpo son cuadrados, pero no cuartas potencias;
-
(p-1)/4 elementos del grupo multiplicativo del cuerpo son no cuadrados:
-
"-1" es no cuadrado.
A) p \equiv 5 mod 8
En un cuerpo de este tipo, se aplica adicionalmente:
-
"-1" es un cuadrado, pero no una cuarta potencia,
-
"+2", "-2" no son cuadrados.
Supongamos ahora que p = 8k + 5 y s es una cuarta potencia, que genera el subgrupo multiplicativo de la cuarta potencia en GF(p).
En este caso:
V = \{1, s, s^{2}, s^{3}, ..., s^{2k}\}
Es la cantidad de las cuartas potencias en GF(p) y
Q = \{-1,-s,-s^{2},-s^{3},...,-s^{2k}\}
es la cantidad de los cuadrados, que no son cuartas potencias en GF(p) y
NQ = \{2, 2s, 2s^{2}, 2s^{3},..., 2s^{2k}, -2, -2s, -2s^{2}, -2s^{3},..., -2s^{2k}\}
es la cantidad de los no cuadrados en GF(p).
2
Para p \equiv 5 mod 8 se puede transferir el parámetro "a" a través de la selección adecuada de las constantes c al índice c^{4}a = 1 ó -1 ó 2 ó -2 en GF(p).
B) p \equiv 1 mod 8
El índice c^{4}a se puede determinar según el esquema siguiente:
Para r = 1, -1, 2, -2, 3, -3, 4, -4,...
-
formar x \equiv ra^{-1} mod p;
-
calcular u \equiv z^{(p-1)/4} mod p;
-
interrumpir en el caso de que sea u = 1;
-
memorizar z = c^{4} y r = c^{4}a.
\newpage
2. Determinación del índice "c^{2} en GF(p)"
Para la determinación del incide c^{2} mod p se establece en primer lugar en el cuerpo GF(p) correspondiente si "a" es una cuarta potencia, un cuadrado pero no una cuarta potencia o no un cuadrado.
2.1 p = 4k + 3
En estos cuerpos se calcula u = a^{(p-1)/2} en GF (p).
-
Si es u = 1 en GF (p), entonces a es una cuarta potencia (o bien un cuadrado). En este caso es c^{4} = a^{-1} en GF (p).
-
Si es u = -1 en GF (p), entonces a es no cuadrado. En este caso es c^{4} = -a^{-1} en GF (p).
2.2 p = 8k + 5
En estos cuerpos se calcula u = a^{(p-1)/4} en GF (p).
-
Si es u = 1 en GF (p), entonces a es una cuarta potencia. En este caso es c^{4} = a^{-1} en GF(p).
-
Si es u = -1, entonces a es un cuadrado, pero no una cuarta potencia. En este caso es c^{4} = -a^{-1} en GF(p).
-
Si u no es ni 1 ni -1 en GF(p), entonces a es no cuadrado en GF(p). En este caso, se calcula v = (2 a)^{(p-1)/4} en GF(p). Si es v = 1 en GF(p), entonces es c^{4} = 2a^{-1} en GF(p), en otro caso es c^{4} = -2a^{-1} en GF(p).
2.2 p = 8k + 1
En estos cuerpos, de acuerdo con el esquema descrito en 1.2, caso B, es z = c^{4}.
En todos los tres casos, con un gasto de O(log p) se pueden calcular las dos raíces (c^{2} y -c^{2}) a partir de c^{2}. Para el caso p = 4 k + 3, solamente es admisible una de las dos soluciones mencionadas, a saber, aquélla que es un cuadrado en GF(p). En los otros casos, ambas soluciones son admisibles. Por lo tanto, se puede calcular el coeficiente c^{6}b de la curva elíptica.
En virtud de las fórmulas cerradas para los casos p = 4k + 3 y p = 8k + 5, hay que preferir en la práctica tales números primos.
Ejemplo 1
Supongamos el número primo p = 11 \Rightarrow Caso 1.1: p \equiv 3 mod 4
TABLA 1
Cuadrados y cuartas potencias mod 11
Índice Cuadrados Q Cuartas potencias V
1 1 1
2 4 5
3 9 4
4 5 3
5 3 9
6 3 9
7 5 3
8 9 4
9 4 5
10 1 1
De esta manera se obtienen la cantidad de los cuadrados Q, la cantidad de las cuartas potencias V y la cantidad de los no cuadrados NQ:
Q = V = {1, 3, 4, 5, 9};
NQ = {2, 6, 7, 8, 10}.
a \in V = Q\Rightarrow ac^{4} = 1
TABLA 2
Determinación de c^{4} con parámetro a dado
a= c^{4}=
1 1
3 4
4 3
5 9
9 5
a \in NQ\Rightarrow ac^{4} = -1
TABLA 3
Determinación de c^{4} con parámetro a dado
a= c^{4}=
2 5
6 9
7 3
8 4
10 1
La Tabla 2 muestra diferentes posibilidades de una asociación de valor de a y c^{4}, que dan como resultado siempre 1 en la combinación ac^{4}, y la Tabla 3 muestra diferentes posibilidades de una asociación de valor de a y c^{4}, que dan como resultado siempre -1 en la combinación ac^{4}. Esto se aplica en GF(11).
Ejemplo 2
Supongamos el número primo p = 13 \Rightarrow Caso 1.2 A) : p \equiv 1 mod 4 y al mismo tiempo p \equiv 5 mod 8.
TABLA 4
Cuadrados y cuartas potencias mod 13
Índice Cuadrados Q Cuartas potencias V
1 1 1
2 4 3
3 9 3
4 3 9
5 12 1
6 10 9
7 10 9
8 12 1
9 3 9
10 9 3
11 4 3
12 1 1
De esta manera se obtienen la cantidad de los cuadrados Q (que no son cuartas potencies), la cantidad de las cuartas potencias V y la cantidad de los no cuadrados NQ:
Q = {4, 10, 12};
V = {1, 3, 9};
NQ = {2, 5, 6, 7, 8, 11}.
a \in V \Rightarrow c^{4} \in V
TABLA 5
Determinación de c^{4} con parámetro a dado
a= c^{4}=
1 1
3 9
9 3
\Rightarrow ac^{4} \equiv 1 mod 13
a \in Q
TABLA 6
Determinación de c^{4} con parámetro a dado
a= c^{4}= ac^{4} =
4 3 12 = -1 mod 13
10 9 90 = -1 mod 13
12 1 12 = -1 mod 13
\Rightarrow ac^{4} \equiv -1 mod 13
a \in NQ
NQ = {2, 5, 6, 7, 8, 11},
2*V = {1, 5, 6} y
2*Q = {7, 8, 11}
Caso a
a \in NQ y a \in (2 * V)
TABLA 7
Determinación de c^{4} con parámetro a dado
A= c^{4}= ac^{4} =
2 1 2= 2 mod 13
5 3 15 = 2 mod 13
6 9 54 = 2 mod 13
\Rightarrow ac^{4} \equiv 2 mod 13
\newpage
Caso b
a \in NQ y a \in (2 * Q)
TABLA 8
Determinación de c^{4} con parámetro a dado
A= c^{4}= ac^{4}=
7 9 63 = -2 mod 13
8 3 24 = -2 mod 13
11 1 11 = -2 mod 13
\Rightarrow ac^{4} \equiv -2 mod 13
La curva elíptica obtenida de la manera descrita en la segunda forma (ver bloque 103) se emplea para un procesamiento criptográfico.
La figura 2 muestra una elección de posibilidades para la selección del número primo p para la reducción del parámetro a (ver bloque 201), como se ha descrito anteriormente. La posibilidad 202 determina p de tal manera que se aplica p = 3 mod 4. En este caso, se puede acortar el parámetro a con la ayuda del procedimiento descrito anteriormente. Lo mismo se aplica para p = 1 mod 4 (Caso 203), donde una distinción de los casos indica de forma separada los dos casos p = 5 mod 8 (Caso 204) y p = 1 mod 8 (Caso 205). Las formulaciones cerradas para la determinación de un parámetro a reducido están indicadas, respectivamente, más arriba. La figura 2 muestra expresamente una selección de posibilidades, sin pretender una selección exhaustiva.
En la figura 3 se determina en una primera etapa 301 una curva elíptica con los parámetros a, b, p y un número de puntos ZP según la ecuación (1). En una etapa 302 se transforma la curva elíptica (ver la ecuación (2)). Después de la transformación, la curva elíptica comprende los parámetros a', b', p y ZP. a' y b' indican que han sido modificados los parámetros a y b, donde un parámetro, con p0referencia el parámetro a', es corto en comparación con el parámetro a, de manera que a través de la memorización del parámetro a' en lugar del parámetro a como distintivo de la curve elíptica, se ahorra espacio de la memoria.
En la figura 4 se representa una disposición para el procesamiento criptográfico.
Un medio portátil 401, con preferencia una tarjeta de chip, comprende un área de la memoria (no segura) MEM 403 y un área de la memoria protegida (segura) SEC 402. Con la ayuda de un interfaz IFC 404 se intercambian datos, a través de un canal 405, entre el medio 401 y la red de ordenadores 406. La red de ordenadores 406 comprende varios ordenadores, que están conectados entre sí y que se comunican entre sí. Los datos para el funcionamiento del medio portátil 401 están disponibles con preferencia distribuidos en la red de ordenadores RN 406.
El área de la memoria protegida 402 está realizada de forma no legible. Con la ayuda de una unidad de ordenador, que está alojada en el medio portátil 401 o en la red de ordenadores 406, se utilizan los datos del área de la memoria protegida 402. De esta manera, una operación de comparación puede indicar como resultado si una comparación de una entrada con una clave en el área de la memoria protegida 402 ha tenido éxito o no.
Los parámetros de la curva elíptica están depositados en el área de la memoria protegida 402 o en el área de la memoria no protegida 403. Especialmente se memoriza una clave secreta o privada en el área protegida de la memoria y una clave pública en el área no segura de la memoria.
En la figura 5 se representa una unidad de ordenador 501. La unidad de ordenador 501 comprende un procesador CPU 502, una memoria 503 y un interfaz de entrada / salida 504, que se utiliza de una manera diferente a través de un interfaz 505 conducido desde la unidad de cálculo 501: A través de un interfaz gráfico se puede ver una salida sobre un monitor 507 y/o se puede expresar en una impresora 508. Se realiza una entrada a través de un ratón 509 o un teclado 510. La unidad de cálculo 501 dispone también de un bus 506, que asegura la comunicación de la memoria 503, el procesador 502 y el interfaz de entrada/salida 504. Además, es posible conectar en el bus 506 componentes adicionales: memoria adicional, disco duro, etc.
\newpage
Índice de la literatura
[1] Neal Koblitz: A Course in Number Theory and Cryprography, Springer Verlag, Nueva York, 1987, ISBN 0-387-96576-9, páginas 150-179.
[2] Alfred J. Menezes: Elliptic Curve Public Key Cryptosystems, Kluwer Academic Publishers, Massachusetts 1993, ISBN 0-7923-9368-6, páginas 83-116.
[3] Rudolf Lidl, Harald Niederreiter: Introduction to finite fields and their applications, Cambridge University Press, Cambridge 1986, ISBN 0-521-30706-6, páginas 15, 45.
[4] Christoph Ruland: Informationssicherheit in Datennetzen, DATACOM-Verlang, Bergheim 1993, ISBN 3-89238-081-3, páginas 73-85.
[5] Miyaji A: "Elliptic curves suitable for cryptosystems" Oeice transactions on fundamentals of electronics, Communications and computer sciences, vol. E77-A, nº 1, 1 enero de 1994 (1994-01-01), páginas 98-104, XP000439669 ISSN: 0916-8508.
[6] US-A-5 497 423 (Miyaji Atsuko), 5 de Marzo de 1996 (1996-03-05).

Claims (11)

1. Procedimiento para el procesamiento criptográfico con la ayuda de una curva elíptica en un ordenador,
a)
en el que la curva elíptica es predeterminada (101) en una primera forma, donde varios primeros parámetros determinan la curva elíptica;
b)
en el que la curva elíptica es transformada en una segunda forma
y^{2} = x^{3} + c^{4}ax + c^{6}b
siendo determinados (102) varios segundos parámetros, donde al menos uno de los segundos parámetros es acortado en su longitud con respecto al primer parámetro correspondiente, donde
x, y designan variables,
a, b designan los primeros parámetros y
c designa una constante;
c)
donde al menos se acorta (103) el parámetro a, siendo seleccionada la constante c de tal forma que
c^{4}a \ mod \ p
se determina claramente más corto que la longitud del parámetro b y la longitud de la variable p predeterminada;
d)
en el que la curva elíptica se determina (104) en la segunda forma para el procesamiento criptográfico.
2. Procedimiento según la reivindicación precedente, en el que se determina la primera forma de la curva elíptica a través de
y^{2} = x^{3} + ax + b,
donde
x, y designan variables y
a, b designan los primeros parámetros.
3. Procedimiento según una de las reivindicaciones anteriores, en el que se realiza una codificación criptográfica.
4. Procedimiento según una de las reivindicaciones anteriores, en el que se realiza una decodificación criptográfica.
5. Procedimiento según una de las reivindicaciones anteriores, en el que se realiza una adjudicación de claves.
6. Procedimiento según una de las reivindicaciones anteriores, en el que se realiza una firma digital.
7. Procedimiento según la reivindicación 6, en el que se realiza una verificación de la firma digital.
8. Procedimiento según una de las reivindicaciones anteriores, en el que se realiza una autenticación asimétrica.
9. Dispositivo para el procesamiento criptográfico, con una unidad de procesador (501), que está instalada de tal forma que
a)
se predetermina (101) una curva elíptica en una primera forma, donde varios primeros parámetros determinan la curva elíptica;
b)
la curva elíptica es transformada (102) en una segunda forma
y^{2} = x^{3} + c^{4}ax + c^{6}b
\newpage
siendo determinados varios segundos parámetros, donde al menos uno de los segundos parámetros es acortado en su longitud con respecto al primer parámetro correspondiente, donde
x, y designan variables,
a, b designan los primeros parámetros y
c designa una constante;
c)
al menos se acorta (103) el parámetro a, siendo seleccionada la constante c de tal forma que
c^{4}a \ mod \ p
se determina claramente más corto que la longitud del parámetro b y la longitud de la variable p predeterminada;
d)
la curva elíptica se determina (104) en la segunda forma para el procesamiento criptográfico.
10. Dispositivo según la reivindicación 9, en el que el dispositivo es una tarjeta de chip (401) con un área de memoria (403), pudiendo memorizarse en el área de la memoria los parámetros de la curva elíptica.
11. Dispositivo según la reivindicación 10, en el que se puede memorizar una clave secreta en un área de la memoria protegida (402) de la tarjeta de chip.
ES99914397T 1998-02-18 1999-02-02 Procedimiento y dispositivo para el procesamiento criptografico con la ayuda de una curva eliptica en un ordenador. Expired - Lifetime ES2204117T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19806825 1998-02-18
DE19806825 1998-02-18

Publications (1)

Publication Number Publication Date
ES2204117T3 true ES2204117T3 (es) 2004-04-16

Family

ID=7858204

Family Applications (1)

Application Number Title Priority Date Filing Date
ES99914397T Expired - Lifetime ES2204117T3 (es) 1998-02-18 1999-02-02 Procedimiento y dispositivo para el procesamiento criptografico con la ayuda de una curva eliptica en un ordenador.

Country Status (13)

Country Link
US (1) US6956946B1 (es)
EP (1) EP1062764B1 (es)
JP (1) JP2002504720A (es)
KR (1) KR20010024912A (es)
CN (1) CN100380860C (es)
AT (1) ATE245875T1 (es)
BR (1) BR9908095A (es)
CA (1) CA2321478A1 (es)
DE (1) DE59906358D1 (es)
ES (1) ES2204117T3 (es)
RU (1) RU2232476C2 (es)
UA (1) UA57827C2 (es)
WO (1) WO1999043124A1 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307935B1 (en) * 1991-09-17 2001-10-23 Apple Computer, Inc. Method and apparatus for fast elliptic encryption with direct embedding
AU758621B2 (en) * 1997-12-05 2003-03-27 Icesoft Technologies, Inc. Transformation methods for optimizing elliptic curve cryptographic computations
US7555122B2 (en) * 2002-12-04 2009-06-30 Wired Communications LLC Method for elliptic curve point multiplication
JP4634046B2 (ja) * 2003-01-28 2011-02-16 パナソニック株式会社 故障利用攻撃に対抗できる楕円べき倍演算装置及び情報セキュリティ装置
CN101034991B (zh) * 2007-04-06 2011-05-11 中兴通讯股份有限公司 安全引导系统及方法、代码签名构造方法及认证方法
US8102998B2 (en) * 2007-05-02 2012-01-24 King Fahd University Of Petroleum And Minerals Method for elliptic curve scalar multiplication using parameterized projective coordinates
US20080273695A1 (en) * 2007-05-02 2008-11-06 Al-Gahtani Theeb A Method for elliptic curve scalar multiplication using parameterized projective coordinates
DE102008046291B4 (de) 2008-09-08 2012-02-23 Siemens Aktiengesellschaft Effiziente Speicherung kryptographischer Parameter
CN101378321B (zh) * 2008-09-26 2011-09-28 北京数字太和科技有限责任公司 一种安全处理的方法和装置
FR2941115B1 (fr) * 2009-01-14 2011-02-25 Sagem Securite Codage de points d'une courbe elliptique
CN101515853B (zh) * 2009-03-09 2011-05-04 深圳同方电子设备有限公司 信息终端及其信息安全装置
EP2228715A1 (en) * 2009-03-13 2010-09-15 Thomson Licensing Fault-resistant calculcations on elliptic curves
FR2946819B1 (fr) * 2009-06-16 2011-07-01 Sagem Securite Cryptographie sur une courbe elliptique.
RU2457625C1 (ru) * 2010-11-30 2012-07-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Санкт-Петербургский государственный политехнический университет" (ФГБОУ ВПО "СПбГПУ") Способ электронной цифровой подписи на основе эллиптической кривой
CN114143051B (zh) * 2021-11-19 2024-02-23 江苏林洋能源股份有限公司 一种智能电表基于性能调整tls协议选择的方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3323268A1 (de) 1983-06-28 1985-01-10 Siemens AG, 1000 Berlin und 8000 München Verfahren zum potenzieren in galois-feldern gf(2(pfeil hoch)n(pfeil hoch)) fuer zwecke der datenverarbeitung, der datensicherung, der datenuebertragung usw., insbesondere fuer den schluesselaustausch fuer eine verschluesselte datenuebertragung, und schaltungsanordnung zur durchfuehrung des verfahrens
RU2007884C1 (ru) 1991-11-22 1994-02-15 Борис Владимирович Березин Устройство шифрования двоичной информации "албер"
US5442707A (en) * 1992-09-28 1995-08-15 Matsushita Electric Industrial Co., Ltd. Method for generating and verifying electronic signatures and privacy communication using elliptic curves
US5497423A (en) * 1993-06-18 1996-03-05 Matsushita Electric Industrial Co., Ltd. Method of implementing elliptic curve cryptosystems in digital signatures or verification and privacy communication

Also Published As

Publication number Publication date
DE59906358D1 (de) 2003-08-28
RU2232476C2 (ru) 2004-07-10
ATE245875T1 (de) 2003-08-15
WO1999043124A1 (de) 1999-08-26
CA2321478A1 (en) 1999-08-26
UA57827C2 (uk) 2003-07-15
CN1297635A (zh) 2001-05-30
EP1062764B1 (de) 2003-07-23
KR20010024912A (ko) 2001-03-26
BR9908095A (pt) 2000-10-31
CN100380860C (zh) 2008-04-09
EP1062764A1 (de) 2000-12-27
JP2002504720A (ja) 2002-02-12
US6956946B1 (en) 2005-10-18

Similar Documents

Publication Publication Date Title
ES2204117T3 (es) Procedimiento y dispositivo para el procesamiento criptografico con la ayuda de una curva eliptica en un ordenador.
Beaver Precomputing oblivious transfer
Deng et al. Deniable authentication protocols
RU2236760C2 (ru) Способ и устройство для взаимной аутентификации двух блоков обработки данных
ES2359205T3 (es) Procedimiento y aparato para el almacenamiento y uso seguros de claves criptográficas.
US5615268A (en) System and method for electronic transmission storage and retrieval of authenticated documents
US8300811B2 (en) Method and device for processing data
JP4774492B2 (ja) 認証システム及び遠隔分散保存システム
US4926480A (en) Card-computer moderated systems
ES2308725T3 (es) Firmas de pregunta-respuesta y protocolos de seguridad de diffie-hellman.
JP5180678B2 (ja) Icカード、icカードシステムおよびその方法
CN100432889C (zh) 提供断开鉴别的系统和方法
Di Crescenzo et al. How to forget a secret
CN1326354C (zh) 利用瞬时模数的密码验证
EP0720326A2 (en) Method for secure session key generation
US6052467A (en) System for ensuring that the blinding of secret-key certificates is restricted, even if the issuing protocol is performed in parallel mode
CN101296075B (zh) 一种基于椭圆曲线的身份认证系统
KR20040102110A (ko) 집적회로의 인증 방법 및 장치
McAndrew Introduction to Cryptography with open-source software
CN104782077A (zh) 密码证书重发
Hartung Attacks on secure logging schemes
ES2279525T3 (es) Procedimiento de criptografia de clave publica basado en el logaritmo discreto.
KR100971038B1 (ko) 다수의 엔티티와 그에 따른 장치에 부하를 분배하는암호화 방법
EP1267516B1 (en) Method for securing data relating to users of a public-key infrastructure
Brandt et al. Anonymous and verifiable registration in databases