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 PDF

Info

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
Application number
ES96933484T
Other languages
English (en)
Inventor
David M'raihi
David Naccache
Jacques Stern
Serge Vaudenay
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus Card International SA
Gemplus SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus Card International SA, Gemplus SA filed Critical Gemplus Card International SA
Application granted granted Critical
Publication of ES2279525T3 publication Critical patent/ES2279525T3/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
    • H04L9/3006Public 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/3013Public 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
    • 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/32Cryptographic 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/3247Cryptographic 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.
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.
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.
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.
ES96933484T 1995-10-03 1996-10-03 Procedimiento de criptografia de clave publica basado en el logaritmo discreto. Expired - Lifetime ES2279525T3 (es)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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