ES2216276T3 - Sistema criptografico que comprende un sistema de cifrado y descifrado y un sistema de secuestro de claves. - Google Patents

Sistema criptografico que comprende un sistema de cifrado y descifrado y un sistema de secuestro de claves.

Info

Publication number
ES2216276T3
ES2216276T3 ES98909555T ES98909555T ES2216276T3 ES 2216276 T3 ES2216276 T3 ES 2216276T3 ES 98909555 T ES98909555 T ES 98909555T ES 98909555 T ES98909555 T ES 98909555T ES 2216276 T3 ES2216276 T3 ES 2216276T3
Authority
ES
Spain
Prior art keywords
mod
encryption
key
phi
decryption
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
ES98909555T
Other languages
English (en)
Inventor
David Naccache
Francoise Levy-Dit-Vehel
Jacques Stern
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gemplus SA
Original Assignee
Gemplus SCA
Gemplus Card International SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemplus SCA, Gemplus Card International SA filed Critical Gemplus SCA
Application granted granted Critical
Publication of ES2216276T3 publication Critical patent/ES2216276T3/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • 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

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)
  • Computer And Data Communications (AREA)

Abstract

LA PRESENTE INVENCION SE REFIERE A UN SISTEMA DE ENCRIPTACION, QUE ASOCIA LOS PRINCIPIO LLAMADOS DE LOGARITMO DISCRETO Y DE LA FACTORIZACION, QUE COMPRENDE UN SISTEMA DE CODIFICACION Y DE DECODIFICACION Y UN SISTEMA DE EMBARGO DE CLAVES Y LOS APARATOS Y DISPOSITIVOS ASOCIADOS. LA INVENCION SE DESTINA PARTICULARMENTE A UTILIZARSE EN SISTEMAS ELECTRONICOS DEL TIPO TARJETAS INTELIGENTES, TARJETA PCMCIA, IDENTIFICADORES, TARJETAS SIN CONTACTO O CUALQUIER OTRO APARATO PORTATIL.

Description

