ES2279525T3 - Procedimiento de criptografia de clave publica basado en el logaritmo discreto. - Google Patents
Procedimiento de criptografia de clave publica basado en el logaritmo discreto. Download PDFInfo
- Publication number
- ES2279525T3 ES2279525T3 ES96933484T ES96933484T ES2279525T3 ES 2279525 T3 ES2279525 T3 ES 2279525T3 ES 96933484 T ES96933484 T ES 96933484T ES 96933484 T ES96933484 T ES 96933484T ES 2279525 T3 ES2279525 T3 ES 2279525T3
- Authority
- ES
- Spain
- Prior art keywords
- random
- values
- exponent
- linear combination
- modp
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Storage Device Security (AREA)
Abstract
Procedimiento de criptografía con clave pública basado en el logaritmo discreto en el transcurso del cual se realiza un cálculo de una magnitud r = g k modp, en el que p es un número primo denominado módulo, k un número aleatorio y g un entero denominado base, el procedimiento comprende las siguientes etapas que consisten en: - formar una base de datos que contenga m datos aleatorios x0, ..., xm - 1, y m potencias correspondientes z0, ..., zm - 1 tales como, para cualquier i, zi = g xi mod p, - generar el exponente aleatorio k realizando las siguientes subetapas: * generar m valores a0, ..., am - 1, entre los cuales solamente w valores elegidos aleatoriamente, entre los m valores, son no nulos, * calcular k operando una combinación lineal aleatoria de datos aleatorios de la base de datos según la relación: (Ver fórmula) - y calcular g k mod p combinando las potencias que corresponden a lo datos aleatorios, entre los m valores, xi que forman parte de la combinación.
Description
Procedimiento de criptografía de clave pública
basado en el logaritmo discreto.
El presente invento tiene como objeto un
procedimiento de criptografía, dicho de clave pública, basado en el
logaritmo discreto que hace intervenir el cálculo de una magnitud
módulo p.
Este invento puede aplicarse en la generación de
firmas digitales de mensajes, o en una cesión de autenticación
entre dos entidades.
En dichos procedimientos, la seguridad se
fundamenta en la extrema dificultad que existe en invertir ciertas
funciones y más especialmente el logaritmo discreto.
Este problema consiste, habida cuenta de la
relación matemática y = g^{x} módulo p que anotaremos a
continuación
y = g^{x} modp (y que significa que y es el resto de la división de g^{x} por p), deberá encontrarse x cuando se conoce p, g e y. Este problema resulta imposible de resolver, en el estado actual de los conocimientos, en cuanto el tamaño p alcanza o sobrepasa los 512 bits, y cuando el de x alcanza o sobrepasa los 128 bits.
y = g^{x} modp (y que significa que y es el resto de la división de g^{x} por p), deberá encontrarse x cuando se conoce p, g e y. Este problema resulta imposible de resolver, en el estado actual de los conocimientos, en cuanto el tamaño p alcanza o sobrepasa los 512 bits, y cuando el de x alcanza o sobrepasa los 128 bits.
En dichos sistemas, existe, por lo general, una
autoridad que suministra el número p de gran tamaño, lo que
constituye el módulo. La autoridad elige igualmente un entero g,
denominado base, tal como el conjunto engendrado por g, es decir,
el conjunto formado por números g^{x} modp, para x pertenece al
intervalo [0, p-1], ya sea un subconjunto de tamaño
máximo, como mínimo 2^{128}.
Los parámetros p y g se dicen "públicos",
es decir, que los suministra la autoridad a todos los usuarios
vinculados a dicha autoridad.
Según ciertas variantes, estos parámetros los
eligen individualmente cada uno de los usuarios, y forman parte
íntegra, en este caso, de su clave pública.
Uno de los inconvenientes principales de la
aplicación de sistemas criptográficos radica en la necesidad de
disponer de medios de cálculo y de memorización relativamente
importantes, debido a los complejos cálculos que se
realizan.
realizan.
En efecto, el cálculo de la magnitud g^{k}modp
consiste en realizar multiplicaciones modulares y esto resulta
costoso en tiempo de cálculo y en espacio de memoria. En
dispositivos electrónicos simples que sólo utilizan
microprocesadores estándares, este tipo de operación apenas puede
realizarse.
Para dispositivos electrónicos que poseen un
procesador especializado para este tipo de cálculo, es preferible
limitar, a pesar de todo, el tiempo de cálculo y el espacio de
memoria necesario para los resultados intermedios.
En efecto, el cálculo de la magnitud g^{k}modp
es, por lo general, relativamente costoso por el método clásico del
"cuadrado-multiplicado" conocido bajo la
abreviatura anglosajona SQM (Square-Multiply),
puesto que equivale por término medio a 3/2 Log_{2}(p)
multiplicaciones.
Según este método, pueden calcularse todas las
potencias de g, es decir, cuando k tiene una longitud de n bits,
todos los cuadrados:
g^{2 \ 0},
g^{2 \ 1}, ... g^{2 \
n},
Según el método del "cuadrado multiplicado"
simple g^{k} requiere n/m multiplicaciones y n cuadrados.
Un método propuesto por E. BRICKELL y al.
denominado por la abreviatura BGCW permite reducir el número de
multiplicaciones en el caso del método del
cuadrado-multiplicado pero introduce una necesidad
de almacenamiento de numerosas constantes precalculadas y, por
tanto la necesidad de disponer de una cantidad de memorias de
almacenamiento muy penalizadoras.
Este método se describe en el artículo de E.
BRICKELL: "Fast Exponentiation with Precomputation",
EUROCRYPT'92, p. 200-207. Se elige un exponente de manera aleatoria y se busca una descomposición en combinación lineal n = \sum ai xi, 0 \leq i \leq m-1. Se precalculan y se memorizan potencias g^{xi}. Finalmente se calcula la función exponencial g^{n} combinando las potencias.
EUROCRYPT'92, p. 200-207. Se elige un exponente de manera aleatoria y se busca una descomposición en combinación lineal n = \sum ai xi, 0 \leq i \leq m-1. Se precalculan y se memorizan potencias g^{xi}. Finalmente se calcula la función exponencial g^{n} combinando las potencias.
El presente invento tiene como objeto remediar
todos estos inconvenientes, y permite aportar una solución flexible
y poco costosa en tiempo de cálculo y en plaza de memoria para la
puesta en aplicación de algoritmos criptográficos para todos los
sistemas de criptografía y en particular mediante aparatos
portátiles del tipo tarjeta con chip de microprocesador.
\newpage
Según el invento se proponen dos soluciones. Las
dos soluciones se basan en un principio común que consiste en
constituir una base de datos de valores aleatorios y en combinar
dichos valores para determinar exponentes k que sirven para los
intercambios entre dos entidades.
Con las dos soluciones propuestas, el cálculo de
un exponente k requiere menos de 30 multiplicaciones modulares
para un espacio de memoria perfectamente aceptable para soportes
tales como las tarjetas con chip.
Pero el objeto del invento radica más
especialmente en un procedimiento de criptografía con clave pública
basado en el logaritmo discreto que hace intervenir el cálculo de
la magnitud r = g^{k} modp, en el que p es un número primo
denominado módulo, el exponente k un número aleatorio con una
longitud habitual de N bits y g un entero denominado base, en las
etapas en el cual las etapas se definen en la reivindicación 1.
Según un primer modo de realización, las etapas
consisten en:
- -
- formar una base de datos fija que contiene m valores x_{i} aleatorios y las correspondientes magnitudes z_{i}, tales como z_{i} = g^{xi} modp,
- -
- generar un exponente k necesario en cada firma operando una combinación lineal aleatoria de los valores x_{i} de la base,
- -
- calcular la magnitud g^{k} modp a partir de las magnitudes z_{i} relativas a los valores x_{i} que intervienen en la combinación,
- -
- utilizar esta magnitud en los intercambios de señales con otra entidad.
\vskip1.000000\baselineskip
Según un segundo modo de realización, las etapas
consisten en:
- -
- formar una base de datos evolutiva que contienen n valores aleatorios de exponentes y su potencia (k_{i}, g^{k}i modp),
- -
- generar un nuevo exponente necesario para una firma operando una combinación lineal aleatoria de los n valores k_{i},
- -
- calcular la magnitud g^{k}i+1 modp realizando el producto de las potencias de g^{k} de la combinación lineal,
- -
- actualizar la base de los exponentes y de las potencias,
- -
- utilizar esta magnitud en los intercambios de señales con otra entidad.
\vskip1.000000\baselineskip
Otras particularidades y ventajas del invento
aparecerán cuando se lea la descripción que se hace y que se
facilita como ejemplo ilustrativo pero no limitativo con respecto
a los dibujos, los cuales representan:
- la figura 1, un esquema de principio de un
sistema en condiciones de aplicar el invento,
- la figura 2, un esquema funcional que
representa las etapas esenciales del procedimiento según el
invento,
- la figura 3, el esquema funcional según un
primer modo de realización,
- la figura 4, el esquema funcional según un
segundo modo de realización.
Hemos representado en la figura 1, un esquema de
principio de un sistema de aplicación del procedimiento de
criptografía objeto del invento.
Este sistema está formado por una entidad E1 que
desea efectuar intercambios de señales electrónicas con por lo
menos otra entidad E2. Las dos entidades están equipadas
respectivamente con una unidad de tratamiento (CPU) 11, 30 de una
interfaz de comunicación, de una memoria viva (RAM) 13, 32 y/o de
una memoria no inscribible (ROM) 14, 34 y/o de una memoria no
volátil inscribible o reinscribible (EPROM o EEPROM) 15, 33 y un
bus de direcciones, de datos, de control 16,35.
La unidad de mando de tratamiento y/o la ROM
contienen programas o recursos de cálculo que corresponden a la
ejecución de las etapas de cálculo que intervienen en el
procedimiento objeto del invento, es decir, durante una sesión de
autenticación o durante la generación de una firma electrónica o en
el transcurso de las cuales ambas entidades se intercambian con las
señales electrónicas.
La unidad de tratamiento o la ROM poseen los
recursos necesarios para multiplicaciones, adiciones y reducciones
modulares.
Del mismo modo que la unidad de tratamiento y/o
la ROM comprenden las funciones de criptografía utilizadas, propias
para cada algoritmo de criptografía, y los parámetros g y p,
necesarios para el cálculo y determinados de una vez por todas para
el resto. Los exponentes x_{i} según el primer modo o k_{i}
según el segundo modo podrá cargarlos previamente en una memoria
reinscribible, la autoridad o, generarlos a partir de un generador
aleatorio y de un valor aleatorio fuente x_{0} (o k_{0})
secreto. Cada entidad E1, E2 posee además una clave secreta x y la
clave pública y.
El invento se aplica especialmente a los
sistemas de criptografía que se aplican en el campo bancario en
donde se requiere una gran seguridad durante las transacciones que
se realizan en las cuentas.
También es el caso cuando se desea autenticar el
envío de mensajes transmitidos en forma de señales electrónicas
enviadas por otra entidad.
Sucede igualmente en el caso en que es preciso
firmar mensajes durante los intercambios de señales con otra
entidad.
En la práctica, la entidad deseosa de realizar
una transacción podrá ser, por ejemplo, una tarjeta con chip de
circuito integrado, tal como una tarjeta con chip cuyo destino será
entonces un Terminal bancario.
El resto de la descripción se realizará en el
marco de la aplicación del procedimiento cuando se firmen los
mensajes digitales, quedando claro que el invento se aplica a
cualquier sistema criptográfico basado en el logaritmo discreto.
La figura 1, ilustra las etapas esenciales del
procedimiento. Según el invento se forma una base de datos que
contienen un número fijo de exponentes y las correspondientes
potencias,
luego, para cada intercambio de señales:
- -
- se genera un exponente operando una combinación lineal aleatoria de los valores de exponente de la base,
- -
- y se calcula la potencia de g a partir de las potencias de la base entrando en la combinación.
El procedimiento según el invento propone dos
soluciones, ambas se basan en la formación (o constitución) de esta
base de datos.
Según el primer modo de realización, la base es
fija y está formada por un conjunto de m pares (x_{i},
z_{i}).
Los datos x_{i} son números aleatorios que se
obtienen, como se dijo anteriormente, por un generador de números
aleatorios o pseudoaleatorios. La longitud de estos números es la
de un exponente k y es la misma para todos (ya sea N bits). Las
magnitudes z_{i} son el resultado de un cálculo previo, tal
como:
z_{i} =
g^{x_{i}}modp.
La longitud de las magnitudes z_{i} es la del
módulo p.
Cuando la entidad E1 posee esta base de datos B
= [(x_{0}, z_{0}), ... (x_{m-1},
-z_{m-1}) ] puede intercambiar señales con otra
entidad haciendo intervenir por ejemplo una firma DSA (r, s), tal
como r = g^{k}modp en la que k fue generado a partir de los datos
de la base B.
De este modo, según el invento, la entidad
genera un exponente k cuando esto es necesario y lo hace realizando
una combinación lineal aleatoria de los valores x_{i} de la
base. La entidad calcula seguidamente la magnitud g^{k}modp
correspondiente.
Para la generación del exponente k, la entidad
procede del siguiente modo:
- -
- la entidad genera una secuencia de valores a_{i}: (a_{o},... a_{m-1}) que son número enteros aleatorios tales como 0 \leq a_{i} \leq h y entre los cuales, solamente los w valores no son nulos.
- -
- la entidad genera k de tal modo que:
k =
\sum\limits^{m-1}_{i=0} \ a_{i} \
x_{i}
- -
- la entidad calcula a continuación la magnitud g^{k}modp operando las multiplicaciones de las potencias de g datos por los valores z_{i} relativos a los x_{i} que forman parte de la combinación lineal. En la práctica, los x_{i} que entran en la combinación lineal son aquellos para los cuales el coeficiente a_{i} no es nulo.
\newpage
Se utiliza el algoritmo de BRICKELL y al. para
realizar este cálculo, pero el número de multiplicaciones es en lo
sucesivo (h/h+1) w + h-2 en vez de (h/h+1)
m+h-2.
El número w se fija con respecto a la seguridad
requerida y conduce a los siguientes resultados para valores de m
y h:
- m = 32,
\;
w = 24\;
y\;
h = 8
- m = 64,
\;
w = 20\;
y\;
h = 6
Estos valores se dan como ejemplo y pueden
preverse diversas combinaciones desde el momento que se respetan
las obligaciones de seguridad.
En el caso en que m = 64 y w = 20, el número de
multiplicaciones necesarias según el invento es de 34, mientras que
con un método tal como BRICKELL tendríamos que realizar 60
multiplicaciones.
Por consiguiente, para m = 32, se almacenan 32
números de tamaño del módulo p, es decir 512 a 1024 bits según el
caso y 32 números de 160 bits (N = 160).
Los m pares (x_{i} z_{i}) se almacenarán en
la memoria EEPROM en el caso en que la entidad sea una tarjeta y
esto de manera protegida por los métodos habituales de blindaje y
análogo.
La segunda solución propuesta según el invento
consiste en formar una base de datos evolutiva a partir de n
valores aleatorios de exponentes k_{i}, i = 1 a n y de su
potencia g^{ki} modp.
Seguidamente, se obtiene un primer nuevo valor
de exponente k_{i+1} mediante una combinación lineal aleatoria de
los exponentes de la base. Así se efectúa el cálculo de la
magnitud g^{k}i+1 correspondiente a este nuevo exponente. Este
nuevo par se introduce en la base de datos como reemplazo del
primero.
Se obtiene un exponente k necesario para una
firma mediante combinación lineal de todos los demás exponentes de
la base y el contenido de la base se modifica en cada nueva
generación de un exponente.
En efecto, se actualiza la base reemplazando el
primer par por el último obtenido.
De este modo, al instante t, la base tiene la
forma:
- ((k_{o}, g^{k}o modp), (k_{1}, g^{k}1 modp),...
- ..., (k_{t}, g^{k}t modp))
\vskip1.000000\baselineskip
entonces se calcula k_{t+1} y se actualiza la
base, la cual pasa a ser:
- ((k_{1}, g^{k}1 modp), (k_{2}, g^{k}2 modp),...
- ..., (k_{t}, g^{k}t modp)), (k_{t+1}, g^{k}t+1 modp))
\vskip1.000000\baselineskip
el proceso se repite en cada cálculo de un nuevo
k en la secuencia pseudo aleatoria.
Cada exponente de la base es una combinación
lineal expresada para la siguiente relación:
k_{t} =
\sum\limits^{h-1}_{i=0} \ a_{i} \
k_{t+i-(h-1)};
con h-1 =
n
en la cual, los coeficientes al son
número enteros positivos,
aleatorios.
Los números aleatorios se obtienen a partir de
una secuencia fija a_{0},..., a_{h-1} en la que
se efectúa una permutación aleatoria.
De este modo, la generación de un exponente
k_{t+1}, puede expresarse por la siguiente relación:
k_{t+1} =
1_{t}[k_{t+i-(h-1)},...,kt]
1_{t} es una funcional lineal (linear
funcional) de coeficientes enteros, elegida al azar entre L
funcionales.
Los coeficientes a_{i} son pequeñas potencias
de 2. Se eligen valores tomados entre 1 y 2^{f} con f poseyendo
un tamaño que permite una implementación eficaz. Elegiremos por
ejemplo f = 7 con el fin de seguir siendo coherente con los valores
propuestos por el algoritmo de Schnorr. Entonces tomaremos el resto
0,... a_{h-1} como una permutación aleatoria de
la secuencia (1,2,...,2^{7}).
Los coeficientes de las combinaciones lineales
deben ser inferiores a un valor umbral b para evitar ataques y
conservar los k_{t} uniformemente distribuidos y
(h-1) independiente.
Tomando en consideración h y L = b^{h},
sugerimos los valores h = 8 y b = 4 y se fija L =
{1,...b}^{h}.
El tamaño de los números k es generalmente de
160 bits. En este caso el número de multiplicaciones modulares que
intervienen según el procedimiento del invento es fácilmente
inferior al número de multiplicaciones generalmente constatado en
el estado del arte actual. En efecto, para los valores retenidos es
inferior a 30.
Claims (7)
1. Procedimiento de criptografía con clave
pública basado en el logaritmo discreto en el transcurso del cual
se realiza un cálculo de una magnitud r = g^{k} modp, en el que p
es un número primo denominado módulo, k un número aleatorio y g un
entero denominado base, el procedimiento comprende las siguientes
etapas que consisten en:
- -
- formar una base de datos que contenga m datos aleatorios x_{0},..., x_{m-1}, y m potencias correspondientes z_{0}, ..., z_{m-1} tales como, para cualquier i, z_{i} = g^{xi} mod p,
- -
- generar el exponente aleatorio k realizando las siguientes subetapas:
- \text{*}
- generar m valores a_{0},..., a_{m-1}, entre los cuales solamente w valores elegidos aleatoriamente, entre los m valores, son no nulos,
- \text{*}
- calcular k operando una combinación lineal aleatoria de datos aleatorios de la base de datos según la relación:
k =
\sum\limits^{i=m-1}_{i=0} \ a_{i} \
x_{i},
- -
- y calcular g^{k} mod p combinando las potencias que corresponden a lo datos aleatorios, entre los m valores, x_{i} que forman parte de la combinación.
2. Procedimiento de criptografía según la
reivindicación 1, caracterizado en que la etapa de formación
de la base de datos comprende las siguientes subetapas:
- -
- generar m valores aleatorios x_{i} de N bits a partir de un generador pseudo-aleatorio, y de un valor inicial secreto x_{0},
- -
- calcular la magnitud z_{i} = g^{xi}modp realizando el producto de las potencias de g módulo p que entran en la combinación lineal según la cual puede descomponerse un valor x_{i},
- -
- almacenar en la memoria no volátil de la entidad los m pares (x_{i}, z_{i}).
3. Procedimiento de criptografía con clave
pública según la reivindicación 1, caracterizado en que las
etapas consisten en:
- -
- formar una base de datos evolutiva que contienen n valores aleatorios de exponentes y su potencia (k_{i}, g^{k}i modp),
- -
- generar un nuevo exponente k_{i+1} necesario para una firma operando una combinación lineal aleatoria de los n valores k_{i} de la base,
- -
- calcular la magnitud g^{k}i+1modp realizando el producto de las potencias de g que entran en la combinación lineal,
- -
- actualizar la base reemplazando un par por este nuevo par,
- -
- utilizar esta magnitud en los intercambios de señales con otra entidad.
4. Procedimiento de criptografía según la
reivindicación 3, caracterizado en que para un exponente
k_{t} de la base, este exponente es una combinación lineal de la
forma:
k_{t} =
\sum\limits^{h-1}_{i=0} \ a_{i} \
k_{t+i-(h-1)}
con h-1 =
n
en la cual los coeficientes al son
números enteros positivos
aleatorios.
5. Procedimiento de criptografía según la
reivindicación 3, caracterizado en que los coeficientes
a_{i}, i = 0 a h-1 se obtienen por una
permutación aleatoria de una secuencia fija.
\newpage
6. Procedimiento de criptografía según la
reivindicación 5, caracterizado en que un nuevo exponente
k_{t+i} es una combinación lineal de los demás exponentes
expresándose por la relación:
k_{t+1} =
I_{t}(k_{t+i-(h-t)},...,k_{t})
e I_{t} una funcional
lineal.
7. Procedimiento de criptografía según
cualquiera de las reivindicaciones anteriores caracterizado
en que puede aplicarse por tarjetas de microprocesador.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9511622 | 1995-10-03 | ||
FR9511622A FR2739469B1 (fr) | 1995-10-03 | 1995-10-03 | Procede de cryptographie a cle publique base sur le logarithme discret |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2279525T3 true ES2279525T3 (es) | 2007-08-16 |
Family
ID=9483191
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES96933484T Expired - Lifetime ES2279525T3 (es) | 1995-10-03 | 1996-10-03 | Procedimiento de criptografia de clave publica basado en el logaritmo discreto. |
Country Status (7)
Country | Link |
---|---|
US (1) | US5946397A (es) |
EP (1) | EP0795241B1 (es) |
JP (1) | JPH10500502A (es) |
DE (1) | DE69636772T2 (es) |
ES (1) | ES2279525T3 (es) |
FR (1) | FR2739469B1 (es) |
WO (1) | WO1997013342A1 (es) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7587044B2 (en) | 1998-01-02 | 2009-09-08 | Cryptography Research, Inc. | Differential power analysis method and apparatus |
US6240512B1 (en) * | 1998-04-30 | 2001-05-29 | International Business Machines Corporation | Single sign-on (SSO) mechanism having master key synchronization |
DE19820605A1 (de) * | 1998-05-08 | 1999-11-11 | Giesecke & Devrient Gmbh | Verfahren zur sicheren Verteilung von Software |
IL139935A (en) * | 1998-06-03 | 2005-06-19 | Cryptography Res Inc | Des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
CA2334597C (en) | 1998-07-02 | 2007-09-04 | Cryptography Research, Inc. | Leak-resistant cryptographic indexed key update |
US6332193B1 (en) * | 1999-01-18 | 2001-12-18 | Sensar, Inc. | Method and apparatus for securely transmitting and authenticating biometric data over a network |
FR2793571B1 (fr) * | 1999-05-11 | 2003-10-31 | Gemplus Card Int | Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle secrete et dynamique |
FR2842052B1 (fr) * | 2002-07-05 | 2004-09-24 | France Telecom | Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions |
US7194628B1 (en) | 2002-10-28 | 2007-03-20 | Mobile-Mind, Inc. | Methods and systems for group authentication using the naccache-stern cryptosystem in accordance with a prescribed rule |
CN100431294C (zh) * | 2002-11-05 | 2008-11-05 | 管海明 | 基于亚群上离散对数问题的密钥分配及加解密协议的方法 |
US20030177051A1 (en) * | 2003-03-13 | 2003-09-18 | Robin Driscoll | Method and system for managing worker resources |
JP2009505147A (ja) * | 2005-08-19 | 2009-02-05 | エヌエックスピー ビー ヴィ | 暗号計算を実行する回路装置及び方法 |
US8682795B2 (en) * | 2005-09-16 | 2014-03-25 | Oracle International Corporation | Trusted information exchange based on trust agreements |
US8230487B2 (en) * | 2005-12-21 | 2012-07-24 | International Business Machines Corporation | Method and system for controlling access to a secondary system |
US10341098B2 (en) * | 2017-01-24 | 2019-07-02 | Nxp B.V. | Method of generating cryptographic key pairs |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2606419B2 (ja) * | 1989-08-07 | 1997-05-07 | 松下電器産業株式会社 | 暗号通信システムと暗号通信方法 |
US5297206A (en) * | 1992-03-19 | 1994-03-22 | Orton Glenn A | Cryptographic method for communication and electronic signatures |
US5313521A (en) * | 1992-04-15 | 1994-05-17 | Fujitsu Limited | Key distribution protocol for file transfer in the local area network |
NL9301348A (nl) * | 1993-08-02 | 1995-03-01 | Stefanus Alfonsus Brands | Elektronisch betalingssysteem. |
US5604805A (en) * | 1994-02-28 | 1997-02-18 | Brands; Stefanus A. | Privacy-protected transfer of electronic information |
US5724425A (en) * | 1994-06-10 | 1998-03-03 | Sun Microsystems, Inc. | Method and apparatus for enhancing software security and distributing software |
-
1995
- 1995-10-03 FR FR9511622A patent/FR2739469B1/fr not_active Expired - Fee Related
-
1996
- 1996-10-03 EP EP96933484A patent/EP0795241B1/fr not_active Expired - Lifetime
- 1996-10-03 JP JP9514034A patent/JPH10500502A/ja active Pending
- 1996-10-03 WO PCT/FR1996/001546 patent/WO1997013342A1/fr active IP Right Grant
- 1996-10-03 US US08/860,832 patent/US5946397A/en not_active Expired - Fee Related
- 1996-10-03 ES ES96933484T patent/ES2279525T3/es not_active Expired - Lifetime
- 1996-10-03 DE DE69636772T patent/DE69636772T2/de not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
DE69636772D1 (de) | 2007-02-01 |
EP0795241A1 (fr) | 1997-09-17 |
JPH10500502A (ja) | 1998-01-13 |
WO1997013342A1 (fr) | 1997-04-10 |
US5946397A (en) | 1999-08-31 |
FR2739469B1 (fr) | 1997-12-26 |
DE69636772T2 (de) | 2007-07-12 |
EP0795241B1 (fr) | 2006-12-20 |
FR2739469A1 (fr) | 1997-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2279525T3 (es) | Procedimiento de criptografia de clave publica basado en el logaritmo discreto. | |
US6446207B1 (en) | Verification protocol | |
US7472276B2 (en) | Data card verification system | |
EP0963635B1 (en) | Cyclotomic polynomial construction of discrete logarithm cryptosystems over finite fields | |
EP1552382B1 (en) | Efficient arithmetic in finite fields of odd characteristic on binary hardware | |
US7000110B1 (en) | One-way function generation method, one-way function value generation device, proving device, authentication method, and authentication device | |
WO1998034202A9 (en) | Data card verification system | |
JP2002533787A (ja) | 楕円曲線上での暗号操作の速度を高める方法 | |
CN111211910B (zh) | 基于秘密共享公钥池的抗量子计算ca及证书颁发系统及其颁发和验证方法 | |
JP2002540483A (ja) | 楕円曲線型公開鍵暗号化アルゴリズムを用いる電子構成部品内の対抗措置方法 | |
WO2004036822A1 (en) | Cryptography using finite fields of odd characteristic on binary hardware | |
EP3496331A1 (en) | Two-party signature device and method | |
JP2002535878A (ja) | 公開鍵および秘密鍵による暗号化方法 | |
KR20030062401A (ko) | 겹선형쌍을 이용한 개인식별정보 기반의 은닉서명 장치 및방법 | |
ES2227595T3 (es) | Procedimiento de criptografia con clave publica. | |
WO2014205571A1 (en) | Signature protocol | |
RU2417410C2 (ru) | Способ хранения и использования криптографического ключа | |
ES2289147T3 (es) | Procedimiento para efectuar una tarea criptografica por medio de una clave publica. | |
US7190789B2 (en) | Method and apparatus for finite field basis conversion | |
Ahmed et al. | A novel approach for regenerating a private key using password, fingerprint and smart card | |
JP2002508523A (ja) | 楕円曲線上の高速有限体演算 | |
Krikun et al. | Parallelized Montgomery Exponentiation in GF (2 k) for Diffie–Hellman Key Exchange Protocol. | |
JPH02273779A (ja) | ディジタル署名装置 | |
KR20020003059A (ko) | 정수 또는 다항식 행열을 이용한 공개키 암호시스템 | |
Eom et al. | On the non-repudiation of isogeny based signature scheme |