ES2320752T3 - Procedimiento y dispositivos criptograficos que permiten aligerar los calculos durante las transacciones. - Google Patents
Procedimiento y dispositivos criptograficos que permiten aligerar los calculos durante las transacciones. Download PDFInfo
- Publication number
- ES2320752T3 ES2320752T3 ES03750783T ES03750783T ES2320752T3 ES 2320752 T3 ES2320752 T3 ES 2320752T3 ES 03750783 T ES03750783 T ES 03750783T ES 03750783 T ES03750783 T ES 03750783T ES 2320752 T3 ES2320752 T3 ES 2320752T3
- Authority
- ES
- Spain
- Prior art keywords
- entity
- common
- test element
- exponent
- power
- 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/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
-
- 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/302—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 integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- 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
-
- 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/3218—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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/56—Financial cryptography, e.g. electronic payment or e-cash
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Mobile Radio Communication Systems (AREA)
- Multi Processors (AREA)
Abstract
Procedimiento criptográfico de hacer que sea segura una transacción entre al menos una primera entidad probadora (A) y una segunda entidad verificadora (B) que disponen de un número genérico común g, en el que la primera entidad (A) genera, por medio de una clave privada d de tipo RSA, un primer elemento de prueba verificable por la segunda entidad verificadora (B) por medio de una clave pública que comprende un exponente de clave pública e y un modulo n de tipo RSA asociado a la citada clave d, caracterizado porque este procedimiento incluye al menos: - la transmisión por la primera entidad probadora (A) a la segunda entidad verificadora (B), del primer elemento de prueba x, que incluye al menos el resultado de una primera potencia, con módulo el patrón n, del número genérico común g elevado a la potencia de un primer exponente producto de un número aleatorio r y del exponente de clave pública e, siendo el cálculo de dicha primera potencia ejecutable independientemente de la transacción; - la elección de un número c común para la primera entidad probadora (A) y para la segunda entidad verificadora (B); - la generación por parte de la primera entidad probadora (A), de un segundo elemento de prueba y, función del número aleatorio r, del valor de la clave privada d, y del número común c, y la transmisión de dicho segundo elemento de prueba y o de una función predeterminada de éste, al segundo elemento verificador (B); - la verificación para seguridad de la transacción, por parte de la segunda entidad verificadora (B), de la identidad de valor de dicho primer elemento de prueba x y de un valor de verificación que incluye al menos el resultado de una segunda potencia, con módulo el patrón n, del número genérico común g elevado a la potencia de un segundo exponente, combinación lineal de todo o parte del número común c, y del producto del exponente de clave pública e y del segundo elemento de prueba y.
Description
Procedimiento y dispositivos criptográficos que
permiten aligerar los cálculos durante las transacciones.
La invención se refiere al campo técnico de la
criptografía, y de forma más precisa, al de la criptografía
denominada de clave pública. En este tipo de criptografía, un
usuario conserva un par de claves para un uso dado. El citado par
de claves está constituido por una clave privada que este usuario
mantiene en secreto, y una clave pública asociada que este usuario
puede comunicar a otros usuarios. Por ejemplo, se trata de un par
de claves dedicadas a la confidencialidad, de las que la clave
pública se utiliza para cifrar los datos, mientras que la clave
secreta se utiliza para descifrarlos, es decir, para restablecer
estos datos con claridad.
La criptografía de clave pública es de una gran
utilidad en la medida en que, al contrario que en la criptografía
de clave secreta, no exige que los interlocutores compartan un mismo
secreto con el fin de establecer una comunicación segura. Sin
embargo, esta ventaja en términos de seguridad, va acompañada de una
desventaja en términos de rendimiento, puesto que los
procedimientos de criptografía de clave pública, denominados también
"esquema de clave pública", son con frecuencia cien o mil
veces más lentos que los procedimientos de criptografía de clave
secreta denominados también "esquemas de clave secreta". Existe
por tanto un reto muy importante que consiste en encontrar
procedimientos de criptografía de clave pública de ejecución rápida,
de manera que se puedan poner en práctica en los entornos poco
dotados de recursos, tales como las placas de microprocesadores
estándar, con o sin contactos.
La mayor parte de los esquemas de clave pública
actualmente existentes se basan en la dificultad de problemas
matemáticos procedentes del campo de la aritmética (o "teoría de
los números"). Tanto es así que la seguridad del esquema de
cifrado y de la firma digital RSA (R.L. Rivest, A. Shamir y L.
Adleman, "A Method for Obtaining Digital Signatures and
Public-Key Cryptosystems", Communication of ACM,
vol. 21, 1978, p. 120-126), se basa en la
dificultad del problema de la factorización de los números enteros:
dado un número entero muy grande (más de 1000 bits) obtenido de
forma privada al multiplicar dos o más factores primos de tamaños
comparables, no existe en la actualidad un método eficaz para
volver a encontrar estos factores primos.
Otros esquemas de clave pública, tales como el
esquema de firma digital descrito en la solicitud de patente
FR-A-2716058, basan su seguridad en
la dificultad del problema conocido como del logaritmo discreto.
Este problema puede ser enunciado en su forma más general, de la
manera siguiente: sea E un conjunto dotado de una operación (es
decir, de una función que asocia, a dos elementos a y
b, un elemento indicado como "a.b" o
"ab", y denominado producto de a y b),
g un elemento de E, r un número entero grande, e
y el número entero definido por: y = g^{r} (es
decir, el producto g.g...g con r ocurrencias de
g); entonces, es inviable volver a encontrar r a
partir de g e y. Con frecuencia, el conjunto E
utilizado es el conjunto de los enteros de patrón n, donde
n es un número entero, primo o compuesto de números
primos.
El campo de la invención es, de forma más
particular, el campo técnico de la autenticación de entidad, incluso
denominada identificación, así como el de la autenticación de un
mensaje y de la firma digital del mensaje, por medio de técnicas
criptográficas de clave pública. En tales procedimientos, la entidad
autenticada denominada probadora, posee una clave privada que es
secreta, y una clave pública asociada. La entidad probadora utiliza
la clave privada para producir un valor de autenticación o de firma
digital. La entidad que autentica, denominada verificador, tiene
solamente necesidad de la clave pública de la probadora para
verificar el valor de autenticación o la firma digital.
El campo de la invención es también, de manera
más particular, el de los procedimientos de autenticación
denominados de divulgación de conocimiento nulo o sin aporte de
conocimiento ("zero-knowledge"). Esto significa
que la autenticación se desarrolla según un protocolo que, de
manera probada, no revela nada sobre la clave secreta de la entidad
autenticada, y cualquiera que sea el número de utilizaciones. Se
sabe, con la ayuda de técnicas estándar, deducir a partir de este
tipo de esquemas los esquemas de autenticación de mensaje y de firma
digital del mensaje.
El campo de la invención es también, de manera
más particular, el de los procedimientos en los que la seguridad se
basa a la vez en la dificultad del problema de la factorización de
los números enteros, y en la dificultad del problema del logaritmo
discreto.
El artículo "Efficient identification and
Signatures for Smart Cards", de C.P. Schnorr, publicado en
"Lecture Notes in Computer Science", Springer Verlan, Nueva
York, páginas 239-252, ISSN:
0302-9743, describe un procedimiento de
autenticación de divulgación de conocimiento nulo en un sistema de
clave pública clásico: una entidad A, dotada de las claves privada
s y pública v, y que dispone de un número \alpha
conocido en el sistema, transmite un primer elemento de prueba
x=\alpha^{r} (patrón p), con un número r
aleatorio, y un segundo elemento de prueba y=rise (módulo
q), con un número c elegido, a una segunda entidad B
que verifica si x=\alpha^{y\text{*}}v^{c} (módulo p),
en la que p es un entero primo y q un divisor primo
de (p-1), y \alpha^{r} es congruente en 1 (módulo
p).
La invención encuentra aplicación en todos los
sistemas que recurren a la criptografía de clave pública, para
asegurar sus elementos y/o sus transacciones, y más en particular en
los sistemas en los que el número de cálculos efectuados por las
diferentes partes constituye para al menos una de ellas, un
parámetro crítico, ya sea porque ésta no dispone de un coprocesador
especializado en los cálculos criptográficos, denominado con
frecuencia criptoprocesador, con el fin de acelerarlos, o ya sea
porque es susceptible de efectuar un gran número de cálculos
simultáneamente, por ejemplo en el caso de un servidor central, o ya
sea por cualquier otra razón.
Una aplicación típica consiste en el pago
electrónico, mediante tarjeta bancaria o mediante monedero
electrónico. En el caso del pago de proximidad, el terminal de pago
se encuentra en un lugar público, lo que incita a utilizar
procedimientos de criptografía de clave pública, con el fin de que
éste no almacene ninguna clave maestra. Con el fin de reducir los
costes globales de un sistema de ese tipo, se puede desear, ya sea
que la tarjeta sea una tarjeta de microprocesador estándar, es
decir, que la tarjeta no esté provista de un criptoprocesador, o ya
sea que el microprocesador asegurado contenido en el terminal sea en
sí mismo de tipo estándar, o ya sea ambos. Según los casos, y según
el procedimiento criptográfico mantenido, el estado de la técnica
actualmente conocido permite alcanzar uno u otro de esos objetivos,
pero permite difícilmente alcanzar los dos simultáneamente,
respetando las limitaciones del sistema. Un ejemplo de limitación
consiste en que el pago se efectúe en menos de un segundo, incluso
en menos de 150 milisegundos en el caso de una transacción sin
contacto, o incluso en unos pocos milisegundos en el caso de un
peaje de una autopista.
El procedimiento criptográfico más utilizado en
el momento actual es el procedimiento RSA. Éste se basa en el
problema de la factorización. Este algoritmo, normalizado en
diversos casos, se ha transformado en un estándar de hecho. Está
llamado a ser el algoritmo preponderante en los años venideros.
Numerosos productos, sistemas e infraestructuras tales como las
infraestructuras de clave pública PKI (acrónimo de Public Key
Infrastructure en inglés), han sido concebidos a partir de este
algoritmo y de los formatos de clave que utiliza.
De manera conocida según este algoritmo, la
clave pública está constituida por un par de números enteros (n,
e), y la clave privada está constituida por un número entero
d. El módulo n es un número entero suficientemente
grande como para que su factorización sea inviable. Una sola entidad
A que conserva la clave privada d, es la única entidad capaz
de generar un número entero W' igual a una potencia del
número entero W, módulo n, con d como
exponente, con el fin de permitir que cualquier entidad B que
conozca la clave pública (n, e), vuelva a encontrar el
número entero W elevando el número entero W' a una
potencia de módulo n con e como exponente.
En un procedimiento de firma de mensaje
M, el número entero W es generalmente una imagen del
mensaje mediante una función tal como una función de corte
conocida. La probadora es la entidad A, la firma es el número
entero W', el verificador es la entidad B, la cual verifica
que el número entero encontrado a partir de la firma W', sea
la imagen del mensaje por medio de la función conocida.
En un procedimiento de identificación, el número
entero W constituye generalmente un reto enviado por la
entidad B que es la verificadora. El número W' generado por
la entidad A que es la probadora, constituye la respuesta a ese
reto.
En un procedimiento de autenticación de mensaje
M, el número entero W resulta generalmente de una combinación
de imagen del mensaje M y de un reto enviado por el
verificador constituido por la entidad B. El número W'
generado por la entidad A que es la probadora, constituye una firma
auténtica de respuesta a ese reto.
El algoritmo RSA presenta sin embargo un
problema resultante de una cantidad elevada de operaciones a
efectuar por la entidad probadora o la firmante. Para realizar un
cálculo completo en menos de un segundo en una tarjeta de
microprocesador que efectúa estas operaciones, es necesario añadir
un criptoprocesador a la tarjeta. Sin embargo, la fabricación y la
instalación de un criptoprocesador, tienen un coste no despreciable
que aumenta el precio de la tarjeta de microprocesador. Se sabe
también que un criptoprocesador consume mucha corriente. La
alimentación de la tarjeta por parte del terminal puede plantear
dificultades técnicas en caso de una interfaz sin contacto. Se sabe
también que la adición de un criptoprocesador facilita los ataques
físicos por análisis del espectro de corriente consumida, lo que
representa un inconveniente para el que es difícil encontrar
soluciones técnicas. Por otra parte, incluso aunque la tarjeta esté
dotada de un criptoprocesador, el cálculo puede revelarse incluso
demasiado lento en aplicaciones en las que el tiempo de transacción
necesita ser muy corto como en ciertos ejemplos citados
anterior-
mente.
mente.
La presente invención tiene por objeto
especificar procedimientos criptográficos de clave pública tales
como los procedimientos de autenticación y de firma digital. De
manera más precisa, la presente invención tiene por objeto utilizar
las mismas claves que el algoritmo RSA con un nivel de seguridad al
menos igual al de este algoritmo, todo ello permitiendo efectuar
una gran mayoría de cálculos por anticipado que evitan tener que
utilizar un criptoprocesador.
Considerando un procedimiento criptográfico
utilizable en una transacción para la que una primera entidad
genera, por medio de una clave privada de tipo RSA, una prueba
verificable por una segunda entidad por medio de una clave pública
de tipo RSA asociada a la citada clave privada, comprendiendo la
citada clave pública un exponente de clave pública y un patrón, el
procedimiento según la invención es reseñable porque:
- -
- la primera entidad genera un primer elemento de prueba en el que un primer cálculo, con un fuerte consumo de recursos, es ejecutable con independencia de la transacción;
- -
- la primera entidad genera un segundo elemento de prueba asociado al primer elemento de prueba, y que depende de un número común compartido por la primera y la segunda entidades específicamente para la transacción, cuyo segundo cálculo requiere un bajo consumo de recursos;
- -
- la segunda entidad verifica que el primer elemento de prueba está asociado, mediante una relación, a una primera potencia con módulo el patrón, de un número genérico común elevado a la potencia de un segundo exponente igual a una combinación lineal de todo o de parte del número común, y del producto del exponente de clave pública por el segundo elemento de prueba.
El hecho de que las claves sean de tipo RSA
tiene la ventaja de poder utilizar, sin modificación, numerosos
productos, desarrollos o infraestructuras existentes, tales como
lógicas de producción de claves, descripciones de zonas de memorias
de microprocesadores, formatos de certificados de claves públicas,
etc.
Al ser el primer elemento de prueba susceptible
de cálculo, en todo o en parte, independientemente de la
transacción, la primera entidad tiene la posibilidad de efectuar un
cálculo complejo con anterioridad a la transacción, manteniendo en
secreto la ejecución de este cálculo complejo para garantizar la
seguridad. Así, se observa que una primera entidad genera
rápidamente ese primer elemento de prueba después del comienzo de la
transacción sin tener que hacer uso de recursos potentes tales como
los de un criptoprocesador. Solamente la primera entidad está
entonces capacitada para generar el segundo elemento de prueba
asociando al primer elemento de prueba, con el fin de hacer
depender por medio de operaciones simples, el segundo elemento de
prueba de un número común específicamente compartido por la
transacción. La ejecución posible de estas operaciones simples en
tiempo reducido por parte de la primera entidad, evita ralentizar la
transacción, todo ello manteniendo un buen nivel de seguridad.
De forma no limitativa, la transacción puede
tener por objeto identificar la primera entidad, firmar un mensaje
o autenticar un mensaje.
En particular, para permitir identificar la
primera entidad:
- -
- el primer elemento de prueba es generado por la primera entidad elevando el número genérico a una segunda potencia con módulo el patrón de un segundo exponente, combinación lineal del número común y del producto del exponente de clave pública por un número entero aleatorio guardado en secreto por la primera entidad;
- -
- el número común se elige al azar en un intervalo de seguridad, y después es emitido por la segunda entidad después de haber recibido el primer elemento de prueba;
- -
- la relación verificada por la segunda entidad, es una relación de igualdad entre una potencia del primer elemento de prueba y la primera potencia del número genérico.
El cálculo complejo cuya ejecución se mantiene
en secreto, lleva en este caso a la elevación a la segunda potencia
del número genérico para generar el primer elemento de prueba. La
elección al azar del número común durante la transacción, no
perjudica a la rapidez de esta transacción.
En particular, para permitir firmar un
mensaje:
- -
- el primer elemento de prueba es generado por la primera entidad aplicando una función de corte estándar al mensaje y al número genérico elevado a una segunda potencia de módulo el patrón, teniendo un tercer exponente igual al producto del exponente de clave pública por un número entero aleatorio mantenido en secreto por la primera entidad,
- -
- el número común es igual al primer elemento de prueba,
- -
- la relación verificada por la segunda entidad, es una relación de igualdad entre el número común y el resultado de la función de corte estándar aplicada al mensaje y a la primera potencia del número genérico.
El cálculo complejo de ejecución mantenido en
secreto, lleva en este caso a la elevación a la segunda potencia
del número genérico para generar un potencial de prueba. La
aplicación de la función de corte estándar al mensaje y a este
potencial de prueba, no conlleva ya un fuerte consumo de recursos.
La primera entidad puede calcular aquí el potencial de prueba con
anterioridad a la transacción en la que una transmisión del segundo
elemento de prueba y del primer elemento de prueba igual al número
común compartido con la segunda entidad, constituye también una
transmisión de firma del mensaje.
En particular, para permitir autenticar el hecho
de que un mensaje recibido por la segunda entidad proviene de la
primera entidad:
- -
- el primer elemento de prueba es generado por la primera entidad aplicando una función de corte estándar al mensaje y al número genérico elevado a una segunda potencia de patrón, teniendo el módulo un tercer exponente igual al producto del exponente de clave pública por un número entero aleatorio mantenido en secreto por la primera entidad;
- -
- el número común se elige al azar en un intervalo de seguridad, y es emitido después por la segunda entidad, después de haber recibido el primer elemento de prueba;
- -
- la relación verificada por la segunda entidad, es una relación de igualdad entre el primer elemento de prueba y el resultado de la función de corte estándar aplicada al mensaje y a la primera potencia del número genérico.
El cálculo complejo mantenido en secreto, lleva
en este caso a la elevación a la segunda potencia del número
genérico para generar el primer elemento de prueba. La elección al
azar del número común durante la transacción por la segunda
entidad, no perjudica a la rapidez de esta transacción.
De forma general, el cálculo complejo realizable
antes de la transacción, no hace que intervenga directamente la
clave privada y su resultado no proporciona por tanto ninguna
información sobre la clave privada.
Más en particular, el procedimiento
criptográfico es reseñable en que:
- -
- el segundo elemento de prueba es generado por la primera entidad restando del número entero aleatorio la clave privada multiplicada por el número común,
- -
- la combinación lineal igual al segundo exponente comprende un coeficiente unitario positivo para el número común y un coeficiente unitario positivo para el producto del exponente de clave pública por el segundo elemento de prueba,
- -
- en la relación verificada, el primer elemento de prueba se considera con una potencia de exponente unitario.
Alternativamente, y preferentemente, cuando el
número común es elegido por la segunda entidad, el procedimiento
criptográfico es reseñable en que:
- -
- al estar el segundo número escindido en un primer número común elemental y en un segundo número común elemental, el segundo elemento de prueba es generado por la primera entidad restando del número entero aleatorio multiplicado por el primer número común elemental, la clave privada multiplicada por el segundo número común elemental,
- -
- la combinación lineal igual al segundo exponente comprende un coeficiente nulo para el primer número común elemental, un coeficiente unitario positivo para el segundo número común elemental, y un coeficiente unitario positivo para el producto del exponente de clave pública por el segundo elemento de prueba,
- -
- en la relación verificada, se considera el primer elemento de prueba con una potencia de exponente igual al primer número común elemental.
Las operaciones simples de sustracción y de
multiplicación, descritas en lo que antecede, permiten calcular
rápidamente el segundo elemento de prueba en el seno de una
transacción, y reiterar varias veces la transacción generando cada
vez un segundo elemento de prueba asociado al otro primer elemento
de prueba mediante un número aleatorio diferente, sin proporcionar
ninguna información sobre la clave privada.
Ventajosamente, el procedimiento criptográfico
es reseñable porque el segundo elemento de prueba se calcula como
módulo imagen del patrón medio de una función de Carmichaël, o como
módulo múltiplo del orden del número genérico con módulo el
patrón.
El número entero aleatorio puede ser elegido muy
superior a la clave privada. En caso de que la ventaja mencionada
en el párrafo anterior no sea utilizada, es necesario que el número
entero aleatorio sea muy superior al valor de clave privada.
Ventajosamente, para reducir la cantidad de operaciones necesarias
para la elevación de potencia que tenga el número aleatorio como
exponente, el número entero aleatorio es inferior a una imagen del
módulo por una función de Carmichaël, o a un múltiplo del orden del
número genérico con módulo el patrón. Un número aleatorio de ese
tipo no puede proporcionar ninguna información aprovechable sobre la
clave privada.
La reducción de tamaño del segundo elemento de
prueba así obtenido, permite acelerar los cálculos que han de ser
realizados por la segunda entidad sin perjudicar la seguridad.
Ventajosamente aún, el procedimiento
criptográfico es reseñable porque el tercer exponente se calcula
como módulo de una imagen del patrón por una función de Carmichaël
o como módulo de un múltiplo del orden del número genérico con
módulo el patrón.
La reducción de tamaño del tercer exponente, así
obtenido, permite acelerar los cálculos a efectuar por parte de la
primera entidad sin perjudicar la seguridad.
Un valor dos atribuido al número genérico,
facilita las elevaciones a cualquier potencia del número genérico.
Se puede atribuir también un pequeño valor al número genérico que
permita distinguir cada primera entidad aplicando una función de
corte conocida al módulo y al primer exponente de la clave
pública.
\newpage
Una mejora reseñable del procedimiento
criptográfico para distinguir la primera entidad, consiste en que el
número genérico es transmitido con la clave pública, siendo el
número genérico igual a un número simple elevado a una potencia con
módulo el patrón, utilizando como exponente la clave privada.
Es suficiente entonces que la primera entidad
eleve el número simple a una potencia, de módulo el patrón,
utilizando como exponente el número aleatorio con el fin de obtener
el mismo resultado que al elevar el número genérico a una segunda
potencia con módulo el patrón, que tenga un tercer exponente igual
al producto del exponente de clave pública por un número entero
aleatorio. Una atribución del valor dos al número simple, acelera
considerablemente el cálculo complejo, tanto si se hace antes como
si se hace durante la transacción.
Una mejora aún reseñable del procedimiento
criptográfico, consiste en que:
- -
- una tercera entidad recibe el segundo elemento de prueba, genera un tercer elemento de prueba elevando el número genérico a una potencia de módulo el patrón, con el segundo elemento de prueba como exponente, y envía el tercer elemento de prueba a la segunda entidad;
- -
- la segunda entidad eleva el tercer elemento a una potencia de módulo el patrón, con el exponente de clave pública, y multiplica el resultado por el número genérico elevado a una potencia con el número común como exponente, para verificar la relación que lo une al primer elemento de prueba.
La tercera entidad permite aligerar la segunda
entidad sin perjudicar la integridad de la verificación.
Considerando un dispositivo probador protegido
contra toda intrusión y dotado de una clave privada de tipo RSA
mantenida en secreto, para generar durante una transacción con un
dispositivo verificador, una prueba en la que una verificación con
la ayuda de una clave pública, asociada a la citada clave privada,
permite garantizar que el dispositivo probador es el origen de la
citada prueba, comprendiendo la citada clave pública de tipo RSA un
primer exponente y un módulo, el dispositivo probador según la
invención es reseñable porque comprende:
- -
- medios de cálculo dispuestos para generar un primer elemento de prueba, en los que es ejecutable un primer cálculo con un fuerte consumo de recursos, independientemente de la transacción, y para generar un segundo elemento de prueba asociado al primer elemento de prueba y que depende de un número común específico de la transacción;
- -
- medios de comunicación dispuestos para emitir al menos el primer y el segundo elementos de prueba, y dispuestos para emitir hacia, o recibir desde, el dispositivo verificador, el citado número común.
En particular, el dispositivo probador según la
invención, es reseñable porque:
- -
- los medios de cálculo están, por una parte, dispuestos para generar un primer número aleatorio y para elevar un número genérico a una potencia con módulo el patrón, que tiene un exponente igual al producto del exponente de clave pública por el número aleatorio;
- -
- los medios de cálculo están, por otra parte, dispuestos para generar el segundo elemento de prueba por diferencia entre el número entero aleatorio y la clave privada multiplicada por el número común.
Alternativamente, los medios de cálculo están
dispuestos para efectuar operaciones módulo a imagen del módulo,
por medio de una función de Carmichaël, o módulo de un múltiplo del
orden del número genérico con módulo el patrón.
Considerando un dispositivo verificador para
verificar que una prueba ha sido emitida desde un dispositivo
probador dotado de una clave privada de tipo RSA mantenida en
secreto por el dispositivo probador, con la ayuda de una clave
pública asociada a la citada clave privada, la citada clave pública
de tipo RSA que comprende un exponente y un módulo, el dispositivo
verificador según la invención es reseñable porque comprende:
- -
- medios de comunicación dispuestos para recibir un primer elemento de prueba y un segundo elemento de prueba o un tercer elemento de prueba, y para recibir o emitir un número común específico de una transacción, en el seno de la cual son recibidos el primer y el segundo o el tercer elemento de prueba,
- -
- medios de cálculo dispuestos para verificar que el primer elemento de prueba está ligado por una relación con una primer potencia con módulo el patrón, de un número genérico que tiene un segundo exponente igual a una combinación lineal del número común y de un producto del exponente de la clave pública por el segundo elemento de prueba.
En particular, el dispositivo verificador es
reseñable porque los medios de comunicación están dispuestos para
recibir el segundo elemento de prueba, y porque los medios de
cálculo están dispuestos para calcular el segundo exponente y la
citada primera potencia del número genérico.
\newpage
Alternativamente, el dispositivo verificador es
reseñable porque los medios de comunicación están dispuestos para
recibir el tercer elemento de prueba, y porque los medios de cálculo
están dispuestos para elevar el tercer elemento de prueba a una
potencia del exponente de clave pública y para multiplicar el
resultado por el número genérico elevado a una segunda potencia que
tiene por exponente el número común.
La invención podrá ser mejor comprendida en los
ejemplos de realización cuya descripción sigue con referencia a los
dibujos anexos, en los que:
La Figura 1 muestra etapas de procedimiento
conforme a la invención, para identificar una primera entidad;
La Figura 2 muestra etapas de procedimiento
conforme a la invención, para firmar un mensaje;
La Figura 3 muestra etapas de procedimiento
conforme a la invención, para autenticar un mensaje;
La Figura 4 muestra una primera variante del
procedimiento de autenticación para facilitar numerosas
transacciones, y
La Figura 5 muestra una segunda variante del
procedimiento de autenticación que hace que intervenga una entidad
intermediaria.
El modo de realización descrito en la presente,
es un procedimiento de autenticación de entidad o de identificación.
Éste permite a una entidad probadora A convencer a una verificadora
B de su autenticidad. Este procedimiento puede ser transformado en
procedimiento de autenticación de mensaje o firma digital de mensaje
según se explica en lo que sigue. Su seguridad se basa en la
dificultad de factorizar grandes números enteros. Esta dificultad
es conocida por el experto en la técnica como que es al menos tan
grande como la dificultad del problema en el que se basa la
seguridad del algoritmo RSA. En una opción que permite aliviar la
tarea de verificación, la seguridad del procedimiento es
equivalente a la del RSA.
Se recuerda que un número primo (prime number en
inglés) es un número divisible únicamente por uno y por sí mismo.
Se recuerda también que la función de Euler \varphi(z) de
un número positivo cualquiera z, proporciona el número
cardinal del conjunto de números enteros positivos inferiores a
z y primarios (coprime en inglés) con z, es decir,
que no tienen ningún factor común con z, diferente de 1. Se
recuerda también que la función de Carmichaël \lambda(w)
de un número entero positivo cualquiera w, proporciona el
número entero más pequeño estrictamente positivo v tal que
todo número entero u que verifique la relación {u^{v}
= 1 módulo w}, es decir, que de forma conocida, el resto
de la división entera de u^{v} por w es igual a
1.
De acuerdo con el objetivo y con los resultados
que anteceden, este procedimiento utiliza claves de tipo RSA. Con
el fin de constituir un dispositivo probador, una primera entidad A
posee, por una parte, una clave pública divulgada a cualquier
segunda entidad B que constituya un dispositivo verificador. La
primera entidad A posee, por otra parte, una clave privada
mantenida en secreto. La clave pública comprende un módulo n
y un exponente de clave pública e. La clave privada
comprende un segundo exponente d. El módulo n es un
número entero igual al producto de dos o de más números primos.
Cuando el número n es un producto de dos números primos
p y q, \varphi(n) =
(p-1)(q-1). Numerosas descripciones
de RSA especifican que el módulo n, el primer exponente
e y el segundo exponente d, respetan la relación
{e\cdotd = 1 módulo \varphi(n)}. El experto en la
materia conoce bien el hecho de que cuando se respeta la relación
{e\cdotd = 1 módulo \varphi(n)}, entonces se respeta la
relación {e\cdotd = 1 módulo \lambda(n)}.
De forma más general, el procedimiento funciona
con el mismo nivel de seguridad para toda clave pública (n,e)
asociada a una clave privada d que respete la relación
{e\cdotd = 1 módulo \lambda(n)}.
En todas las opciones, se supone que el
verificador B conoce ya todos los parámetros públicos necesarios
para verificar que se proporciona una prueba por parte de una
primera entidad, el probador A, para saber su identidad, su clave
pública, su certificado de clave pública, etc.
La identificación de la entidad A por parte de
la entidad B se desarrolla iterando k veces el protocolo
descrito en la presente con referencia a la Figura 1. El número
k es un entero positivo que, con un número entero t
inferior o igual al exponente e, definen un par de parámetros
de seguridad.
En una primera etapa 9, la entidad A genera un
primer número entero aleatorio r muy superior a d,
calcula x = g^{e.r}(mod n), y envía x a la
entidad B. De manera conocida, las entidades A y B son de tipo
ordenador o tarjeta de circuito integrado. El número entero g
es un número genérico conocido por las entidades A y B. Un valor
del número genérico g, igual a 2, facilita sus elevaciones de
potencia. El número genérico g puede ser también función de
la clave pública del probador, por ejemplo g = h(n,e)
donde h es una función de corte conocida por todos. El número
genérico g puede ser determinado también por la entidad A y
transmitido después con su clave pública. Por ejemplo, la entidad A
eleva un número simple G a la potencia d cuyo
resultado proporciona el número g tal que g^{e} (mod n)
= G. Al ser el número genérico g calculado, de una vez
por todas, por la entidad A, el cálculo de x se simplifica,
puesto que entonces, x = G^{r} (mod n). Un valor del número
simple G igual a 2, que facilita sus elevaciones de
potencia, es particularmente más ventajoso. La expresión (mod n)
significa módulo de n, es decir que de forma conocida, el
resultado del cálculo es igual al resto de la división entera del
resultado de la operación considerada, por el número entero
n, generalmente denominado patrón. En este caso, el número
entero x constituye un primer elemento de prueba, ya que
solamente la entidad que genera el número aleatorio r es
capaz de generar el número x. El número aleatorio r no
se comunica por la entidad que lo genera. Según la teoría conocida
de los números, el número r se elige lo suficientemente
grande como para que un conocimiento del número genérico g o
del número simple G y del módulo n, no permita volver a
encontrar el número r a partir del número x.
Una recepción por parte de la entidad B del
primer elemento de prueba x, valida una transición 10 que
activa después una segunda etapa 11.
En la etapa 11, la unidad B envía a la entidad
A, un número entero c elegido al azar en un intervalo [0,
t-1], denominado de seguridad. Así, el número
c es común a las entidades A y B, y también a cualquier otra
entidad que se infiltre en el diálogo entre las entidades A y B.
Una recepción por la entidad A del número común
c, valida una transición 12 que activa entonces una tercera
etapa 13.
En la etapa 13, la entidad A calcula y = r -
d\cdotc. De ese modo, la entidad A genera una imagen y
de la clave privada en forma de combinación lineal del número
r y del número d, cuyo coeficiente multiplicativo es
el número común c. Al ser el número aleatorio r muy
grande y no comunicado, un conocimiento de la imagen de y no
permite encontrar el producto d\cdotc, y por consiguiente,
no permite encontrar el número d de clave privada que se
mantiene así guardado en secreto por la entidad A. Al ser solamente
la entidad A la que tiene conocimiento del número d,
solamente la entidad A puede generar una imagen que integre el
número común c.
Considerando los protocolos aquí descritos, un
impostor es una entidad que intenta hacerse pasar por la entidad A
sin conocer el secreto de la clave privada d. Se sabe
demostrar que, cuando la factorización de los enteros es un
problema difícil, la probabilidad de que el impostor no sea
detectado, es igual a 1/kt. La seguridad de estos protocolos
es, por tanto, al menos tan grande como la del RSA. Para muchas
aplicaciones, el producto kt puede ser elegido relativamente
pequeño en un contexto de autenticación, por ejemplo del orden de
2^{16}.
Todos los valores de k y t del par
de parámetros de seguridad, son posibles. Con preferencia,
k=1 y t=e, en cuyo caso la probabilidad definida en
lo que antecede es igual a 1/e y no hay más que una ecuación
para aplicar. Un valor estándar de exponente público RSA tal como
e = 65537, es decir 2^{16}+1, resulta conveniente para
muchas aplicaciones.
Una recepción por la entidad B del segundo
elemento de prueba y, valida una transición 16 que activa
después una cuarta etapa 17.
En la etapa 17, la entidad B verifica que:
g^{e.y+c} = x (mod n). Aunque, como se ha visto
anteriormente, el segundo elemento de prueba no comunica ninguna
información sobre la clave privada d, el segundo elemento de
prueba y es tal que:
e\cdoty + c =
e\cdot(r-d\cdotc) +
c
Con lo que, elevando el número genérico g
a una potencia en la que el exponente es una combinación lineal del
número común c y del producto e\cdoty:
g^{e \cdot
y+c} = g^{e \cdot r.}(g^{-e \cdot d+1})^{c} =
x(mod
n).
Por otra parte, de acuerdo con la teoría de los
números, el número genérico g no comunica ninguna información
sobre la clave privada, siendo éste, de hecho, tal que:
(g^{d \cdot
c})^{e} = g^{c}(mod
n)
Así, sin comunicar r en ningún momento,
la igualdad:
(g^{y})^{e}\cdotg^{c}
= (g^{r})^{e} = x(mod
n)
certifica que la entidad A conoce
d.
\vskip1.000000\baselineskip
Esta verificación se acelera calculando por
adelantado, al final de la etapa 11 o incluso antes:
v' =
g^{c}(mod
n)
\newpage
Así en la cuarta etapa, B solamente tiene que
verificar: g^{e \cdot y}\cdotv' = x(mod n). Cuando
B recibe y, resulta ventajoso para B calcular de una vez por
todas G = g^{e}(mod n), con el fin de verificar en la
etapa 11, G^{y}\cdotv' = x(mod n). Otras optimizaciones
posibles del cálculo de verificación podrán ser apreciadas en lo
que sigue de la descripción.
Numerosas optimizaciones de este protocolo de
base son posibles. Por ejemplo, se puede sustituir
x=g^{e.r}(mod n) por x=g^{-e.r}(mod n), en cuyo
caso la ecuación de verificación se transforma en
g^{e.y+c}\cdotx=1(mod n).
También por ejemplo, se puede sustituir c
por un par de enteros positivos o negativos (a,b) e y=r -
d\cdotc por y=-a\cdotr - b\cdotd, en cuyo caso la
ecuación de verificación se transforma en g^{e \cdot y+b} =
x^{a}(mod n).
Si los factores primos del módulo n son
conocidos por A, entonces la primera etapa puede ser acelerada
utilizando la técnica denominada de los restos chinos.
La primera etapa puede ser efectuada por
anticipado. Además, los k valores de x pueden formar
parte de la clave pública A, en cuyo caso el protocolo comienza
directamente en la segunda etapa. Estos valores de x pueden
ser también calculados por una entidad externa digna de confianza, y
almacenados en la entidad A.
Cuando los valores
pre-calculados del primer elemento de prueba son
adjuntados a la clave pública, el protocolo en el seno de una
transacción comienza directamente por la etapa 11. Es la entidad B
la que decide la cantidad k de iteraciones de las etapas 11
y 13 para cada una de las cuales la entidad B verifica, en la etapa
17, que existe un valor del primer elemento de prueba x que
es igual a V. La entidad A es siempre la única en conocer
los números aleatorios que corresponden a un primer elemento de
prueba.
Con el fin de poder almacenar un máximo de
valores pre-calculados en una memoria de la entidad
A, particularmente cuando la entidad A está integrada en un
micro-circuito de tarjeta de circuito integrado para
tarjeta de crédito o para teléfono móvil, el número x puede
ser reemplazado por un valor f(x) donde f es
una función, por ejemplo igual a (o que incluye) una función de
corte criptográfico, en cuyo caso la ecuación de verificación se
transforma en : f(g^{e \cdot y+c} (mod n)) =
f(x).
Se pueden combinar todas o parte de las
modificaciones anteriores.
Una mejora interesante del procedimiento
consiste en almacenar una imagen \lambda(n) del módulo
n por medio de la función de Carmichaël en la memoria de la
entidad A.
Con el fin de reducir el tamaño del segundo
elemento de prueba y, para disminuir el tiempo de
verificación sin modificar por tanto la ecuación de verificación,
el segundo elemento de prueba y se calcula como modulo
\lambda(n) en la etapa 13. En esta realización, el número
aleatorio r se elige ventajosamente de modo que sea inferior
a \lambda(n), en la etapa 11. Más en general, se puede
reemplazar la expresión {y=r - d\cdotc} por cualquier otra
expresión {y=r -
d\cdotc-i.\lambda(n)} en la que
i es un número entero cualquiera, con preferencia
positivo.
Con el fin de acelerar una ejecución de la etapa
11, previamente a la operación de exponencial aplicada al número
genérico g, el producto e\cdotr se calcula mediante
módulo \lambda(n).
Un medio equivalente consiste en reemplazar
\lambda(n) por el orden de g módulo n, es
decir, el entero \ell más pequeño que no sea nulo, tal que
g^{\ell} = 1 modulo n, o más en general, por cualquier
múltiplo de este orden \ell.
Con referencia a la Figura 5, el cálculo
ejecutado por la entidad B puede ser asimismo delegado parcialmente
a cualquier otra entidad B, y todo esto sin pérdida de seguridad. En
ese caso, A proporciona el segundo elemento de prueba y a
esta otra entidad C. La entidad C genera un tercer elemento de
prueba Y a partir del segundo elemento de prueba y, y
envía el tercer elemento de prueba Y a la entidad B. Por una
parte, el conocimiento de y no proporciona ninguna
información sobre d, puesto que el producto d.e está
"enmascarado" por el número aleatorio r. Por otra parte,
es prácticamente imposible para un defraudador fabricar la Y
de todas las piezas, es decir, sin que el segundo elemento de prueba
y sea generado exclusivamente por la primera entidad A. En
efecto, dados n, e, x y c, resulta inviable encontrar
un valor de Y que satisfaga la ecuación de verificación de la
cuarta etapa, si la factorización es un problema difícil.
La clave pública es el par (n, e), y la
autenticación o la identificación de la entidad A por la entidad B
se desarrolla iterando k veces el protocolo descrito en la
presente, en el que C designa una entidad cualquiera distinta de B.
En comparación con otros protocolos del estado de la técnica, en los
que, por ejemplo, en el caso del logaritmo discreto, la clave
pública es un cuadruplete (n, e, g, v), la reducción de la
cantidad de componentes de la clave pública reduce la cantidad de
operaciones a efectuar sin perjudicar la seguridad. Ventajosamente,
conforme a la invención, al ser la clave pública aquí utilizada de
tipo RSA, el protocolo descrito se integra fácilmente en un
contexto RSA ampliamente aprovechado.
El procedimiento se desarrolla de forma idéntica
a la que se ha descrito con referencia a la Figura 1 hasta la etapa
13. Con referencia a la Figura 5, la etapa 13 se ha modificado en el
sentido de que la entidad A envía la imagen y de clave
privada d a la entidad intermediaria C. Según se ha visto
anteriormente, la imagen y no proporciona ninguna
información sobre la clave privada.
Una recepción por la entidad C de la imagen
y, valida una transición 14 que activa después la quinta
etapa 15.
En la etapa 15, es aquí la entidad intermediaria
C la que calcula el tercer elemento de prueba Y = g^{y}
(mod n), y envía Y a B.
El procedimiento podría continuar después de
forma idéntica a la descrita con referencia a la Figura 1, mediante
la transición 16 y la etapa 17. Sin embargo, la etapa 17 se ha
modificado en que la segunda entidad B no tiene ya que elevar el
tercer elemento de prueba Y a una potencia de exponente
e, y multiplicar el resultado por g^{c} (mod
n).
Físicamente, la entidad intermediaria C se
realiza, por ejemplo, en un circuito integrado, no necesariamente
segura, contenida en el dispositivo de seguridad del probador tal
como una tarjeta de circuito integrado, en el dispositivo de
seguridad del verificador tal como un terminal de pago, o incluso en
otro dispositivo tal como un ordenador. La seguridad reside en el
hecho de que la entidad C no puede encontrar por sí misma un valor
Y que convenga, es decir, tal que se satisfaga la ecuación de
verificación.
Los protocolos descritos anteriormente pueden
ser transformados en protocolos de autenticación de mensajes o en
esquemas de firma numérica.
La Figura 3 muestra etapas de procedimiento que
permiten autenticar el hecho de que un mensaje M recibido por la
segunda entidad B, ha sido emitido por la primera entidad A.
En una primera etapa 20, la entidad A genera un
primer número entero aleatorio r muy superior a du y
calcula un potencial de prueba P utilizando una fórmula tal
como P = g^{e.r}(mod n) como en la etapa 9 para el
primer elemento de prueba. En lugar de enviar P a la entidad
B, la entidad A genera un primer elemento de prueba x
aplicando al mensaje M, conjuntamente con el número P,
una función h, por ejemplo igual a una función de corte
criptográfico que incluye una función de corte criptográfico de
modo que:
x = h(P,
M).
La entidad A envía después el mensaje M y
el primer elemento de prueba x a la entidad B.
La recepción por parte de la entidad B del
mensaje M y del primer elemento de prueba x, valida
una transición 21 que activa una segunda etapa 11. El procedimiento
continúa a continuación de forma idéntica a la descrita con
referencia a una de las Figura 1 ó 5.
En la etapa 11, la entidad B envía a la entidad
A un número entero c elegido al azar en un intervalo [0,
t-1] denominado de seguridad. De ese modo, el número
c es común a las entidades A y B, y también a cualquier otra
entidad que se infiltre en el diálogo entre las entidades A y B.
La recepción por parte de la entidad A del
número común c, valida una transición 12 que activa después
una tercera etapa 13.
En la etapa 13, la entidad A calcula y = r -
d\cdotc. De ese modo, la entidad A genera una imagen y
de la clave privada en forma de combinación lineal del número
r y del número d cuyo coeficiente multiplicativo es
el número común c. El número aleatorio r, al ser muy
grande y no haber sido comunicado, un conocimiento de la imagen
y no permite encontrar el producto d\cdotc y, por
consiguiente, no permite encontrar el número d de clave
privada que permanece así guardado en secreto por la entidad A. Al
ser solamente la entidad A la que tiene conocimiento del número
d, es la entidad A la única que puede generar una imagen que
integre el número común c. En el ejemplo de la Figura 3, la
entidad A envía la imagen y de clave privada a la entidad B,
pero puede también enviarla a una entidad intermediaria C como en la
Figura 5. Según se ha visto anteriormente, la imagen y no
proporciona ninguna información sobre la clave privada.
Una recepción por parte de la entidad B de la
imagen y, valida una transición 16 que activa después la
cuarta etapa 22.
En la etapa 22, la entidad B calcula, como en la
etapa 17, un valor de verificación V por medio de la
fórmula:
V =
g^{c+ey}(mod
n)
y después verifica la concordancia
del segundo elemento de prueba con el primer elemento de prueba por
medio de la ecuación de
verificación:
h(V,M) =
x.
En la variante que utiliza una función f,
la ecuación de verificación resulta ser:
h(f(g^{c+ey}(mod n)), M) = x.
En la variante que utiliza una función f
y que hace intervenir a la entidad intermediaria C, la ecuación de
verificación resulta ser:
h(f(Y^{e}g^{c}(mod n)), M) =
x.
A diferencia de la autenticación de mensaje, la
firma de menaje es independiente del emisor en el sentido de que la
firma de un mensaje M por la entidad A permanece válida si la
entidad B recibe el mensaje M desde cualquier otra entidad.
Se preconiza un tamaño superior o igual a ochenta bits para el
exponente e de clave pública, para asegurar un nivel
aceptable de seguridad.
Con referencia a la Figura 2, en una primera
etapa 18, la entidad A genera un primer número entero aleatorio
r, y calcula un potencial de prueba P = g^{er}(mod
n).
En una segunda etapa 23 directamente a
continuación de la etapa 1, la entidad A genera un primer elemento
de prueba x, aplicando al mensaje M, junto con el
número P, una función h, por ejemplo igual a una
función de corte criptográfico, o incluyendo una función de corte
criptográfico tal como:
x =
h(P,M).
En la etapa 23, la entidad A genera el número
común c tomado igual al primer elemento de prueba
x.
En una tercera etapa 24, directamente a
continuación de la etapa 23, la entidad A calcula y = r -
d\cdotc. De ese modo, la entidad A genera una imagen y
de la clave privada en forma de combinación lineal del número
r y del número d cuyo coeficiente multiplicativo es el
número común c. Al ser el número aleatorio r muy
grande y no comunicado, el conocimiento de la imagen y no
permite encontrar el producto d\cdotc, y por consiguiente,
no permite encontrar el número d de clave privada que
permanece por lo tanto guardado en secreto por la entidad A. Al ser
solamente la entidad A la que tiene conocimiento del número
d, es la entidad A la única que puede generar una imagen que
integre el número común c. Según se ha visto anteriormente,
la imagen y no proporciona ninguna información sobre la clave
privada. El par (x, y) constituye una firma del mensaje
M debido a que este par integra a la vez el mensaje M
y un elemento de clave privada que garantiza que la entidad A es el
origen de esta firma.
La entidad A envía a continuación el mensaje
M y la firma (x, y) a la entidad B o a cualquier otra
entidad que podrá enviar posteriormente el mensaje firmado a la
entidad B.
Se apreciará que el mensaje M no se tiene
que enviar necesariamente en la etapa 24. El mensaje M puede
ser enviado en una etapa 19 independientemente de su firma puesto
que una modificación del mensaje M tendría una posibilidad
despreciable de ser compatible con su firma.
La recepción por la entidad B del mensaje
M con su firma (x, y), procedente de la entidad A o de
cualquier otra entidad, valida una transición 25 que activa después
una etapa 26.
En la etapa 26, la entidad B toma el número
c como que es igual al primer elemento de prueba
x.
En la etapa 26, la entidad B calcula, como en la
etapa 17, un valor de verificación V por medio de la
fórmula:
V =
g^{c+ey}(mod
n)
y a continuación verifica la
concordancia del segundo elemento de prueba con el primer elemento
de prueba por medio de la ecuación de
verificación:
h(V, M)
=
x.
En este caso, la concordancia con el primer
elemento de prueba se verifica mediante esta igualdad debido a que
el número común c generado en la etapa 23, concuerda en sí
mismo con el primer elemento de prueba.
En la variante que utiliza una función f,
la ecuación de verificación resulta ser:
h(f(g^{c+ey}(mod n)), M) =
x.
Una realización particularmente eficiente del
procedimiento de la invención, va a ser explicada ahora en relación
con la Figura 4.
Una etapa 27 genera y almacena en una memoria de
la entidad A, uno o varios valores de número aleatorio
r(j'), a cada uno de los cuales se asocia un
potencial de prueba P(j'). El índice j' sirve
para establecer en una tabla, una correspondencia entre cada número
aleatorio r(j') y el potencial de prueba
P(j') asociado. Cada valor de número aleatorio
r(j') se genera de forma que sea, o bien netamente
superior al valor de clave privada d, o bien inferior o
igual a \lambda(n), como se ha explicado anteriormente.
Cada potencial de prueba P(j') se calcula como una
potencia del número simple G con r(j') como
exponente. La etapa 27 se ejecuta para cada fila de índice j'
incrementando módulo una longitud k', el índice j'
después de cada cálculo de P(j'). La longitud
k' representa la cantidad de filas de tabla tal que
j'=0. Al indexar la primera fila de tabla, las ejecuciones de
la etapa 27 se detienen cuando j' se hace cero, o continúan
para renovar los valores contenidos en la tabla. La longitud
k' es de valor igual o superior a k.
El cálculo de P(j') se efectúa por
medio de la entidad A o por medio de una entidad de confianza que
reciba desde la entidad A, el número aleatorio r(j')
o el valor \lambda(n) para elegir números aleatorios
r(j') inferiores o iguales a
\lambda(n). Cuando el cálculo de P(j')
se efectúa por medio de la entidad A, cada ejecución de la etapa 27
se activa por medio de una transición 28 que es validada cuando se
detecta que los medios de tratamiento digital de la entidad A están
libres.
El número simple G se determina en una
etapa inicial 29. Cuando se impone el número genérico g y por
tanto es conocido por todos, la entidad A simplemente necesita
comunicar la clave pública (n, e), el número simple
G, siendo calculado el número simple G de manera que:
G = g^{e} módulo n. Cuando el número genérico
g no ha sido impuesto, la entidad A elige un valor de
G, por ejemplo G=2, y genera g = G^{d}
módulo n. El número genérico g es transmitido entonces
con la clave pública. El índice j' se inicializa en cero, de
manera que comience una primera ejecución de la etapa 27 para una
primera fila de la tabla. Cada fin de ejecución de la etapa 27 se
ramifica a la salida de la etapa 29 para escrutar la transición 28
y prioritariamente las transiciones 40, 41, 42.
La transición 42 es validada por una transacción
de identificación que activa entonces una continuación de etapas 43
y 45.
La etapa 43 posiciona un índice de iteración
j, por ejemplo igual al índice actual j' de la tabla
que contiene los números aleatorios y los potenciales de prueba
asociados.
En la etapa 45, la entidad A genera el primer
elemento x mediante una simple lectura del potencial de
prueba P(j) en la tabla. Durante la transacción
detectada por validación de la transición 42, la generación del
primer elemento de prueba no necesita por tanto ningún cálculo de
potencia. El primer elemento de prueba x es así emitido
rápidamente.
Una transición 1 es validada por una recepción
del número común c que activa después una etapa 2.
En la etapa 2, la entidad A genera el segundo
elemento de prueba y como se ha explicado anteriormente. Al
limitarse las operaciones a lagunas multiplicaciones y sumas y
restas, requieren poco tiempo de cálculo. El segundo elemento de
prueba y es así emitido rápidamente, después de la recepción
del número común c.
En la etapa 2, el índice j se aumenta en
un incremento unitario con el fin de reiterar la etapa 45 y la
etapa 2 mientras que j es detectado en una transición 3,
diferente de j' módulo k, hasta que una transición 4
detecta que j es igual a j' módulo k, para
volver a la salida de la etapa 29 después de k ejecuciones
de la etapa 45.
La transición 41 es validada por una transacción
de firma de mensaje M. La transición 41 activa entonces una
serie de etapas 44 y 46.
La etapa 44 posiciona un índice de iteración
j, por ejemplo igual al índice actual j' de la tabla
que contiene los números aleatorios y los potenciales de prueba
asociados. El mensaje M es emitido en la etapa 44.
En la etapa 46, la entidad A genera el primer
elemento de prueba x aplicando la función de corte estándar
h() al mensaje M y al resultado de una simple lectura
del potencial de prueba P(j) en la tabla. El número
común c se toma igual al primer elemento de prueba
x.
En la etapa 46, la entidad A genera el segundo
elemento de prueba y como se ha explicado anteriormente. Al
limitarse las operaciones a algunas multiplicaciones y sumas o
restas, necesitan poco tiempo de cálculo. Durante la transacción
detectada por validación de la transición 41, la generación de firma
constituida por el primer elemento de prueba x y por el
segundo elemento de prueba y, no necesita por tanto ningún
cálculo de potencia. La firma (x, y) es así emitida
rápidamente.
Facultativamente, en la etapa 46, el índice
j es aumentado en un incremento unitario con el fin de
reiterar la etapa 46 mientras que j sea detectado en una
transición 3, diferente de j' módulo k, hasta que una
transición 4 detecte que j es igual a j' módulo
k, para volver a la salida de la etapa 29 después de
k ejecuciones de la etapa 46.
La transición 40 es validada por una transacción
de autenticación de mensaje M. La transición 40 activa
entones una serie de etapas 43 a 47.
La etapa 43 posiciona un índice de iteración
j, por ejemplo igual al índice actual j' de la tabla
que contiene los números aleatorios y los potenciales de prueba
asociados.
En la etapa 47, la entidad A emite el mensaje
M y el primer elemento de prueba x. El primer elemento
de prueba x se genera al aplicar la función de corte
estándar h() al mensaje M y al resultado de una
simple lectura del potencial de prueba P(j) en la
tabla.
Durante la transacción detectada por validación
de la transición 40, la generación del primer elemento de prueba no
necesita así ningún cálculo de potencia. El primer elemento de
prueba x es así emitido rápidamente.
Una transición 1 es validada por una recepción
del número común c que activa después una etapa 48.
En la etapa 48, la entidad A genera el segundo
elemento de prueba y como se ha explicado anteriormente. Al
limitarse las operaciones a algunas multiplicaciones y sumas o
restas, requieren poco tiempo de cálculo. El segundo elemento de
prueba y es así emitido rápidamente después de la recepción
del número común c.
En la etapa 48, el índice j se aumenta en
un incremento unitario con el fin de reiterar la etapa 47 y la
etapa 48 mientras que se detecta j en una transición 3,
diferente de j' módulo k, hasta que una transición 4 detecta
que p es igual a j' módulo k, para volver a la salida
de la etapa 29 después de k ejecuciones de la etapa 47.
Con referencia a la Figura 6, las entidades A, B
y C descritas anteriormente se materializan, respectivamente, en un
dispositivo probador 30, un dispositivo verificador 31, y un
dispositivo intermediario 32. El dispositivo probador 30 es, por
ejemplo, una tarjeta de microprocesador tal como una tarjeta de
crédito, o una tarjeta de identificación de abonado de un teléfono
móvil. El dispositivo verificador 31 es, por ejemplo, un terminal
bancario o un servidor de comercio electrónico, o un equipo de
operador de telecomunicación móvil. El dispositivo intermediario 32
es, por ejemplo, una extensión de tarjeta de microprocesador, un
terminal de lectura de tarjeta de crédito, o una tarjeta
electrónica de teléfono móvil.
El dispositivo probador 30 comprende medios de
comunicación 34 y medios de cálculo 37. El dispositivo probador 30
está protegido frente a intrusiones. Los medios de comunicación 34
están dispuestos para emitir el primer elemento de prueba x
conforme a las etapas 9, 45 ó 47 descritas con referencia a las
Figuras 1, 3 ó 4, el segundo elemento de prueba y de acuerdo
con la etapa 13 descrita con referencia a las Figuras 1 y 3, a la
etapa 24 descrita con referencia a la Figura 2, o a las etapas 2 y
48 descritas con referencia a la Figura 4, el mensaje M
conforme a las etapas 19, 20, 44 ó 47, descritas con referencia a
las Figuras 1 a 4, o el número común c conforme a la etapa
23, 46, descrita con referencia a las Figuras 2 y 4, según la
versión del procedimiento que se vaya a poner en práctica. Los
medios de comunicación 34 están también dispuestos para recibir el
número común c de acuerdo con la transición 12 ó 1 descrita
con referencia a las Figuras 1 a 4 cuando las versiones del
procedimiento que se va a poner en práctica corresponden a la
identificación o la autentificación. Para una versión de
procedimiento de puesta a poner en práctica que corresponda a una
firma, los medios de comunicación 34 no tienen necesidad de estar
dispuestos para que reciban el número común c.
Los medios de cálculo 37 están dispuestos para
ejecutar las etapas 9 y 13 descritas con referencia a la Figura 1 ó
5, las etapas 18, 23 y 24 descritas con referencia a la Figura 2,
las etapas 13 y 20 descritas con referencia a la Figura 3, o las
etapas descritas con referencia a la Figura 4 según la versión del
procedimiento que se ponga en práctica. De manera conocida, los
medios de cálculo 37 comprenden un microprocesador y microprogramas
o circuitos combinatorios dedicados a los cálculos anteriormente
descritos.
El dispositivo verificador 31 comprende medios
de comunicación 35 y medios de cálculo 38. Los medios de
comunicación 35 están dispuestos para emitir uno o más números
comunes c de acuerdo con la etapa 11 descrita con referencia
a las Figuras 1, 3 y 5 cuando las versiones del procedimiento que se
van a poner en práctica corresponden a una autenticación. Para una
versión de procedimiento a poner en práctica que corresponda a una
firma, los medios de comunicación 35 no tienen necesidad de estar
dispuestos para emitir el número común c. Los medios de
comunicación 35 están también dispuestos para recibir los dos
elementos de prueba x e y, de acuerdo con las
transiciones 10 y 16 descritas con referencia a las Figuras 1 y 5,
un mensaje M con el primer elemento de prueba x y el
segundo elemento de prueba y en conformidad con las
transiciones 21 y 16 descritas con referencia a la Figura 3, o el
segundo elemento de prueba y el mensaje M con uno o varios
números c y la imagen y de clave privada conforme a
las transiciones 2 y 8 descritas con referencia a la Figura 5.
Los medios de cálculo 38 están dispuestos para
ejecutar las etapas 11 y 17 descritas con referencia a las Figuras
1 y 5, la etapa 26 descrita con referencia a la Figura 2, o las
etapas 11 y 22 descritas con referencia a la Figura 3, según la
versión de procedimiento que se ponga en práctica. De manera
conocida, los medios de cálculo 38 comprenden un microprocesador y
microprogramas o circuitos combinatorios dedicados a los cálculos
anteriormente descritos.
El dispositivo intermediario 32 comprende medios
de comunicación 36 y medios de cálculo 39. Los medios de
comunicación 36 están dispuestos para emitir el tercer elemento de
prueba Y de acuerdo con la etapa 15 descrita con referencia
a la Figura 5. Los medios de comunicación 36 están también
dispuestos para recibir el segundo elemento de prueba y
conforme a la transición 14 descrita con referencia a la Figura
5.
Los medios de cálculo 39 están dispuestos para
ejecutar la etapa 15 descrita con referencia a la Figura 5. De
manera conocida, los medios de cálculo 39 comprenden un
microprocesador y programas o circuitos combinatorios dedicados a
los cálculos descritos en lo que antecede.
De manera mejorada, los medios de cálculo y de
comunicación descritos con anterioridad, están dispuestos para
repetir k veces la ejecución de las etapas descritas en lo
que antecede, cada vez para un primer elemento de prueba y para un
segundo elemento de prueba distintos.
Claims (18)
1. Procedimiento criptográfico de hacer que sea
segura una transacción entre al menos una primera entidad probadora
(A) y una segunda entidad verificadora (B) que disponen de un número
genérico común g, en el que la primera entidad (A) genera,
por medio de una clave privada d de tipo RSA, un primer
elemento de prueba verificable por la segunda entidad verificadora
(B) por medio de una clave pública que comprende un exponente de
clave pública e y un modulo n de tipo RSA asociado a
la citada clave d, caracterizado porque este
procedimiento incluye al menos:
- la transmisión por la primera entidad
probadora (A) a la segunda entidad verificadora (B), del primer
elemento de prueba x, que incluye al menos el resultado de
una primera potencia, con módulo el patrón n, del número
genérico común g elevado a la potencia de un primer exponente
producto de un número aleatorio r y del exponente de clave
pública e, siendo el cálculo de dicha primera potencia
ejecutable independientemente de la transacción;
- la elección de un número c común para
la primera entidad probadora (A) y para la segunda entidad
verificadora (B);
- la generación por parte de la primera entidad
probadora (A), de un segundo elemento de prueba y, función
del número aleatorio r, del valor de la clave privada
d, y del número común c, y la transmisión de dicho
segundo elemento de prueba y o de una función predeterminada
de éste, al segundo elemento verificador (B);
- la verificación para seguridad de la
transacción, por parte de la segunda entidad verificadora (B), de la
identidad de valor de dicho primer elemento de prueba x y de
un valor de verificación que incluye al menos el resultado de una
segunda potencia, con módulo el patrón n, del número genérico
común g elevado a la potencia de un segundo exponente,
combinación lineal de todo o parte del número común c, y del
producto del exponente de clave pública e y del segundo
elemento de prueba y.
2. Procedimiento criptográfico según la
reivindicación 1, caracterizado porque, para permitir una
autenticación de la primera entidad probadora (A) ante la segunda
entidad verificadora (B):
- el primer elemento de prueba x es el
resultado de la primera potencia, con módulo el patrón n, de
dicho número común g;
- el número entero aleatorio r se
mantiene en secreto por parte de la primera entidad probadora
(A);
- el número común c es elegido al azar
por parte de la segunda entidad verificadora (B) en un intervalo de
seguridad [0, t-1], y después transmitido a la
primera entidad probadora (A) por la segunda entidad verificadora
(B) tras la recepción del primer elemento de prueba x;
- la verificación es una verificación de la
igualdad del primer elemento de prueba x y del resultado de
la segunda potencia, con módulo el patrón n, del número
genérico común g.
3. Procedimiento criptográfico según la
reivindicación 1, caracterizado porque, para permitir a la
citada primera entidad probadora (A) firmar un mensaje (M), el
citado procedimiento incluye:
- la generación por parte de la primera entidad
probadora (A), del primer elemento de prueba x por aplicación
de una función de corte estándar al mensaje (M) y al resultado de
la citada primera potencia, con módulo el patrón n, del
número genérico común g, y la transmisión de dicho mensaje
(M) a la segunda entidad verificadora (B);
- la elección por parte de la primera entidad
probadora (A) y de la segunda entidad verificadora (B), de dicho
número común (c) de modo que sea igual al primer elemento de prueba
x;
- la verificación de la igualdad del primer
elemento de prueba x y del resultado de la citada función de
corte estándar aplicada al mensaje (M) y a dicho resultado de la
segunda potencia, con módulo el patrón n, de dicho número
genérico común g.
4. Procedimiento criptográfico según la
reivindicación 1, caracterizado porque, para permitir a la
segunda entidad verificadora (B) autenticar un mensaje (M)
proveniente de la primera entidad probadora (A), el citado
procedimiento incluye:
- la generación por parte de la primera entidad
probadora (A), del primer elemento de prueba x por aplicación
de una función de corte estándar al mensaje (M) y al resultado de
la citada primera potencia, con módulo el patrón n, de dicho
número genérico común g, y la transmisión de dicho mensaje
(M) a la citada segunda entidad verificadora (B);
- la elección por parte de la segunda entidad
verificadora (B), del número común c en un intervalo de
seguridad [0, t-1], y la transmisión de este número
común c a la primera entidad probadora (A), después de la
recepción del primer elemento de prueba x;
- la verificación de la identidad del primer
elemento de prueba x y del resultado de la función de corte
estándar aplicada al mensaje (M) y a la segunda potencia, con
módulo el patrón n, del número genérico común g.
5. Procedimiento criptográfico según una de las
reivindicaciones 2 a 4, caracterizado porque:
- el segundo elemento de prueba y es
generado por la primera entidad (A) restando del número entero
aleatorio r la clave privada d multiplicada por el
número común c;
- la combinación lineal exponente de la segunda
potencia, con módulo el patrón n del número genérico común
g, comprende un coeficiente unitario positivo para el número
común c y un coeficiente unitario positivo para el producto
del exponente e de clave pública por el segundo elemento de
prueba y;
- en la relación verificada, el primer elemento
de prueba x se tiene en cuenta con una potencia de exponente
unitario.
6. Procedimiento criptográfico según una de las
reivindicaciones 2 ó 4, caracterizado porque:
- al estar el número común c escindido en
un primer número común elemental a y en un segundo número
común elemental b, el segundo elemento de prueba y es
generado por la primera entidad (A) restando del número entero
aleatorio r multiplicado por el primer número común elemental
a, la clave privada d multiplicada por el segundo
número común elemental b;
- la combinación lineal exponente de la segunda
potencia, con módulo el patrón n del número genérico común
g, comprende un coeficiente nulo para el primer número común
elemental a, un coeficiente unitario positivo para el
segundo número común elemental b, y un coeficiente unitario
positivo para el producto del primer exponente e de clave
pública por el segundo elemento de prueba y,
- en la relación verificada, el primer elemento
de prueba x se tiene en cuenta con una potencia de exponente
igual al primer número común elemental a.
7. Procedimiento criptográfico según una de las
reivindicaciones 5 ó 6, caracterizado porque el segundo
elemento de prueba y se calcula como un módulo imagen del
módulo n calculado por medio de una función de Carmichaël
\lambda o módulo de un múltiplo del orden del número
genérico g, con módulo el patrón n.
8. Procedimiento criptográfico según una de las
reivindicaciones 5 ó 6, caracterizado porque el número
aleatorio r es muy superior, en el sentido del problema
matemático del logaritmo discreto, al valor de clave privada
d.
9. Procedimiento criptográfico según la
reivindicación 7, caracterizado porque el número entero
aleatorio r es inferior a una imagen del módulo n
calculada por medio de una función de Carmichaël \lambda, o
a un múltiplo del orden del número genérico g con módulo el
patrón n.
10. Procedimiento criptográfico según una de las
reivindicaciones 5 a 9, caracterizado porque el primer
exponente se calcula como módulo imagen del módulo n por
medio de una función de Carmichaël \lambda o como módulo
de un múltiplo del orden del número genérico g con módulo el
patrón n.
11. Procedimiento criptográfico según una de las
reivindicaciones anteriores, caracterizado porque el número
genérico común g es transmitido con la clave pública, siendo
el número genérico común g igual a un número simple G
elevado a una potencia con módulo el patrón n con la clave
privada d por exponente.
12. Procedimiento criptográfico según una de las
reivindicaciones anteriores, caracterizado porque, para una
transacción que implique además una tercera entidad intermediaria
(C), que disponga de dicho número genérico común g, el
citado procedimiento incluye al menos, a continuación de la
recepción por parte de la citada entidad intermediaria (C) de dicho
segundo elemento de prueba y:
- la generación, por la citada entidad
intermediaria (C), de un tercer elemento de prueba Y,
resultado de una tercera potencia, con módulo el patrón n,
del número genérico común g elevado a la potencia de un
tercer exponente formado por el citado segundo elemento de prueba
y, y la transmisión de dicho tercer elemento de prueba
Y a la citada segunda entidad verificadora (B);
- la verificación por parte de la segunda
entidad verificadora (B), de la igualdad entre un valor de
verificación producto de una potencia del tercer elemento de prueba
Y elevado a la potencia del exponente e de clave
pública y de una potencia de dicho número genérico común g
elevado a la potencia del número común c, con módulo el
patrón n, y de dicho primer elemento de prueba x.
13. Dispositivo probador (30) dotado de una
clave privada d de tipo RSA mantenida en secreto y protegida
frente a cualquier intrusión, apto para generar durante una
transacción con un dispositivo verificador, una prueba, de tal modo
que la verificación de esta prueba pueda ser efectuada con la ayuda
de una clave pública asociada a la citada clave privada,
comprendiendo la citada clave pública de tipo RSA un exponente de
clave pública e y un módulo n, caracterizado
porque comprende:
- medios de cálculo (37) dispuestos para generar
un primer elemento de prueba x de manera total o parcialmente
independiente de la transacción, incluyendo el citado primer
elemento de prueba x al menos el resultado de una primera
potencia, con módulo el patrón n, del número genérico común
g elevado a la potencia de un primer exponente producto de
un número aleatorio r y del exponente de clave pública
e, y para generar un segundo elemento de prueba y
asociado al primer elemento de prueba y que depende de un número
común c específico de la transacción y de la citada clave
secreta,
- medios de comunicación (34) dispuestos para
emitir al menos el primer y el segundo elementos de prueba, y
dispuestos para emitir hacia, o recibir desde, el dispositivo
verificador, el citado número común c.
14. Dispositivo probador (30) según la
reivindicación 13, caracterizado porque:
- los medios de cálculo (37) están, por una
parte, dispuestos para generar un primer número aleatorio r,
y para elevar un número genérico común g a una primera
potencia con módulo el patrón n, que tiene un primer
exponente igual al producto del exponente de clave pública e
por el número aleatorio r;
- los medios de cálculo (37) están, por otra
parte, dispuestos para generar el segundo elemento de prueba
y por diferencia entre el número entero aleatorio r y
la clave privada d multiplicada por el número común
c, o, al estar el número común c escindido en dos
números comunes elementales a y b, restando del número
entero aleatorio r multiplicado por el primer número común
elemental a, la clave privada d multiplicada por el
segundo número común elemental b.
15. Dispositivo probador (30) según la
reivindicación 14, caracterizado porque los medios de cálculo
(37) están dispuestos para efectuar operaciones módulo imagen del
módulo n calculada por medio de una función de Carmichaël
\lambda o módulo múltiplo del orden del número genérico
g con módulo el patrón n.
16. Dispositivo verificador (31), para verificar
que una prueba ha sido emitida desde un dispositivo probador dotado
de una clave privada d de tipo RSA mantenida en secreto por
el dispositivo probador, con la ayuda de una clave pública asociada
a la citada clave privada, comprendiendo la citada clave pública de
tipo RSA un exponente de clave pública e y un módulo
n, caracterizado porque comprende:
- medios de comunicación (35) dispuestos para
recibir un primer elemento de prueba x que incluye al menos
el resultado de una primera potencia, con módulo el patrón n,
de un número genérico común g elevado a la potencia de un
primer exponente producto de un número aleatorio r y del
exponente de clave pública e, y un segundo elemento de
prueba y o un tercer elemento de prueba Y, y para
recibir o emitir un número común c específico de una
transacción en el seno de la cual están recibidos el primer y el
segundo o tercer elemento de prueba;
- medios de cálculo (38) dispuestos para la
verificación, por seguridad de la transacción, por medio de este
dispositivo verificador, de la identidad de valor del citado primer
elemento de prueba x y de un valor de verificación que
incluye al menos el resultado de una segunda potencia, con módulo el
patrón n, del número genérico común g elevado a la
potencia de un segundo exponente, combinación lineal de todo o parte
del número común c y del producto del exponente de clave
pública e y del segundo elemento de prueba y.
17. Dispositivo verificador (31) según la
reivindicación 16, caracterizado porque los medios de
comunicación están dispuestos para recibir el segundo elemento de
prueba y, y porque los medios de cálculo (38) están
dispuestos para calcular el primer exponente y la citada primera
potencia del número genérico común g.
18. Dispositivo verificador (31) según la
reivindicación 16, caracterizado porque los medios de
comunicación están dispuestos para recibir el tercer elemento de
prueba Y, y porque los medios de cálculo (38) están
dispuestos para elevar el tercer elemento de prueba Y a una
potencia del exponente de clave pública e para multiplicar
el resultado por el número genérico común g elevado a una
potencia que tiene por exponente el número común c.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0208474 | 2002-07-05 | ||
FR0208474A FR2842052B1 (fr) | 2002-07-05 | 2002-07-05 | Procede et dispositifs cryptographiques permettant d'alleger les calculs au cours de transactions |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2320752T3 true ES2320752T3 (es) | 2009-05-28 |
Family
ID=29725211
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES03750783T Expired - Lifetime ES2320752T3 (es) | 2002-07-05 | 2003-06-27 | Procedimiento y dispositivos criptograficos que permiten aligerar los calculos durante las transacciones. |
Country Status (13)
Country | Link |
---|---|
US (1) | US7760884B2 (es) |
EP (1) | EP1520370B1 (es) |
JP (1) | JP4494965B2 (es) |
KR (1) | KR100984562B1 (es) |
CN (1) | CN1666458B (es) |
AT (1) | ATE420502T1 (es) |
AU (1) | AU2003269005B2 (es) |
DE (1) | DE60325732D1 (es) |
ES (1) | ES2320752T3 (es) |
FR (1) | FR2842052B1 (es) |
MX (1) | MXPA04012758A (es) |
WO (1) | WO2004006497A1 (es) |
ZA (1) | ZA200409854B (es) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200704103A (en) * | 2005-02-25 | 2007-01-16 | Qualcomm Inc | Small public-key based digital signatures for authentication |
US7853018B2 (en) | 2005-11-10 | 2010-12-14 | Atallah Mikhail J | Method and apparatus for hiding a private key |
US20080013721A1 (en) * | 2005-11-30 | 2008-01-17 | Jing-Jang Hwang | Asymmetric cryptography with discretionary private key |
DE102014101936A1 (de) * | 2014-02-17 | 2015-08-20 | Infineon Technologies Ag | Verfahren zum Permutieren von Datenelementen und Permutiervorrichtung |
EP3334083A1 (en) * | 2016-12-08 | 2018-06-13 | Gemalto SA | Method of rsa signature or decryption protected using a homomorphic encryption |
US10355859B2 (en) * | 2017-03-27 | 2019-07-16 | Certicom Corp. | Method and system for selecting a secure prime for finite field diffie-hellman |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0383985A1 (de) * | 1989-02-24 | 1990-08-29 | Claus Peter Prof. Dr. Schnorr | Verfahren zur Identifikation von Teilnehmern sowie zur Generierung und Verifikation von elektronischen Unterschriften in einem Datenaustauschsystem |
FR2716058B1 (fr) | 1994-02-04 | 1996-04-12 | France Telecom | Procédé de signature numérique et d'authentification de messages utilisant un logarithme discret. |
FR2718311A1 (fr) | 1994-03-30 | 1995-10-06 | Trt Telecom Radio Electr | Dispositif de mise en Óoeuvre d'un système de signature de message et carte à puce comportant un tel dispositif. |
FR2752122B1 (fr) | 1994-07-28 | 1998-11-27 | France Telecom | Procede d'authentification a nombre reduit de bits transmis |
FR2739469B1 (fr) * | 1995-10-03 | 1997-12-26 | Gemplus Card Int | Procede de cryptographie a cle publique base sur le logarithme discret |
FR2747257B1 (fr) * | 1996-04-09 | 1998-09-11 | Gilbert Henri | Procede d'identification et/ou de signature |
FR2763451B1 (fr) * | 1997-05-13 | 1999-06-18 | France Telecom | Procede d'identification a cle publique utilisant deux fonctions de hachage |
JP3613936B2 (ja) * | 1997-07-07 | 2005-01-26 | 富士ゼロックス株式会社 | アクセス資格認証装置 |
US6307936B1 (en) * | 1997-09-16 | 2001-10-23 | Safenet, Inc. | Cryptographic key management scheme |
US6411715B1 (en) * | 1997-11-10 | 2002-06-25 | Rsa Security, Inc. | Methods and apparatus for verifying the cryptographic security of a selected private and public key pair without knowing the private key |
DE69834431T3 (de) * | 1998-01-02 | 2009-09-10 | Cryptography Research Inc., San Francisco | Leckresistentes kryptographisches verfahren und vorrichtung |
US6788788B1 (en) * | 1998-09-16 | 2004-09-07 | Murata Kikai Kabushiki Kaisha | Cryptographic communication method, encryption method, and cryptographic communication system |
US6578144B1 (en) * | 1999-03-23 | 2003-06-10 | International Business Machines Corporation | Secure hash-and-sign signatures |
FR2792142B1 (fr) | 1999-04-08 | 2001-06-01 | France Telecom | Procede d'authentification et de signature de message utilisant des engagements de taille reduite |
JP2003511899A (ja) * | 1999-10-01 | 2003-03-25 | フランス テレコム | エンティティの真正性及びメッセージの完全性を証明するための特定のキーのセット |
JP2001117823A (ja) * | 1999-10-15 | 2001-04-27 | Fuji Xerox Co Ltd | アクセス資格認証機能付きデータ記憶装置 |
FR2809894B1 (fr) | 2000-05-31 | 2002-10-25 | France Telecom | Procede de cryptographie, microcircuit pour carte a puce et cartes a puce incluant un tel microcircuit |
US20020041683A1 (en) * | 2000-09-29 | 2002-04-11 | Hopkins Dale W. | Method for selecting optimal number of prime factors of a modulus for use in a cryptographic system |
US20030059041A1 (en) * | 2001-06-26 | 2003-03-27 | Mackenzie Philip D. | Methods and apparatus for two-party generation of DSA signatures |
US7165181B2 (en) * | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
JP2004226674A (ja) * | 2003-01-23 | 2004-08-12 | Renesas Technology Corp | 情報処理方法 |
-
2002
- 2002-07-05 FR FR0208474A patent/FR2842052B1/fr not_active Expired - Fee Related
-
2003
- 2003-06-27 AU AU2003269005A patent/AU2003269005B2/en not_active Ceased
- 2003-06-27 US US10/519,698 patent/US7760884B2/en not_active Expired - Fee Related
- 2003-06-27 WO PCT/FR2003/002000 patent/WO2004006497A1/fr active Application Filing
- 2003-06-27 KR KR1020057000218A patent/KR100984562B1/ko active IP Right Grant
- 2003-06-27 ES ES03750783T patent/ES2320752T3/es not_active Expired - Lifetime
- 2003-06-27 MX MXPA04012758A patent/MXPA04012758A/es active IP Right Grant
- 2003-06-27 ZA ZA200409854A patent/ZA200409854B/en unknown
- 2003-06-27 CN CN038158698A patent/CN1666458B/zh not_active Expired - Fee Related
- 2003-06-27 AT AT03750783T patent/ATE420502T1/de not_active IP Right Cessation
- 2003-06-27 DE DE60325732T patent/DE60325732D1/de not_active Expired - Lifetime
- 2003-06-27 JP JP2004518844A patent/JP4494965B2/ja not_active Expired - Fee Related
- 2003-06-27 EP EP03750783A patent/EP1520370B1/fr not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
FR2842052A1 (fr) | 2004-01-09 |
AU2003269005B2 (en) | 2008-01-10 |
ZA200409854B (en) | 2006-10-25 |
AU2003269005A1 (en) | 2004-01-23 |
FR2842052B1 (fr) | 2004-09-24 |
WO2004006497A1 (fr) | 2004-01-15 |
ATE420502T1 (de) | 2009-01-15 |
KR100984562B1 (ko) | 2010-10-01 |
EP1520370A1 (fr) | 2005-04-06 |
KR20050016988A (ko) | 2005-02-21 |
CN1666458A (zh) | 2005-09-07 |
US20050213769A1 (en) | 2005-09-29 |
JP4494965B2 (ja) | 2010-06-30 |
US7760884B2 (en) | 2010-07-20 |
CN1666458B (zh) | 2011-08-24 |
MXPA04012758A (es) | 2005-08-15 |
EP1520370B1 (fr) | 2009-01-07 |
JP2005532723A (ja) | 2005-10-27 |
DE60325732D1 (de) | 2009-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Vaudenay | The security of DSA and ECDSA: Bypassing the standard elliptic curve certification scheme | |
US9800418B2 (en) | Signature protocol | |
CN109660338B (zh) | 基于对称密钥池的抗量子计算数字签名方法和*** | |
WO2001024439A1 (fr) | Dispositif, programme ou systeme de traitement d'informations secretes | |
Bai et al. | Elliptic curve cryptography based security framework for Internet of Things (IoT) enabled smart card | |
Tang et al. | A Robust and Efficient Timestamp-based Remote User Authentication Scheme with Smart Card Lost Attack Resistance. | |
ES2729874T3 (es) | Sistema y método de exponenciación del teorema chino del resto de uso único para algoritmos criptográficos | |
JP2004304800A (ja) | データ処理装置におけるサイドチャネル攻撃防止 | |
US20150006900A1 (en) | Signature protocol | |
CN104077625B (zh) | 一种基于电子签名的二维码内容校验方法 | |
Pateriya et al. | Elliptic curve cryptography in constrained environments: a review | |
ES2320752T3 (es) | Procedimiento y dispositivos criptograficos que permiten aligerar los calculos durante las transacciones. | |
Rosati et al. | Elliptic curve certificates and signatures for nfc signature records | |
KR100971038B1 (ko) | 다수의 엔티티와 그에 따른 장치에 부하를 분배하는암호화 방법 | |
WO2016187689A1 (en) | Signature protocol | |
Paar et al. | Digital Signatures | |
ES2289147T3 (es) | Procedimiento para efectuar una tarea criptografica por medio de una clave publica. | |
JP2001507479A (ja) | ランダム抽出を必要とする暗号システムのためのハッシュ関数に基づく疑似ランダム生成器 | |
Kim et al. | RFID security protocol by lightweight ECC algorithm | |
Góodor et al. | Elliptic curve cryptography based authentication protocol for small computational capacity RFID systems | |
JP2002072873A (ja) | 二次体に基づく否認不可署名方式 | |
Yang et al. | Aep-m: Practical anonymous e-payment for mobile devices using arm trustzone and divisible e-cash (full version) | |
Zhang et al. | An ECDSA signature scheme designs for PBOC 2.0 specifications | |
CA2892318C (en) | Signature protocol | |
Ith et al. | Implementation of ID-based signature in RFID system |