Sistema criptográfico que comprende un sistema de cifrado y descifrado y un sistema de secuestro de claves.
El presente invento concierne un sistema criptográfico, que comprende un sistema de cifrado y descifrado, y un sistema de secuestro de claves, y los aparatos y dispositivos asociados.
Está destinado particularmente a ponerlo en ejecución en sistemas electrónicos de tipo tarjetas con chip, tarjetas PCMCIA, insignias, tarjetas sin contacto o cualquier otro aparato portable.
La mayoría de los sistemas de criptografía con clave pública (denominada igualmente criptografía asimétrica) que existen actualmente aplican el algoritmo de cifrado RSA, publicado en 1978 por R. Rivest, A. Shamir y L. Adleman, y seguidamente patentado con el nombre de "Criptografic Communications System and Method" y la referencia
US 4,405,829.
Aparte el sistema RSA, existen muy pocos procedimientos y sistemas prácticos de cifrado con clave pública. No obstante, existe otro sistema, menos conocido y relativamente poco utilizado: se trata del sistema El-Gamal, conocido con el nombre de "A public-key cryptosystem and a signature scheme based on discrete logarithms" y que ha sido publicado en la revista IEEE Transactions on Information Theory, vol. IT-31, n° 4, 1985, pp 469-472.
Un criptograma RSA, o El Gamal, es en realidad un gran número representado en un ordenador por cadenas de cifras binarias o hexadecimales. El criptograma se calcula mediante un recurso de cálculo de software (programa), y/o material (circuito electrónico), aplicando una serie de reglas de cálculo (el algoritmo de cifrado) que deben aplicarse durante el tratamiento de un conjunto de parámetros accesibles a todos, con el fin de ocultar el contenido de los datos tratados. Del mismo modo, el criptograma se descifra mediante un recurso de cálculo de software o material que emplea una serie de reglas de cálculo (el algoritmo de descifrado) aplicadas (por el receptor del criptograma) en un conjunto de parámetros secretos y públicos, y el criptograma.
El sistema o procedimiento de cifrado se sirve de una clave pública con objeto de producir el criptograma. El procedimiento de descifrado utiliza una clave privada que corresponde a la clave secreta, sin que por lo tanto sea idéntica. Un usuario de un aparato electrónico portable, por ejemplo una tarjeta con chip, posee un par de claves (denominadas clave pública y clave secreta). Se supone que las claves públicas ya las conocen todos los usuarios, mientras que las claves secretas no se revelan nunca. Toda persona tiene la capacidad de cifrar un mensaje para un usuario utilizando la clave pública de éste último, pero los criptogramas no pueden descifrarse de otro modo que no sea utilizando la clave secreta del usuario.
Para que sirva de ilustración, se describirá más adelante el funcionamiento del algoritmo bien conocido RSA.
Los parámetros del algoritmo RSA son:
1) Dos números primos secretos p y q de tamaño por lo menos igual a 256 bits. Estos números primos se generan de manera especial, cuyo detalle no es indispensable para la comprensión del presente invento, pero, no obstante, puede encontrarse en la obra "Cryptographie Appliquée, Algorithmes, Protocoles et Codes Sources", de Bruce Schneier (Traducción de Marc Vauclair), Editorial Thomson Publishin.
2) Un módulo público n = p q.
3) Un par de exponentes anotados {e,d}, e, representa un exponente público, y d un exponente secreto, tales como:
e \ d = 1 \ mod \ (p-1) \ (q-1)
El exponente e, denominado "exponente de cifrado" es accesible a todos, mientras que "el exponente de descifrado" d debe permanecer secreto.
Con el fin de cifrar el mensaje m. el expedidor calcula el criptograma c = m^{e} mod.n, y el receptor u órgano verificador descifra c calculando m = c^{d} mod.n.
El funcionamiento del algoritmo de El-Gamal es, en lo que a él se refiere, un poco más completo y no presenta ningún interés particular para la comprensión del presente invento.
El siguiente documento "HARN L.: ``Public-Key cryptosystem design based on factoring and discrete logarithms'' IEE Proceedings-Computers and Digital Techniques, may 1994, UK vol. 141, n° 3, ISSN 1350-2387, STEVENAGE (GB), páginas 193-195" concierne un sistema criptográgico basado en dos hipótesis conocidas, que son la factorización y los logaritmos discretos. Quebrantar dicho sistema resulta prácticamente imposible, porque necesita resolver el problema del logaritmo discreto de Diffie-Hellman en un subgrupo de Z\cdot_{p}, en el que p = 2p' x q' y p' y q' son dos grandes números primos, y seguidamente factorizar (p-1)/2 con dos grandes números primos. En este documento, es posible elegir el mismo tamaño de parámetros de seguridad para ambas hipótesis y mantener la eficacia de la implementación.
El presente invento concierne un sistema criptográfico que comprende un sistema de cifrado-descifrado con clave pública alterna que presenta una alternativa al método RSA y al método de El-Gamal, y un sistema de secuestro de claves (comúnmente llamado en Inglés "Key escrow").
Según el invento, se ha previsto que el sistema criptográfico que asocia los principios dichos del logaritmo discreto y de la factorización, comprenda entre otras cosas claves públicas y una clave secreta, y se caracteriza porque dichas claves públicas comprenden, por lo menos:
a) un módulo RSA n, de tamaño superior a 640 bits, teniendo la siguiente propiedad:
n = (A_{pA} + 1) x (B_{pB} + 1)
en la que:
p_{A} y p_{B} son números primos de tamaño superior a 320 bits,
(A _{pA}+1) es un número primo RSA anotado p,
(B _{pB}+1) es un número primo RSA anotado q,
A es el producto de k/2 (k es un número entero par comprendido entre 10 y 120) números primos (anotados p[i], i=1 a k/2) de tamaño relativamente pequeño (entre 2 y 16 bits) y B es el producto de k/2 números primos (anotados todavía p[i], i = k/2+1 a k) ;
los p[i] tienen un tamaño relativamente pequeño (entre 2 y 16 bits), y pueden asimismo ser mutuamente primos;
b) una base de exponenciación g, de orden \phi(n)/4 (o \phi(n) caracteriza la función indicadora de Euler), g no debe ser, por lo tanto, una potencia p[i]-^{e} módulo n de ningún número.
De manera más particular, el invento se refiere a un sistema criptográfico que comprende por lo menos un sistema de cifrado-descifrado caracterizado porque: el cifrado de un mensaje m, m<AB, consiste en la operación:
C = g^{m} \ mod \ n
en donde c representa el criptógrama (mensaje cifrado).
De preferencia, el sistema criptográfico según el invento se caracteriza porque la integridad de m puede asegurarse por el cifrado de m/h(m) (h pone de relieve una función de troceado y | la concatenación), o por el cifrado de DES(clave, m) "clave" es una clave accesible a todos.
El presente invento tiene igualmente por objeto la descripción de un sistema de secuestro. Según el invento, dicha clave secreta del descifrador o del centro de secuestro es el número \phi(n), y la operación de descifrado o de recubrimiento de la identidad consiste en las siguientes etapas:
a. calcular para i yendo de 1 a k:y[i] = c^{\phi(n)/p[i]}mod n;
b. para i yendo de 1 a k
para j yendo de 1 a p[i]
comparar y[i] a los valores g^{j\phi(n)/p[i]}mod n independientes de m; si g^{j\phi(n)/p[i]}mod n = y[i] entonces asignar \mu[i] = j
c. volver a componer el mensaje a partir del teorema de los restos chinos TRC y de los valores \mu[i].
Según una variante de realización, dicho descifrador acelera el cálculo de las cantidades y[i] al calcular:
a) z = c^{r} mod.n en donde r = P_{A}P_{B}
b) para i yendo de 1 a k:y[i] = z^{AB/p[i]} mod n,
de forma a beneficiarse de la diferencia de tamaño entre AB/p[i] y \phi(n) /p[i] para acelerar los cálculos.
Según otra variante de realización del invento, el descifrador calcula previamente y salvaguarda, de una vez para siempre, la tabla de los valores gj^{\phi(n)/p[i]} mod n para 1 \leq i \leq k y 1 \leq j \leq p[i]
o,
más específicamente un truncamiento o un troceado de estos valores (anotado h) que tienen la siguiente propiedad:
h \ (g^{j\phi (n)/p[i]} mod \ n) \neq h \ (g^{j\phi (n)/p[i]} mod \ n) \ si \ j \neq j'.
De este modo, esto evita por una parte el nuevo cálculo para cada i de las cantidades, g^{j\phi(n)/p[i]}mod n, y por otra parte el almacenamiento de valores de tamaño demasiado grande.
Según otro modo preferencial del invento, el descifrador acelera sus cálculos descifrando por separado el mensaje módulo p, y seguidamente módulo q, y componiendo los resultados módulo mediante el teorema de los restos Chinos con objeto de encontrar m.
El sistema de secuestro se realiza mediante las siguientes etapas de funcionamiento:
a) la autoridad de secuestro codifica la identidad del usuario ID = \sum2^{i-1} ID [i], en donde ID [i] son los bits de la identidad de dicho usuario del sistema (la suma se considera para i yendo de 1 a k) calculando e(ID) = \Pip[i]^{ID[i]} (el producto se considera para i yendo de 1 a k);
b) entrega al usuario una clave (es decir una base de exponenciación) El-Gamal C = ge(^{ID)u} mod n,
en la que u es un gran primo aleatorio o un número primo con \phi(n);
c) de este modo hace posible que el usuario pueda derivar de c su clave pública El-Gamal al elegir un imprevisto aleatorio x y elevando c a la potencia x módulo n.
d) con el fin de encontrar el rastro del usuario, la autoridad extrae del criptograma El-Gamal del cifrador, dicho criptograma comprende siempre dos partes, la parte:
v = c^{r}mod \ n
en donde r es el imprevisto aleatorio de cifrado elegido por el cifrador.
e) Al conocer \phi(n), dicha autoridad descubre los bits ID[i] mediante el siguiente algoritmo:
1)
calcular para i yendo de 1 a k: y[i] v^{\phi(n)/p[i]}mod
2)
si y[i]=1, entonces \mu[i]=1, en caso contrario \mu[i]=0
3)
calcular
ID' = \sum2^{i-1}\mu [i]
4)
encontrar ID-CCE(ID')
en el que CCE representa un mecanismo (opcional) de corrección de errores (del tipo de los descritos en la obra "Codes Correcteurs, Théorie et Pratique" de A. Poli y L. Huguet, Editorial Masson) que está destinado a corregir las perturbaciones introducidas en el caso de un empleo ilícito de un r compuesto.
Otro sistema de secuestro propuesto se basa en el mecanismo de intercambio de claves, denominado de Diffie-Hellman, en el que un número c, obtenido elevando g a una potencia aleatoria a módulo n por una de las partes, se ve interceptado por dicha autoridad de secuestro:
C = g^{a}mod \ n
dicha autoridad de secuestro descubre a de la siguiente manera:
a) al conocer la factorización de n, dicha autoridad descubre, mediante el algoritmo de descifrado, el valor
\alpha = a \ mod \ AB
ya sea
a = \alpha + \beta \ AB;
b) dicha autoridad calcula: \lambda = c/g^{\alpha}mod n= g^{\beta AB} mod n
c) al utilizar un algoritmo de criptanálisis (algoritmo de cálculo de logaritmos discretos, eventualmente ejecutado dos veces (módulo p y módulo q) con el fin de acelerar sus resultados), la autoridad calcula el logaritmo discreto \beta
\lambda = (g^{AB})^{\beta}mod \ n
d) dicha autoridad encuentra
a = \alpha + \beta \ AB
y descifra las comunicaciones basadas en el empleo de a.
Según otra realización del invento, el módulo RSA n es el producto de tres factores:
n= (A_{pA} +1) \ x \ (B_{pB}+1) \ x \ (C_{pC}+1)
en el cual: P_{A}, P_{B}, P_{C} son números primos de tamaño superior a 320 bits
(A_{pA}+1), (B_{pB}+1), (C_{pC}+1) son primos RSA, representados respectivamente p, q, r,
A, B y C son cada uno el producto de k/3 números primos (anotados p[i], i=1 en k), los p[i] son de un tamaño relativamente pequeño (entre 2 y 16 bits) y pueden ser números mutuamente primos y k es un número entero comprendido entre 10 y 120, de tal modo que el producto ABC tenga por lo menos 160 bits.
Esta realización es interesante para acelerar el resultado del descifrado. El descifrador, para acelerar sus cálculos, efectúa las operaciones mod p mod q mod r. Si n a 640 bits, al cortarlo en tres factores el tamaño de los factores será más pequeño.
El presente invento está destinado a colocarse preferentemente en aparatos de cifrado, descifrado y secuestro de claves que son, por ejemplo ordenadores, tarjetas con chip, tarjetas PCMCIA, insignias, tarjetas sin contacto o cualquier otro aparato portable.
El presente invento también tiene relación con un dispositivo que comprende un sistema criptográfico caracterizado porque, comprende un sistema de cifrado y/o un sistema de descifrado, y/o un sistema de secuestro de claves, dichos sistemas comunican entre sí mediante un intercambio de señales electrónicas, o mediante un intercambio de ondas radio o de señales infrarrojas.
Para comprender mejor el invento, es necesario aportar los siguientes comentarios.
El procedimiento de cifrado del invento se divide en tres fases distintas:
la generación de las claves
la generación del criptograma
y el descifrado del criptograma;
en el resto, emplearemos los siguientes convenios (tipográficos):
\phi(n) representará la función indicadora de Eider.
\phi(n) se define de este modo
si n= n_{1} x n_{2} x n_{3} x ...x n_{k-1} x n_{k}
en donde n_{1} x n_{2} x n_{3} x ...x n_{k-1} x n_{k} son número primos, entonces:
\phi(n)-(n_{1}-1) \ x \ (n_{2}-1) \ x \ (n_{3}-1) \ x \ ...x \ (n_{k-1}-1) \ x \ (n_{k-1})
En primer lugar y para que resulte más comprensible este invento, es necesario describir la generación de las claves.
Con el fin de generar las claves, el receptor de los criptogramas elige al azar dos grupos GA y GB de unos k/2 pequeños primos distintos p[i] (k es un parámetro sistema del orden de 10 a 120) y forma los dos siguientes números (de tamaño aproximadamente igual):
A = producto de los p[i] perteneciente al conjunto G_{A}
B = producto de los p[i] perteneciente al conjunto G_{B}
Por razones de seguridad parece apropiado imponer G_{A} y G_{B} tales como:
1. G_{A} \cap G_{B} ya sea el conjunto nulo.
2. Algunos p[i] no figuran en G_{A} \cup G_{B}.
El procedimiento inventivo resulta seguro (a pesar de una descripción un poco más compleja) incluso si la condición 2 no se ha satisfecho. El procedimiento sigue siendo igualmente seguro si, la condición 1 no se ha satisfecho, pero los algoritmos de generación de claves y de descifrado deben modificarse en consecuencia, y resultan mucho más complejos. Igualmente, los p[i] pueden no ser primos, a la vez que son mutuamente primos (por ejemplo potencias enteras de números primos de dos o tres octetos).
Para que la exposición sea más sencilla, se representará p[i], el 5^{e} número primo impar; por ejemplo: p[1]=3,
p[2]=5, P[3]=7...
Se supondrá en el resto que A está formada simplemente del producto de los p[i] para i de 1 a k/2, y B del producto de los p[i] para i de k/2+1 a k. Sin embargo, esta elección no es la mejor de todas, y debe interpretarse únicamente como un convenio de anotación.
Seguidamente, el receptor de los criptogramas genera dos grandes primos (típicamente del orden de 200 a 512 bits) anotados P_{A} Y P_{B}, tales como p = A_{pA} + 1 y q = B_{pB} + 1 sean primos RSA (los primos RSA) son tales que, una vez multiplicados, el producto n= p q debe resultar difícil de factorizar).
Para garantizar la seguridad, será preferible imponer a los diferentes parámetros dimensiones mínimas:
1- el producto AB debe ser como mínimo un número del orden de 160 bits.
2- el tamaño de cada uno de los números PA, PB debe exceder la del producto AB de por lo menos 160 bits;
3- el tamaño del número n = p x q deberá ser de 640 bits como mínimo.
El procedimiento de generación de tales primos no forma parte del marco del presente invento y resulta evidente para el facultativo.
Finalmente, el receptor del mensaje genera y publica un elemento g de orden \phi(n)/4.
Este g debe verificar imperativamente la siguiente condición:
Para todo i, no existe x tal como g = x ^{p[i]} mod n.
g puede calcularse mediante uno de los siguientes métodos:
\text{*} primer método de cálculo de g (rápido):
El receptor del mensaje genera dos enteros:
g_{p}, de orden (p-1)/2 módulo p
g_{p}, de orden (q-1)/2 módulo q
Como más arriba, la generación de gp es prácticamente equivalente a la creación de un número que no sea una potencia p[i]^{e} para todo i inferior a k/2; del mismo modo para g_{q} con las modificaciones evidentes:
1. fijar
x_{0} = 1
t_{1} = 1
t_{i} = produce p[j] para j yendo de 1 a i-1
2. para todo i yendo de 1 a k/2
coger un x aleatorio
elevar x a la potencia t_{i}
si x^{(p-1)/p[i]}=1
probar otro x
si no
calcular x_{i} = x(x_{i-1})^{p[i]}
3. fijar g_{p}= x_{k/2}
4. fijar
x_{0} = 1
t_{1} = 1
t_{i} = produce p[j] para j yendo de 1 a i-I
5. para todo i yendo de 1 a k/2
coger un x aleatorio
elevar x a la potencia t_{i}
si x^{(q-1)/p[i]}=1
probar otro x
si no
calcular x_{i} = x(x_{i-1})^{p[i]}
6.
fijar g_{q}= x_{k}
7.
construir g a partir de g_{p} y g_{y} aplicando el método de los restos chinos (anotado TRC en el resto de la descripción), método descrito en la obra "A course in number theory and cryptography", de Neal Koblitz, segunda Edición, Editoriales Springer-Verlag. También puede ser necesario elevar al cuadrado el número producto para obtener finalmente g.
Mostramos (el detalle de dicha prueba no es necesario para la comprensión del presente invento) que cada etapa del algoritmo determina un elemento que no es una potencia p[j]^{e} para j inferior o igual a i.
* segundo método de cálculo de g (simple)
Un acercamiento alternativo consiste en elegir g de modo aleatorio y probar que tal g no es una potencia p[j]^{e} módulo n. Un cálculo preciso muestra que (por término medio), tal g se encontrará al cabo de 1n(k) tiradas aleatorias (ya sea para k = 120 aproximadamente una posibilidad entre cinco).
Para que se comprenda debidamente el invento, es necesario ahora describir la generación del criptograma.
El criptograma c de un mensaje inferior al producto AB se calcula mediante la fórmula:
c = g^{m} \ mod \ n.
La descripción del invento se orienta ahora hacia una descripción del descifrado del criptograma.
Con objeto de encontrar m, el descifrador efectúa las siguientes operaciones:
1) calcular para i yendo de 1 a k:y[i] = c^{\phi(n)/p[i]}mod n
Ya sea m[i]= m mod p[i] y m' = (m-m[i]) /p[i]
Por sustitución, resulta fácil ver que:
y[i] = c^{\phi(n)/p[i]}mod \ n
= g^{m\phi(n)/p[i]}mod \ n
=g^{m[i]+ m'p[i]) \phi(n)/p[i]}mod \ n
=g^{m[i]\phi(n)/p[i]}g ^{m'\phi(n)}mod \ n
=g^{m[i]\phi(n)/p[i]}mod \ n
2) para i yendo de 1 a k hacer:
para j yendo de 1 a p[i] hacer:
si g^{j\phi(n)/p[i]}mod n = y[i] asignar m_{i} = j
3) encontrar
m = TRC \ (m_{1}, m_{2}, ... mk)
El algoritmo de descifrado puede mejorarse de diversas maneras:
Típicamente, es posible calcular previamente y contar los valores g^{j\phi(n)/p[i]}mod n para todos los valores de las variables i y j necesarios para el desarrollo del descifrado. Igualmente, esta tabla puede truncarse o trocearse con tal que el método de truncamiento o troceado (anotado h) asegure que:
h \ [g^{j\phi(n)/p[i]} mod \ n] \neq h \ [^{j'\phi (n)/p[i]}mod \ n] \ si \ j \neq j'
Con esta realización, resulta posible descifrar mensajes de 20 octetos con k = 30 (el producto AB hace entonces 160 bits, un módulo n de 80 octetos y una tabla de 4 kilo-octetos).
Como ya se ha mencionado en la parte "generación de claves", puede ser más atinado elegir 16 primos de 10 bits, en vez de los 30 primos p[i] (k vale entonces 16). Como existen 75 dichos primos, cabe la posibilidad de unas 252,9 elecciones posibles. No es necesario publicar los primos elegidos, aunque esto no añada ninguna seguridad suplementaria.
También es posible elegir números mutuamente primos; por ejemplo, potencias de números primos, lo que aumenta todavía el abanico de elección de estos parámetros.
Una segunda realización permite acelerar el descifrado calculando, en cuanto se recibe el criptograma, la cantidad:
z = c^{r}modn, en donde r = p_{A}p_{B}
Las cantidades y[i] pueden calcularse entonces más fácilmente efectuando el siguiente cálculo más corto:
y[i] =z^{ABp[i]} mod n, beneficiándose de este modo de la diferencia de tamaño entre AB/p[i] y \phi(n)/p[i] que acelera la exponenciación.
Una tercera realización permite acelerar el descifrado al descifrar por separado el mensaje módulo p, y después módulo q (p y q tienen la mitad del tamaño de n, el descifrado será dos veces más rápido) y al componer los resultados módulo \phi(n).
Este método de descifrado alternativo se describe así:
1) calcular para i yendo de 1 a k/2:y[i] = c^{\phi(p)/p[i]}mod p
Ya sea m[i]= m mod p[i] y m' = (m-m[i]) /p[i]
Por sustitución, resulta fácil ver que:
y[i] = c^{\phi (p)/p[i]}mod \ p
=g^{m\phi(p)/p[i]} mod \ p
=g^{m[i]+ m'p[i]) \phi (p)/p[i]} mod \ p
=g^{m[i] \phi (p)/p[i]} g^{m'\phi (p)} mod \ p
=g^{m[i] \phi (p)/p[i]} mod \ p
2) para i yendo de 1 a k/2 hacer:
para j yendo de 1 a p[i] hacer:
si g ^{j\phi(p)/p[i]}mod p = y[i] asignar \mu[i] = j
3) encontrar
m \ mod \ \phi(p) = TRC \ (\mu[1] \ mod \ p[1], ... (\mu[k/2] \ mod \ p[k/2])
4) repetir las etapas {1, 2, 3} con q en lugar de p.
5) calcular m = TRC (m mod \phi(p), m, mod \phi(q))
Puede resultar necesario proteger el mensaje m contra la manipulación cifrando, mediante el método propuesto en el presente invento, f(clave, m) en el que f es una función de cifrado simétrico (por ejemplo el algoritmo DES)cuyo parámetro "clave" es accesible a todos. Alternativamente, el método de cifrado puede verificar que el mensaje m obtenido corresponde debidamente a su cifrado, ya sea c. Otra manera de proteger m puede ser el cifrado, por el método propuesto, de m|hash(m),(es decir c = g^{m|hash(m)}modo n), en donde hash (m) es un troceado del mensaje m,
y | representa la concatenación (en este caso, el descifrado verifica la integridad del mensaje obtenido por cálculo de su troceado).
Es posible extender el sistema de cifrado más arriba descrito al caso en el que el módulo n ya no está compuesto de dos, sino de tres factores. Entonces tendremos:
n = pqr
con p = Ap_{A}+1, q = Bp_{B}+1, r = Cp_{P}+1, p_{A}, p_{B}, p_{C} son tres grandes primos (de 200 a 512 bits), y A, B, C, son cada uno de ellos el producto de los pequeños primos impares distintos, procedentes de conjuntos G_{A}, G_{B}, G_{C}.
Las modificaciones que deben aportarse son evidentes para el facultativo.
Además, resulta posible relajar ligeramente la condición 2 de la parte descriptiva anterior sobre la generación de las claves (que se enuncia aquí: "algunos p(i) no figuran en G_{A}\cup G_{B}\cupG_{C}"). Por esta razón un juego de parámetros en el que n a 640 bits, el producto ABC tiene 160 bits, y cada uno de los p[i] tiene correlativamente 160 bits, garantiza una seguridad apropiada.
El presente invento tiene un segundo objeto que consiste en describir un sistema de secuestro de claves que mejora el procedimiento descrito por Y. Desmed en "Securing the traceability of ciphertexts- Towards a secure software key escrow system" (Proceedings o Eurocrypt'95, Lecture Notes in Computer Science 921) y completado por las observaciones formuladas por L. Knudsen y T. Pedersen en el artículo "On the difficulty of software key escrow" (Proceedings of Eurocrypt'96, Lecture Notes in Computer Science 1070).
Con el fin de mejorar considerablemente la función de secuestro de claves propuesta por Y. Desmedt, consideramos una variante del método de cifrado:
Ya sea ID, la identidad de cada usuario, codificada de manera binaria;
ID = \sum2^{i+1} \ ID [i]
en donde ID[i] son los bits de la identidad de un usuario del sistema de secuestro de claves (la suma tomada para i yendo de 1 a k) y sea e(ID) = \Pip[i]^{ID[i]} (el producto se ha tomado para i yendo de 1 a k).
Ya sea por último c = g^{e(ID)u} mod n donde u es un gran primo aleatorio,
c se facilita al usuario como base de exponenciación para cifrado El-Gamal. El usuario deriva de c su clave pública El-Gamal al elegir un imprevisto aleatorio x y elevando c a potencia x módulo n.
Con el fin de trazar al usuario, dicho centro de secuestro de claves extrae del criptograma El-Gamal del usuario la parte:
v = c^{r}modn
donde r es el imprevisto aleatorio de cifrado elegido por el usuario.
Al conocer \phi(n), dicho centro encuentra los bits ID[i] mediante el siguiente algoritmo:
1) calcular po B+ur i yendo de 1 a k: y[i]=v^{\phi(n)/p[i]}mod n
2) para i yendo de 1 a k hacer:
para j yendo de 1 a p[i] hacer:
si y[i]=1 asignar \mu[i] a 1, sinó asignar p[i] a 0.
3) calcular
ID'=\sum2^{i-1} \ \mu[i]
4) encontrar: ID=CCE(ID')
en donde CCE representa un mecanismo de corrección de errores (del tipo de los descritos en la obra "Codes Correcteurs, Théorie et Pratique" de A. Poli y L. Huguet, Editorial Masson) que está destinada a corregir las perturbaciones introducidas en el caso de una utilización ilícita de un r compuesto. El mecanismo de corrección puede omitirse; el algoritmo que permite seguir la huella del usuario deberá entonces ser sometido a modificaciones evidentes al facultativo, y utilizar varias cantidades análogas a c^{r} mod n, correspondientes a varias ejecuciones del algoritmo de cifrado de El Gamal.
El presente invento tiene un tercer objeto que consiste en presentar un segundo sistema de, secuestro de claves basado en el mecanismo de intercambio de claves denominado de Diffie-Hellman, mecanismo patentado bajo la referencia US 4,200,770.
En dicho sistema, un número c, obtenido elevando g a una potencia aleatoria a módulo n por una de las partes está interceptada por la autoridad de secuestro
c = g^{\alpha}modn
Dicha autoridad de secuestro encuentra a de la siguiente manera:
1.
Al conocer la factorización de n, la autoridad encontrada, mediante el algoritmo de descifrado tiene el valor
\alpha = a mod AB
ya sea
a = \alpha + \beta AB
2.
La autoridad calcula:
\lambda. =c/g^{\alpha}modn= g^{\beta AB} modn
(puesto que c = g^{a} mod n=g^{\alpha+\beta AB} mod n = g^{\alpha} g^{\beta AB} mod n)
3.
Al utilizar un algoritmo de criptanálisis (algoritmo de cálculo de logaritmos discretos, eventualmente ejecutado dos veces (módulo p y módulo q) con el fin de acelerar sus resultados), la autoridad calcula el logaritmo discreto \beta.
\lambda = g ^{AB)\beta} mod \ n
4.
La autoridad encuentra
a = \alpha + \beta AB
y descifra las comunicaciones basadas en el empleo de a.
La realización del invento se comprenderá mejor cuando se lea la descripción y los dibujos siguientes; en los dibujos adjuntos:
- la figura 1 representa el organigrama de un sistema de cifrado que aplica el sistema propuesto por el presente invento.
- la figura 2 representa el organigrama de un sistema de descifrado que aplica el sistema propuesto por el presente invento.
- la figura 3 representa los datos transmitidos entre el sistema de cifrado y el sistema de descifrado durante la transmisión asegurada de un mensaje m.
Según el invento propuesto, cada aparato de cifrado (típicamente un ordenador o una tarjeta con chip) está compuesta de una unidad de tratamiento (CPU), de una interfaz de comunicación, una memoria viva (RAM) y/o una memoria no inscriptible (ROM) y/o una memoria inscriptible (generalmente reinscriptible) (disco duro, disquete, EPROM o EEPROM).
El CPU y/o la ROM del aparato de cifrado contienen programas o recursos de cálculo que corresponden a las reglas de generación del criptograma (multiplicación, elevación al cuadrado y reducción modular). Algunas de estas operaciones pueden agruparse (por ejemplo, la reducción modular puede integrarse directamente en la multiplicación).
Del mismo modo que para la implementación del RSA, la RANI contiene típicamente el mensaje m, en el que se aplica el cifrado y las reglas de cálculo para la generación del criptograma. Los discos, E(E)PROM contienen por lo menos los parámetros n y g generados y utilizados como se especifica en la siguiente descripción.
El CPU dirige, vía los bus de dirección y datos, la interfaz de comunicación, las operaciones de lectura y de escritura memoria.
Cada aparato de descifrado (idéntico al aparato de secuestro de claves) está protegido necesariamente del mundo exterior mediante protecciones físicas o de software. Estas protecciones deberían ser suficientes para impedir a cualquier entidad no autorizada obtener la clave secreta constituida de los factores secretos de n. Las técnicas más utilizadas actualmente en la materia son la integración del chip en un módulo de seguridad y el equipamiento de los chips con dispositivos capaces de detectar variaciones. de temperatura; de luz, así como tensiones y frecuencias de reloj anormales. También se utilizan técnicas de concepción particulares, tales como la aleatorización del acceso memoria.
Según el invento propuesto, el aparato de descifrado está compuesto como mínimo de una unidad de tratamiento (CPU) y de recursos memoria (RAM, ROM, EEPROM o disco).
El CPU dirige, vía los bus de dirección y de datos, la interfaz de comunicación, las operaciones de lectura y de escritura memoria. La RAM, EEPROM o discos contienen el parámetro \phi(n) o, por lo menos, los factores de \phi(n).
El CPU y/o la ROM del aparato de descifrado contienen programas o recursos de cálculo que permiten implementar las diversas etapas del proceso de descifrado descritas anteriormente (multiplicación, exponenciación y reducción modular). Algunas de estas operaciones pueden agruparse (por ejemplo), la reducción modular puede integrarse directamente en la multiplicación).
En el marco general del invento propuesto, un cifrado del mensaje m se realiza al cambiar por lo menos el dato c entre la tarjeta, el aparato de firma y el aparato de verificación.

