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 PDF

Info

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
Application number
ES03750783T
Other languages
English (en)
Inventor
Marc Girault
Jean-Claude Pailles
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.)
Orange SA
Original Assignee
France Telecom 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 France Telecom SA filed Critical France Telecom SA
Application granted granted Critical
Publication of ES2320752T3 publication Critical patent/ES2320752T3/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/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
    • 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/302Public 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
    • 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
    • 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/3218Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial 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.
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.
ES03750783T 2002-07-05 2003-06-27 Procedimiento y dispositivos criptograficos que permiten aligerar los calculos durante las transacciones. Expired - Lifetime ES2320752T3 (es)

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)

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

* Cited by examiner, † Cited by third party
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 情報処理方法

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