Claims (12)

1. Sistema criptográfico que comprende por lo menos un sistema de cifrado-descifrado que asocia los principios denominados del logaritmo discreto y de la factorización, que comprende entre otras cosas claves públicas y una clave secreta, caracterizado porque dichas claves públicas comprenden por lo menos:
a.
un módulo RSA n, de tamaño superior a 640 bits, teniendo la siguiente propiedad:
n= (Ap_{A}+1) \ X \ (Bp_{B}+1)
en la que:
p_{A} y p_{B} son números primos de tamaño superior a 320 bits,
(Ap_{A}+1) es un número primo RSA anotado p,
(Bp_{B}+1) es un número primo RSA anotado q,
A es el producto de k/2 (k es un número entero par comprendido entre 10 y 120) números primos (anotados p[i], i=1 a k/2) de tamaño relativamente pequeño (entre 2 y 16 bits) y
B es el producto de k/2 números primos (anotados todavía p[i], i=k/2+1 a k);
los p[i] tienen un tamaño relativamente pequeño (entre 2 y 16 bits), y pueden asimismo ser mutuamente primos;
b.
una base de exponenciación g, de orden \phi(n)/4 (o \phi(n) caracteriza la función indicadora de Euler), g no debe ser, por lo tanto, una potencia p[i]-^{e} módulo n de ningún número.
2. Sistema criptográfico según la reivindicación 1 que comprende por lo menos un sistema de cifrado-descifrado 1 caracterizado porque:
el cifrado de un mensaje m, m<AB, consiste en la operación:
c = g^{m} mod n,
en donde c representa el criptógrama (mensaje cifrado).
3. Sistema criptográfico según la reivindicación 2 que comprende un sistema de cifrado-descifrado caracterizado porque la integridad de m puede asegurarse por el cifrado de m | h(m),h que pone de relieve una función de troceado y | la concatenación), o por el cifrado de DES (clave, m), dicha clave es una clave accesible a todos.
4. Sistema criptográfico según la reivindicación 1 que comprende un sistema de cifrado-descifrado y un sistema de secuestro de claves 1 caracterizado porque:
dicha clave secreta del descifrador o del centro de secuestro es el número \phi(n), y porque la operación de descifrado o de recubrimiento de la identidad consiste en las siguientes etapas:
a.
calcular para i yendo de 1 a k: y[i]=c^{\phi(n)/p[i]}mod n;
b.
para i yendo de 1 a k
para j yendo de 1 a p[i]
comparar y[i] a los valores g^{j\phi(n)/p[i]}mod n independientes de m;
si g^{j\phi(n)/p[i]}mod n= y[i] entonces asignar \mu[i] = j
c.
volver a componer el mensaje a partir del teorema de los restos chinos TRC y de los valores \mu[i].
5. Sistema criptográfico según la reivindicación 4 ó 5 que comprende un sistema de cifrado-descifrado y un sistema de secuestro de claves caracterizado porque dicho descifrador acelera el cálculo de las cantidades y[i] al calcular:
a) z = c^{r} mod.n en donde r = P_{A}P_{B}
b) para i yendo de 1 a k:y[i]=z^{AB/p[i]} mod n,
de forma a beneficiarse de la diferencia de tamaño entre AB/p[i] y \phi(n)/p[i] para acelerar los cálculos.
6. Sistema criptográfico según la reivindicación 4 que comprende un sistema de cifrado-descifrado y un sistema de secuestro de claves o 5, caracterizado porque el descifrador calcula previamente y salvaguarda, de una vez para siempre, la tabla de los valores g^{j\phi(n)/p[i]} mod n para 1\leq i \leq k y 1\leq j \leq p[i]
o,
más específicamente un truncamiento o un troceado de estos valores (anotado h) que tienen la siguiente propiedad:
h \ (g^{j\phi (n)/p[i]} mod \ n) \neq h \ (g^{j\phi (n)/p[i]}mod \ n) \ si \ j \neq j'
7. Sistema criptográfico según cualquiera de las reivindicaciones 4 a 6, que comprende un sistema de cifrado-descifrado y un sistema de secuestro de claves caracterizado porque dicho descifrador acelera sus cálculos al descifrar por separado el mensaje módulo p, y seguidamente módulo q, y componiendo los resultados módulo mediante el teorema de los restos Chinos con objeto de encontrar m.
8. Sistema criptográfico según cualquiera de las reivindicaciones 4 a 7 caracterizado porque una autoridad o centro de secuestro de las claves realiza las siguientes etapas:
a.
codifica la identidad del usuario ID = \sum2^{i+1} ID[i] o ID[i] son los bits de la identidad de dicho usuario del sistema (la suma se considera para i yendo de 1 a k) calculando e (ID) = \Pip[i]^{ID[i]} (el producto se considera para i yendo de 1 a k);
b.
entrega al usuario una clave (es decir una base de exponenciación) El-Gamal C = ge(^{ID)u} mod n,
en la que u es un gran primo aleatorio o un número primo con \phi(n);
c.
de este modo hace posible que el usuario pueda derivar de c su clave pública El-Gamal al elegir un imprevisto aleatorio x y elevando c a la potencia x módulo n.
d.
con el fin de encontrar el rastro del usuario, la autoridad extrae del criptograma El-Gamal del cifrador, dicho criptograma comprende siempre dos partes, la parte:
v = c^{r}mod n
en donde r es el imprevisto aleatorio de cifrado elegido por el cifrador.
e.
Al conocer \phi(n), dicha autoridad descubre los bits ID[i] mediante el siguiente algoritmo:
1) calcular para i yendo de 1 a k: y[i] = v^{\phi(n)p[i]} mod n
2) si y[i]=1, entonces \mu[i]=l, en caso contrario \mu[i]=0
3) calcular
ID' =\sum2^{i-1} \ \mu [i]
4) encontrar ID-CCE(ID')
en el que CCE representa un mecanismo de corrección de errores.
9. Sistema criptográfico según cualquiera de las reivindicaciones 4 a 7, que comprende un sistema de secuestro de claves caracterizado porque se basa en el mecanismo de intercambio de claves, denominado de Diffie-Hellman, en el que un número c, obtenido elevando g a una potencia aleatoria a módulo n por una de las partes, se ve interceptado por dicha autoridad de secuestro:
c = g^{a}mod \ n
dicha autoridad de secuestro descubre a de la siguiente manera:
a.
al conocer la factorización de n, dicha autoridad descubre, mediante el algoritmo de descifrado, el valor
\alpha = a \ mod \ AB
ya sea
a= \alpha + \beta AB;
b.
dicha autoridad calcula: \lambda = c/g^{\alpha}mod n= g^{\beta AB} mod n
c.
al utilizar un algoritmo de criptanálisis, la autoridad calcula el logaritmo discreto \beta
\lambda= (g^{AB})^{\beta} mod \ n
d.
dicha autoridad encuentra
a = \alpha + \beta \ AB
y descifra las comunicaciones basadas en el empleo de a.
10. Sistema criptográfico según cualquiera de las reivindicaciones 2 a 9, que comprende un sistema de cifrado-descifrado y un sistema de secuestro de claves caracterizado porque el módulo RSA n es el producto de tres factores:
n= (Ap_{A}+1) \ x \ (Bp_{B}+1) \ x \ (Cp_{C}+1)
en el cual: P_{A}, P_{B}, P_{C} son números primos de tamaño superior a 320 bits
(Ap_{A}+1), (Bp_{B}+1), (Cp_{C}+1) son primos RSA, representados respectivamente p, q, r,
A, B y C son cada uno ell producto de k/3 números primos (anotados p[i], i=1 en k), los p[i] son de un tamaño relativamente pequeño (entre 2 y 16 bits) y pueden ser números mutuamente primos y k es un número entero comprendido entre 10 y 120, de tal modo que el producto ABC tenga por lo menos 160 bits.
11. Sistema criptográfico según cualquiera de las reivindicaciones 1 a 10, que comprende un sistema de cifrado-descifrado o de secuestro de claves caracterizado porque los aparatos de cifrado, descifrado y secuestro de claves son ordenadores, tarjetas con chip, tarjetas PCMCIA, insignias, tarjetas sin contacto o cualquier otro aparato portátil.
12. Sistema criptográfico que comprende un sistema criptográfico según cualquiera de las reivindicaciones precedentes caracterizado porque comprende un sistema de cifrado y/o un sistema de descifrado, y/o un sistema de secuestro de claves, dichos sistemas comunican entre sí mediante un intercambio de señales electrónicas, o mediante un intercambio de ondas radio o de señales infrarrojas.
ES98909555T 1997-02-19 1998-02-17 Sistema criptografico que comprende un sistema de cifrado y descifrado y un sistema de secuestro de claves. Expired - Lifetime ES2216276T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR9702244A FR2759806B1 (fr) 1997-02-19 1997-02-19 Systeme cryptographique comprenant un systeme de chiffrement et dechiffrement et un systeme de sequestre de cles, et les appareils et dispositifs associes
FR9702244 1997-02-19

Publications (1)

Publication Number Publication Date
ES2216276T3 true ES2216276T3 (es) 2004-10-16

Family

ID=9504156

Family Applications (1)

Application Number Title Priority Date Filing Date
ES98909555T Expired - Lifetime ES2216276T3 (es) 1997-02-19 1998-02-17 Sistema criptografico que comprende un sistema de cifrado y descifrado y un sistema de secuestro de claves.

Country Status (8)

Country Link
EP (1) EP0962069B1 (es)
JP (1) JP2001503164A (es)
CN (1) CN1248366A (es)
CA (1) CA2280952A1 (es)
DE (1) DE69821091T2 (es)
ES (1) ES2216276T3 (es)
FR (1) FR2759806B1 (es)
WO (1) WO1998037662A1 (es)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0924895B1 (en) * 1997-12-17 2009-07-08 Nippon Telegraph and Telephone Corporation Encryption and decryption devices for public-key cryptosystems and recording medium with their processing programs recorded thereon
US6959091B1 (en) * 2000-07-28 2005-10-25 Atmel Corporation Cryptography private key storage and recovery method and apparatus
CN100431294C (zh) * 2002-11-05 2008-11-05 管海明 基于亚群上离散对数问题的密钥分配及加解密协议的方法
FR2897742A1 (fr) * 2006-02-17 2007-08-24 France Telecom Codage/decodage perfectionnes de signaux numeriques, en particulier en quantification vectorielle avec codes a permutation
CN101631025B (zh) * 2009-08-07 2012-07-04 彭艳兵 一种加速rsa加解密的方法

Also Published As

Publication number Publication date
FR2759806B1 (fr) 1999-04-23
FR2759806A1 (fr) 1998-08-21
JP2001503164A (ja) 2001-03-06
EP0962069A1 (fr) 1999-12-08
CA2280952A1 (fr) 1998-08-27
CN1248366A (zh) 2000-03-22
DE69821091D1 (de) 2004-02-19
DE69821091T2 (de) 2004-09-02
EP0962069B1 (fr) 2004-01-14
WO1998037662A1 (fr) 1998-08-27

Similar Documents

Publication Publication Date Title
US7036015B2 (en) Verification protocol
US8464058B1 (en) Password-based cryptographic method and apparatus
US6665405B1 (en) Cyclotomic polynomial construction of discrete logarithm cryptosystems over finite fields
US7594261B2 (en) Cryptographic applications of the Cartier pairing
ES2548838T3 (es) Procedimiento para una firma digital múltiple
EP1471680B1 (en) Identifier-Based Encryption method and apparatus
CN104821880B (zh) 一种无证书广义代理签密方法
US9705683B2 (en) Verifiable implicit certificates
US20060098824A1 (en) Method and apparatus for providing short-term private keys in public key-cryptographic systems
Khan et al. Analysis of asymmetric cryptography in information security based on computational study to ensure confidentiality during information exchange
US20060026426A1 (en) Identifier-based signcryption with two trusted authorities
ES2216276T3 (es) Sistema criptografico que comprende un sistema de cifrado y descifrado y un sistema de secuestro de claves.
Zuccherato Elliptic curve cryptography support in entrust
US20050021973A1 (en) Cryptographic method and apparatus
Al-Kaabi et al. Methods toward enhancing RSA algorithm: a survey
US20050123131A1 (en) Cryptographic system comprising an encryption and decryption system and a key escrow system, and the associated equipment and devices
JP3894919B2 (ja) 電子署名方法とそのプログラム及び装置
Shepherd et al. The quadratic residue cipher and some notes on implementation
Issad et al. Secure Hybrid Crypto-system AES/RSA on FPGA for Data Communication
WO2023181134A1 (ja) 鍵配送システム、鍵配送方法及びプログラム
Al-Kaabi et al. ASurvey ON ENHANCED RSA ALGORITHMS
Moldovyan et al. Class of provably secure information authentication systems
Malik et al. On the quadratic reciprocity law
Maalavika et al. Performance Evaluation of RSA Type of Algorithm with Cuckoo Optimized Technique
US20060147039A1 (en) Data encryption method cryptographic system and associated component