ES2286910T3 - Procedimiento criptografico de claves publica y privada. - Google Patents
Procedimiento criptografico de claves publica y privada. Download PDFInfo
- Publication number
- ES2286910T3 ES2286910T3 ES99973617T ES99973617T ES2286910T3 ES 2286910 T3 ES2286910 T3 ES 2286910T3 ES 99973617 T ES99973617 T ES 99973617T ES 99973617 T ES99973617 T ES 99973617T ES 2286910 T3 ES2286910 T3 ES 2286910T3
- Authority
- ES
- Spain
- Prior art keywords
- cryptogram
- decoding
- procedure
- parameters
- procedure according
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/302—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Procedimiento de codificación par codificar un número m representativo de un mensaje con 0<_m<n, caracterizado en que se calcula un criptograma c=gmmod n2, n y g son parámetros de una clave pública.
Description
Procedimiento criptográfico de claves pública y
privada.
La presente invención se refiere a un
procedimiento criptográfico de claves pública y privada. Se utiliza
en todas las aplicaciones en las que es necesario garantizar la
confidencialidad de los mensajes transmitidos a cualquier canal y/o
identificar con certeza un dispositivo con el que se intercambian
mensajes.
La confidencialidad de los mensajes transmitidos
entre dos dispositivos A y B en un canal de comunicación cualquiera
se obtiene decodificando la información transmitida para resultar
ininteligible a las personas a quienes no está destinada. La
identificación segura de un dispositivo en que se basa el cálculo
de la firma digital de un mensaje.
En la práctica, pueden utilizarse dos tipos de
procedimiento criptográfico, el conocido como simétrico, de claves
secretas, del que un ejemplo muy conocido es el DES... y el
conocido como asimétrico, que utiliza un par de claves pública y
privada y que se describe en "Public_Key cryptosystem" en
"New directions in Cryptographie " IEEE Transactions on
Information Theory, nov. 1976, por MM Diffie y Hellman. Un ejemplo
muy conocido de procedimiento asimétrico es el RSA, que lleva el
nombre de sus inventores Ronald Rivest, Adi Shamir y Léonard
Adleman. Podemos encontrar una descripción de ese procedimiento RSA
en la patente US 4,405,829.
En la invención, nos interesamos particularmente
en un procedimiento criptográfico asimétrico.
Un procedimiento de codificación según un
procedimiento criptográfico asimétrico consiste principalmente,
para un emisor A que desea enviar confidencialmente un mensaje a
un destinatario B en informarse, p. ej. en un anuario, de la clave
pública K_{B} del destinatario B, que deberá aplicarse en el
procedimiento de codificación E en el mensaje a que debe
transmitirse, y en enviar al destinatario B, el criptograma c
resultante:
c = E_{K \
B}(m).
Este procedimiento consiste principalmente para
el destinatario B, en recibir el criptograma c, y en decodificarlo
para obtener el mensaje de origen m, aplicando la clave privada K'b
que es el único en conocer en el procedimiento de decodificación D
en el criptograma c:m=D_{K'B}(c).
Según este procedimiento cualquier persona puede
enviar un mensaje codificado al destinatario B, pero solamente
éste último es capaz de decodificarlo.
Habitualmente se utiliza un procedimiento
criptográfico asimétrico para la generación/verificación de la
firma. En este contexto, un usuario que desea probar su identidad
utilizar una clave privada, que sólo él mismo conoce, para producir
una firma digital s de un mensaje m, firma que transmite al
dispositivo destinatario. Éste último lleva a cabo la verificación
de la firma utilizando la clave pública del usuario. Así, todos los
dispositivos son capaces de verificar la firma de los usuarios,
informándose de la clave pública de dicho usuario y aplicándola en
el algoritmo de verificación. Pero sólo el usuario concernido es
capaz de generar la buena firma utilizando su clave privada. Este
procedimiento se utiliza mucho por ejemplo en los sistemas de
control de acceso o de transacciones bancarias. Generalmente, está
acoplado al uso de un procedimiento de codificado para codificar la
firma antes de transmitirla.
Para esta generación/verificación de firmas
digitales, se puedes utilizar en la práctica procedimientos
criptográficos asimétricos destinados a esta aplicación, tal como
el DSA (Digital Signatura Algorithm), que corresponde a un estándar
americano propuesto por el US Nacional Institute of Standards and
Technology. Además, se puede utilizar el RSA que tiene la propiedad
de poder utilizarse tanto en codificación como en generación de
firma.
En la invención, nos interesamos a un
procedimiento criptográfico que puede utilizarse para la
codificación de los mensajes y para la generación de firma digital.
En el estado actual de la técnica, sólo el RSA, del que existen
numerosas variantes de aplicación, ofrece esta doble
funcionalidad.
El RSA comprende una etapa de generación de
claves pública K y privada K' para un dispositivo dado en el que se
procede del siguiente modo:
se eligen dos grandes números primos p y q,
distintos,
- -
- se calcula su producto n=p.q.
- -
- se elige un número c primo con el más pequeño común múltiple de (p-1)(q-1). En la práctica, se toma a menudo e como igual a 3.
La clave pública K está formada entonces por el
par de parámetros (n,e) y la clave secreta K' está formada por el
par de parámetros (p,q).
\newpage
Si se elige p y q de gran tamaño, su producto n
será igualmente de gran tamaño. Por tanto, n es muy difícil de
factorizar. Podemos estar seguros que no se podrá descubrir la
clave secreta K'=(p,q) cuando se conoce n.
El procedimiento de codificación de un número m
que representa un mensaje M, 0\leqm<n consiste entonces en
efectuar el cálculo siguiente:
c =
EB(m) = m^{c}mod
n
mediante la clave pública
K=(n,e).
(Ver p. ej. el documento D1: Yasuko Gotoh y al.
"A method for rapad rsa key generation", Systems &
Computers in Japan, vol. 21, n° 8, 1 de enero de 1990, páginas
11-20, XP000177817, ISSN
0882-1666).
El procedimiento de decodificación consiste en
el siguiente cálculo inverso:
m=c^{d}mod(n)
mediante la clave privada K'=(p,q),
guardada secreta,
donde
Hemos visto que el RSA tiene la particularidad
de poder utilizarse para la verificación de la firma. El
procedimiento correspondiente de generación de firma por un
usuario A consiste en utilizar el procedimiento de decodificación
con la clave secreta para producir la firma s d un número m
representativo de un mensaje. De este modo, tenemos:
s=m^{d}mod n.
s=m^{d}mod n.
Esta firma s se transmite a un destinatario B.
Este último, que conoce m (p. ej. A transmite s y m), verifica la
firma efectuando la operación inversa, es decir usando el
procedimiento de codificación con la clave pública del emisor A. Es
decir que calcula v=s^{e}mod n, y verifica v=m.
Por lo general, para mejorar la seguridad de
este tipo de procedimiento de verificación de firma, se aplica
previamente una función de troceado en el número m antes de
calcular la firma, que puede consistir en permutaciones de bits y/o
una compresión.
Cuando hablamos de mensaje M por codificar o por
firmar, se trata evidentemente de mensajes digitales, que pueden
resultar de una codificación numérica previa. En la práctica, son
cadenas de bits, cuyo tamaño binario (número de bits) puede ser
variable.
Ahora bien, un procedimiento de criptografía
como el RSA es tal que permite codificar con la clave pública (n,e)
cualquier número entre 0 y n-1. Para aplicarlo al
mensaje M de tamaño cualquiera, es necesario en la práctica cortar
este mensaje en una serie de números m que verificarán cada uno de
ellos la condición 0\leqm<n. Entonces se aplica el
procedimiento de codificación en cada uno de esos números. En el
resto del documento, nos interesamos a la aplicación del
procedimiento criptográfico en un número m representativo del
mensaje M. m puede ser igual a M, o sólo una parte de él. En el
resto del documento designaremos indiferentemente por m el mensaje
o un número representativo del mensaje.
Uno de los objetos de la invención, es un
procedimiento de criptografía asimétrico diferente de aquellos que
se basan en el RSA.
Uno de los objetos de la invención, es un
procedimiento que se basa en otras propiedades, que pueda aplicarse
tanto en codificación de mensajes como en generación de
firmas.
Uno de los objetos de la invención, es un
procedimiento de criptografía, que permita, en ciertas
configuraciones, un tiempo de tratamiento más rápido.
Tal como se ha caracterizado, la invención se
refiere a un procedimiento criptográfico según la reivindicación
1.
La invención se comprenderá mejor cuando se lea
la siguiente descripción, que se hace a título indicativo y en
absoluto limitativo de la invención y en referencia a los dibujos
anexados en los que:
- la figura 1 es un esquema funcional de un
sistema de comunicación criptográfico de tipo asimétrico;
\newpage
- la figura 2 es un esquema funcional de un
dispositivo comunicante utilizado en un sistema de comunicación
criptográfica según la invención;
- la figura 3 es un organigrama de una sesión de
codificación/decodificaron de mensajes que utiliza el procedimiento
criptográfico según la invención; y
- la figura 4 es un organigrama de una sesión de
generación/verificación de firma que utiliza el procedimiento
criptográfico según la invención.
Para comprender debidamente la invención, es
preciso describir algunos preliminares matemáticos.
En la descripción, se utilizan las siguientes
notaciones matemáticas:
(1) Si a es un entero relativo y b u entero
estrictamente positivo, a mod b (a módulo b) es el residuo modular
de a relativamente a b y designa el único entero estrictamente
inferior a b, tal como b divide (a - a mod b).
(2) (Z/bZ) designa el conjunto de los residuos
módulo b y forma un grupo para la adición modular.
(3) (Z/bZ)* designa el conjunto de los enteros
invertibles módulo b y forma un grupo para la multiplicación
modular.
(4) La orden de un elemento a de (Z/bZ)* es el
más pequeño entero natural ord(a,b) tal que
a^{ord(a,b)} = 1 mod b.
(5) PPCM(a,b) designa el más pequeño
común múltiple de a y b.
(6) PGCD(a,b) designa el mayor común
divisor de a y b.
(7) \lambda(a) designa el indicador de
Euler de a. Si a=p.q,
\lambda(a)=PPCM(p-1,q-1).
(8) Anotamos X=TRC (a_{1}, ...a_{k},
b_{1}, ...b_{k}) la única solución obtenida por la aflicción
del Teorema del Resto chino muy conocido, del siguiente sistema de
ecuaciones modulares:
- x=a_{1} mod b_{1}
- x=a_{2} mod b_{2}
- x=a_{k} mod b_{k}
en el que se dan los enteros a_{1} y b_{1} y
donde, \foralli,j con i\neqj, PGCD(bi, b_{j}) =1 .
(9) Recordamos que el tamaño binario de un
número a es el número de bits en los que se escribe a.
Ya sea ahora un número n, entero, de tamaño
arbitrario. El conjunto Un={x<n^{2}/x=1 mod n} es un subgrupo
multiplicativo de (Z/n^{2}Z)*.
Ya sea Log_{n} la función definida en el
conjunto Un por:
Esta función tiene la siguiente propiedad:
\forall x
\in Un, \forall y\in Un, log_{n} (xy
mod n^{2}) =log_{n} (x) +log_{n} (y) mod
n.
Por consiguiente: si g es un número entero
arbitrario perteneciente a Un, tenemos para todo número m,
0\leqm<n:
Esta propiedad matemática está en la base del
procedimiento de criptografía que se aplica en la invención y que
pasamos a describir ahora.
La figura 1 representa un sistema de
comunicación criptográfico, que utiliza un procedimiento
criptográfico asimétrico. Comprende dispositivos comunicantes, en
el ejemplo A y B, en un canal de comunicación. En el ejemplo,
hemos representado un canal bidireccional. Cada dispositivo
contiene un par de claves pública K y privada K'.
Las claves públicas se publican por ejemplo en
un fichero público, tal como un anuario, que puede consultar cada
dispositivo. En este fichero público, también encontraremos la
clave pública K_{A} del dispositivo A y la de K_{B} del
dispositivo B. Éste conserva la clave privada K' de cada
dispositivo de manera secreta, típicamente en una zona asegurada de
memoria no volátil. El dispositivo A contiene asimismo en memoria
secreta su clave privada K'_{A} y el dispositivo B contiene
igualmente en memoria secreta su clave privada K'_{B}. De este
modo conservan su clave pública, pero en una zona memoria sin
protección de acceso particular.
En este tipo de sistema, el dispositivo A puede
codificar un mensaje m en un criptograma C_{A} utilizando la
clave pública K_{B} del dispositivo B; éste último puede
decodificar C_{A} utilizando su clave privada K'_{B}, la cual
conserva secretamente. Al contrario, el dispositivo B puede
codificar un mensaje m en un criptograma C_{B} usando la clave
pública K_{A}, del dispositivo A; éste último puede decodificar
C_{B} usando su clave privada K'_{A}, la cual conserva
secretamente.
Típicamente, cada dispositivo comprende por lo
menos, al igual que se ha representado en la figura 2, medios de
tratamiento 10, es decir una unidad central de tratamiento (CPU),
que comprende principalmente distintos registros R para el cálculo,
una interfaz de comunicación, y medios de memorización. Estos
medios de memorización comprenden generalmente una memoria programa
12 (ROM, EPROM, EEPROM) y una memoria de trabajo (RAM) 13. En la
práctica, cada dispositivo conserva sus datos secretos en una zona
de acceso asegurada 120 prevista en memoria programa y sus datos
públicos en una zona de acceso normal de esta memoria. La memoria
de trabajo permite conservar momentáneamente, el tiempo necesario
para los cálculos, mensajes por codificar, criptogramas por
decodificar, e incluso resultados de cálculos intermedios.
Los medios de tratamiento y de memorización
también permiten ejecutar programas relacionados con la aplicación,
y principalmente efectuar los cálculos que corresponden a la
aplicación del procedimiento de criptografía para el
codificado/decodificado de mensajes y/o la generación/verificación
de firmas según la invención. Estos cálculos comprenden
principalmente, como ya lo veremos de manera detallada en el resto
del documento, elevaciones a la potencia, residuos e inversiones
modulares.
Los dispositivos puede incluso comprender un
generador 14 de número aleatorio o
pseudos-aleatorio r, que puede intervenir en los
cálculos citados anteriormente, en ciertas variantes de
realización. Este generador se ha encuadrado en punteado en la
figura 2, para indicar que no es necesario para la realización de
todas las variantes de realización según la invención.
Todos estos medios del dispositivo están
conectados a un bus de direcciones y de datos 15.
Estos dispositivos utilizados en la invención
son muy conocidos, y corresponden por ejemplo a aquellos que se
utilizan en los sistemas de comunicación criptográfica del estado
de la técnica, que aplica el RSA. Por tanto, no los detallaremos
más adelante. Un ejemplo práctico de sistema de comunicación
criptográfico, es el sistema formado por servidores bancarios y
tarjetas con chip, para la gestión de transacciones financieras.
Peo existen numerosas otras aflicciones, tal como las aplicaciones
relacionadas con el comercio electrónico.
Ahora, vamos a pasar a detallar un primer modo
de realización de la invención, con respecto al organigrama
representado en la figura 3.
Este organigrama representa una secuencia de
comunicación entre un dispositivo A y un dispositivo B en un canal
de comunicación 20. Estos dispositivos comprenden como mínimo los
medios de tratamiento, memorización y comunicación en relación con
la figura 2.
El procedimiento de criptografía según la
invención comprende un procedimiento de generación de claves
pública K y privada K'.
Según la invención, este procedimiento de
generación de claves pública y privada de un dispositivo comprende
las siguientes etapas que ya se conocen en el documento de YASUKO
GOTOH et al. publicado en Enero de 1990 en JAPÓN, con las
referencias XP000177817, ISSN: 0882-1666, vol. 21 nº
8, páginas 11-20 de "a method for rapid RSA Key
generation" de la obra "Systems & Computers":
- selección de dos grandes números primos p y q
distintos y de tamaño vecino;
- cálculo del número n igual al producto
p.q;
- cálculo del número \lambda (n)= PPCM
(p-1, q-1), es decir de la función
de Carmichael del número n;
- determinación de un número g,
0\leqg<n^{2} que cumple con las dos condiciones
siguientes:
- a)
- g es invertible módulo n^{2} y
- b)
- ord(g,n^{2})=1 mod n.
\newpage
\global\parskip0.970000\baselineskip
Esta condición b) indica que el orden del número
g en el conjunto (Z/n^{2}Z)* de los números enteros de 0 a
n^{2} es un múltiple no nulo del número n, según las notaciones
definidas anteriormente.
La clave pública K está formada entonces por el
número n y el número g. La clave privada está formada por los
números p,q y \lambda, (n) o solo por los números p y q,
\lambda(n) pudiéndose recalcular en cada uso de la clave
secreta.
Según este procedimiento se generan las claves
pública y privada de cada dispositivo. Esta generación puede
efectuarse, según los dispositivos considerados y las aplicaciones,
por los mismos dispositivos o por órgano externo.
Cada dispositivo, por ejemplo el dispositivo A,
contiene en memoria su clave pública K_{A}= (n_{A}, g_{A}) y,
de manera secreta, su clave privada K'_{A}=
(p_{A},q_{A}).
Además, las claves públicas se ponen en un
fichero accesible al público.
Según la invención, podremos ver a continuación
que consiste en atribuir un valor particular a g. En efecto,
resulta ventajoso elegir g=2, cuando es posible, es decir, cuando
g=2 cumple las condiciones a) y b) del procedimiento de generación
de firma según la invención.
Un procedimiento de codificación según un primer
modo de realización del procedimiento criptográfico de la invención
aplicado en el dispositivo A consiste entonces, para el envío de
un mensaje al dispositivo B, en la realización de las siguientes
etapas, con 0\leqm<n:
- información de los parámetros n y g del
procedimiento de codificación aplicado por el dispositivo A por la
clave pública K_{B} del segundo dispositivo
B:n=n_{B},g=g_{B}
- cálculo del criptograma c=g^{m}mod n^{2},
y
- transmisión del criptograma c al canal de
comunicación.
El procedimiento de codificación según un primer
modo de realización de la invención consiste en tomar el parámetro
g de la clave pública, elevarlo a la potencia m, y calcular el
residuo modular relativamente a n^{2}. Notaremos que en el RSA,
es el mensaje m el que se eleva a la potencia cuando en la
invención, el mensaje m se usa como exponente.
El dispositivo B que recibe el mensaje
codificado, es decir el criptograma c, aplica entonces un
procedimiento de decodificación según la invención con los
parámetros de su clave privada. Este procedimiento de
decodificación comprende el siguiente cálculo:
- cálculo del número m tal que
en
donde
Si g=2, vemos que el cálculo de elevación de g a
la potencia resulta facilitado. Así pues, tomaremos preferiblemente
g=2, cada vez que esto sea posible. En otros términos, el
procedimiento de generación de la clave comenzará por intentar si
g=2 cumple las condiciones a) y b).
Pueden aplicarse diferentes variantes de cálculo
del procedimiento de decodificación, las cuales permiten, cuando
el dispositivo debe decodificar un gran número de criptogramas,
precalcular ciertas cantidades y conservarlas de manera secreta en
el dispositivo. Una contrapartida es que la zona memoria secreta
(zona 120 en la figura 2) del dispositivo debe ser más amplia,
puesto que debe contener entonces parámetros suplementarios además
de los parámetros p y q. Esto tiene una influencia en la elección
de la aplicación de una u otra variante. En efecto, la realización
de una zona memoria asegurada resulta costosa, y por tanto su
capacidad (memoria) está generalmente limitada, principalmente en
los dispositivos dichos a bajo coste (por ejemplo, ciertos tipos de
tarjetas con chip).
En una primera variante de aplicación del
procedimiento de decodificación, se prevé que el dispositivo, B en
este caso, precalcule de una vez por todas la cantidad
y la conserve secreta en
memoria.
\global\parskip1.000000\baselineskip
Así, se reduce otro tanto el tiempo necesario
para la decodificación de cada uno de los mensajes recibidos por el
dispositivo. En efecto, cuando el dispositivo B ejecuta una
instancia de esta variante del procedimiento de decodificación,
sólo le queda por calcular:
En una segunda variante de aplicación del
procedimiento de decodificación según la invención, se prevé
utilizar el Teorema de Reste Chino, para una mejor eficacia
(rapidez del cálculo).
En una instancia de esta segunda variante del
procedimiento de decodificación, el dispositivo efectúa los
siguientes cálculos (de decodificación):
donde
En este caso, se puede prever además, en el
supuesto de que el dispositivo estuviese obligado a decodificar un
gran número de mensajes, que el dispositivo precalcule de una vez
por todas las siguientes cantidades:
y
El dispositivo debe conservar entonces estas
cantidades como datos secretos.
El cálculo efectuado durante una instancia del
procedimiento de decodificación pasa a ser:
Como ya lo especificamos, todas sus variantes de
cálculo de decodificación son interesantes cuando el dispositivo
se ve obligado a decodificar un gran número de mensajes, y cuando
el ahorro en tiempo de tratamiento compensa la mayor capacidad
memoria de la zona asegurada para conservar todos los datos
secretos. La elección de una u otra variante depende en la práctica
de la aplicación considerada y de las obligaciones de coste y
tiempo de tratamiento que deben conciliarse.
Un segundo modo de realización de la invención
comprende la utilización de un número aleatorio, suministrado por
un generador de número aleatorio (o pseudoaleatorio), en el
procedimiento de codificación, de modo que para un mismo mensaje m
a transmitir, el criptograma calculado c será distinto cada vez. La
seguridad del sistema de comunicación es por tanto mayor. El
procedimiento de decodificación permanece invariable.
Este segundo modo de realización de la invención
comprende dos variantes.
En una primera variante, el criptograma c se
obtiene mediante el siguiente cálculo: c=g^{m+nr} mod
n^{2}.
En una segunda variante, el criptograma c se
obtiene mediante el siguiente cálculo: c=g^{m} r^{n} mod
n^{2}.
Esta segunda variante necesita en la práctica un
tiempo de tratamiento más largo que la primera, pero ofrece una
mayor seguridad.
En un tercer modo de realización de la
invención, se impone que el orden de g en (Z/n^{2}Z)* sea un
entero de pequeño tamaño, esto se obtiene mediante la aplicación
del procedimiento distinto de generación de las claves.
Con esta condición en el orden del parámetro g,
se reduce la complejidad del cálculo del procedimiento de
decodificación que pasa a ser en la práctica cuadrático (función
de n^{2}) con relación al tamaño del número n.
En este tercer modo de realización de la
invención, el procedimiento de generación de las claves pública y
privada es el siguiente:
- selección en secreto, de un entero u y de dos
grandes números primos p y q distintos y de tamaño vecino, tal que
u divide (p-1) y divide (q-1).
- cálculo del número n igual al producto
p.q;
- cálculo del número
\lambda(n)=PPCM(p-1,
q-1), es decir del indicador de Carmichael del
número n;
- determinación de un número h,
0\leqh<n^{2}, que cumple las siguientes condiciones:
- a)
- h es invertible módulo n^{2} y
- b)
- ord(h n^{2})=0 mod n.
- cálculo del número g= h^{\lambda (n)/u} mod
n^{2}.
La clave pública K está entonces formada por el
número n y el número g. la calve privada está constituida por los
enteros (p,q,u) conservados secretamente en el dispositivo.
Preferiblemente, elegimos h=2, cuando esto es
posible (es decir si h=2 cumple las condiciones a) y b), para
facilitar el cálculo de g).
Podemos observar que si
u=PGCD(p-1,q-1), ya no es
necesario conservar este número que puede encontrarse por el
dispositivo a partir de p y q.
Preferiblemente, elegiremos u primo, para
mejorar la seguridad del procedimiento, y de pequeño tamaño,
típicamente 160 bits. Al elegir una pequeña dimensión para u,
veremos que se facilita el cálculo de decodificación.
En este tercer modo de realización, la
aplicación del procedimiento de codificación para codificar un
mensaje m es idéntica a aquella descrita anteriormente en el primer
modo de realización de la invención, el criptograma es igual a
c=g^{m} mod n^{2}.
También podemos calcular el criptograma c
utilizando una variable aleatoria r según la primera variante del
segundo modo de realización de la invención anteriormente descrita.
R es entonces un entero aleatorio, del mismo tamaño que u y el
criptograma se obtiene mediante el siguiente cálculo: c=g^{m+nr}
mod n^{2}.
El criptograma c calculado según una u otra de
las aplicaciones anteriores del procedimiento de codificación se
envía al dispositivo B que debe decodificarlo. La aplicación del
procedimiento de decodificación por el dispositivo B que recibe el
mensaje es un poco diferente.
En efecto, el cálculo efectuado en el
dispositivo en una instancia de decodificación, para encontrar el
número m a partir del criptograma c es el siguiente:
Podemos aplicar al igual que anteriormente
variantes de cálculo que permiten acelerar el tiempo de tratamiento
necesario.
En una primera variante, precalcularemos de una
vez la cantidad:
y conservarla secretamente en
memoria.
Durante una instancia de decodificación de un
criptograma c recibido, sólo le queda al dispositivo efectuar el
siguiente cálculo:
En una segunda variante, aplicamos el Teorema
del Resto chino, utilizando las funciones lo_{p} y log_{q} que
ya hemos visto para efectuar el cálculo de la decodificación.
Durante una instancia de esta variante del
procedimiento de decodificación del criptograma c recibido, el
dispositivo efectúa entonces los siguientes cálculos:
En una tercera variante, aceleramos más el
tiempo de tratamiento necesario para la decodificación del
criptograma c según la segunda variante, precalculando las
siguientes cantidades:
y conservándolas de manera secreta
en el
dispositivo.
Durante una instancia d cálculo de esta tercera
variante del procedimiento de decodificación del criptograma c
recibido, el dispositivo sólo tiene que efectuar los siguientes
cálculos:
En un cuarto modo de realización de la
invención, el procedimiento de codificación y el procedimiento de
decodificación son tales que presentan la particularidad de ser
permutaciones en el grupo de los enteros módulo n^{2}. En otros
términos, si el mensaje m se expresa en K bits, el criptograma c
obtenido al aplicar el procedimiento de codificación en m y la
firma s obtenida al aplicar el procedimiento de decodificación en m
también están en K bits.
Esta particularidad confiere al procedimiento
criptográfico la propiedad suplementaria de poder ser utilizado
tanto en codificación/decodificación que en generación/verificación
de firma. En este caso, el procedimiento de decodificación se
emplea como procedimiento de generación de firma y el procedimiento
de codificación como procedimiento de verificación de firma.
En este cuarto modo de realización, el
procedimiento de generación de las claves pública y privada es el
mismo que aquel del primer modo de realización de la invención:
K=(n,g) y K'=(p,q,\lambda(n)) o K'=(p,q).
Si el dispositivo A desea enviar un mensaje m
codificado al dispositivo B, se proporciona la clave pública (n,
g) de éste último, luego en una instancia del procedimiento de
codificación efectúa entonces los siguientes cálculos, aplicado al
número m, 0\leqm<n^{2}:
Este es el criptograma c que se envía al
dispositivo B.
Éste último debe aplicarle el procedimiento de
decodificación correspondiente, para encontrar m_{1}, m_{2} y
finalmente m. Este procedimiento de decodificación según el cuarto
modo de realización de la invención consiste en efectuar los
siguientes cálculos:
Al igual que anteriormente, se aplican variantes
del procedimiento de decodificación según este cuarto modo de
realización de la invención, que permiten reducir el tiempo de
tratamiento necesario para decodificar un mensaje dado. Éstas son
interesantes cuando el dispositivo tiene un gran número de
criptogramas por decodificar.
Una primera variante consiste en precalcular las
siguientes cantidades:
y
que el dispositivo B calcula de una
vez y conserva secretas en
memoria.
A cada nueva instancia de decodificación de un
criptograma c recibido según esta primera variante, el dispositivo
B sólo ha de efectuar los siguientes cálculos:
En una segunda variante de la aplicación del
procedimiento de decodificación según el cuarto modo de
realización, se utiliza el Teorema del resto chino.
El dispositivo que desea decodificar un
criptograma c según esta segunda variante efectúa entonces los
siguientes cálculos sucesivos:
En una tercera variante, para mejorar aún más el
tiempo de tratamiento de decodificación de esta segunda variante,
el dispositivo B puede precalcular de una vez las siguientes
cantidades:
y conservarlas secretas en
memoria.
El dispositivo que desea decodificar un
criptograma c según esta tercera variante sólo tiene que efectuar
los siguientes cálculos:
El cuarto modo de realización de la invención
que acaba de describirse permite efectuar la
generación/verificación de firma. Como se ha representado en el
organigrama de la figura 4, si el dispositivo B debe generar una
firma s de un número m representativo de un mensaje hacia el
dispositivo A, aplica como procedimiento de generación de la firma,
el procedimiento de decodificación con su clave privada:
s=D_{K.B}(m).
El dispositivo A que recibe la firma s y que
conoce el mensaje m, verifica que la firma sea buena calculando la
cantidad v obtenida al aplicar el procedimiento de codificación en
la firma s con la clave pública: V=E_{KB}(S). Si la firma
es buena, tenemos a v=m.
Todas las variantes de aplicación del
procedimiento de decodificación de este cuarto modo de realización
que permiten acelerar el tiempo de tratamiento se aplican asimismo
en generación/verificación de firma.
La invención que acaba de describirse es
aplicable en todos los sistemas en los que se desea poder codificar
y/o firmar mensajes. Permite ampliar las posibilidades de
adaptación a las distintas aplicaciones, según si se busca mayor
seguridad, o una velocidad de tratamiento incrementada. A este
respecto, observaremos que el tercer modo de realización de la
invención, cuya complejidad de cálculo es solamente cuadrática
(función de n^{2}) ofrece una verdadera ventaja en términos de
velocidad, en la medida en que todos los procedimientos del estado
de la técnica tienen u orden de complejidad superior (función de
n^{3}). Esta ventaja interesa más particularmente todas las
aplicaciones que utilizan dispositivos portátiles, como por ejemplo
las tarjetas con chip y especialmente los dispositivos de bajo
coste.
Por último, cualquier persona experimentada en
la técnica concernida por la invención comprenderá que pueden
efectuarse modificaciones en la forma y/o en los detalles. En
particular, se puede codificar la firma, e incluso aplicar una
función de troceado en el mensaje m antes de calcular su firma.
Esto permite principalmente tener una firma distinta cada vez,
aunque el mensaje m sea el mismo.
Claims (26)
1. Procedimiento de codificación par codificar
un número m representativo de un mensaje con 0\leqm<n,
caracterizado en que se calcula un criptograma c=g^{m}mod
n^{2}, n y g son parámetros de una clave pública.
2. Procedimiento de codificación según la
reivindicación 1, en el transcurso de la cual se calcula el
criptograma c=g^{m+nr}mod (n^{2}) , r es un número entero
aleatorio elegido ante del cálculo del criptograma c.
3. Procedimiento de codificación según la
reivindicación 1, en el transcurso de la cual se calcula el
criptograma c=g^{m}r^{n}mod (n^{2}), r es un número enero
aleatorio elegido antes del cálculo del criptograma c.
4. Procedimiento de codificación según la
reivindicación 1, en el transcurso de la cual, para codificar el
número m, con 0\leqm<n^{2}, e calcula el criptograma c según
las siguientes etapas:
- 1.
- m_{1}=m mod n
- 2.
- m_{2}= (m-m1)/n
- 3.
- c=g^{m \ 1} m_{2}^{n} mod n^{2}.
5. Procedimiento de decodificación para
decodificar un criptograma c obtenido por un procedimiento de
codificación según una de las reivindicaciones 1 a 3 y a producir
un número m asociado, caracterizado en que se calcula el
número m:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
con
log_{n}(x)-(x-1)/n para x un entero
cualesquiera y \lambda(n) uno más pequeño común múltiple
de los número p-1 y q-1, n y g son
parámetros de una clave pública K, y p y q son parámetros de una
clave privada K'
asociada.
6. Procedimiento de decodificación según la
reivindicación 5, en el transcurso de la cual se precalcula y
memoriza la cantidad:
\vskip1.000000\baselineskip
7. Procedimiento de decodificación según la
reivindicación 5, en el transcurso de la cual el cálculo de m se
divide según las siguientes etapas, utilizando el Teorema del
Resto Chino TRC:
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
y con
log_{q}(x)=(x-1)/q para x un entero
cualesquiera.
8. Procedimiento de decodificación según la
reivindicación 7, en le transcurso de la cual se precalculan y
memorizan las siguientes cantidades:
\vskip1.000000\baselineskip
y
9. Procedimiento de decodificación para
decodificar un criptograma c obtenido mediante un procedimiento de
codificación según la reivindicación 4 y producir un número m
asociado, caracterizado en que se calcula el número m según
las siguientes etapas:
con
log_{q}(x)-(x-1)/n para x un entero
cualesquiera y \lambda(n) el más pequeño común múltiple de
los números p-1 y q-1, n y g son
parámetros de una clave pública K, y p y q son parámetros de una
clave privada K'
asociada.
10. Procedimiento de decodificación según la
reivindicación 9, en el transcurso de la cual se precalculan y
memorizan las siguientes cantidades:
y
11. Procedimiento de decodificación según la
reivindicación 9, en el transcurso de la cual el cálculo de m se
divide según las siguientes etapas, utilizando el Teorema del
resto chino:
y con
log_{q}(x)=(x-1)/q para x un entero
cualesquiera.
12. Procedimiento de decodificación según la
reivindicación 11, en el transcurso de la cual se precalculan y se
memorizan las siguientes cantidades:
13. Procedimiento de decodificación para
decodificar un criptograma recibido c obtenido mediante un
procedimiento de codificación según una de las reivindicaciones 1 a
3 y producir u número m asociado caracterizado en que se
calcula el número m:
con
log_{q}(x)=(x-1)/q para x un entero
cualesquiera, n y g so parámetros de una clave pública K, y p, q, u
son parámetros de una clave privada K'
asociada.
14. Procedimiento de decodificación según la
reivindicación 13, en el transcurso de la cual se precalcula y
memoriza la cantidad:
15. Procedimiento de decodificación según la
reivindicación 13, en el transcurso de la cual el cálculo de m se
divide según las siguientes etapas, utilizando el Teorema del
resto chino:
y con
log_{q}(x)=(x-l)/q para x un entero
cualesquiera.
16. Procedimiento de decodificación según la
reivindicación 15 en el transcurso de la cual se precalculan se
memorizan las siguientes cantidades:
17. Procedimiento de generación de claves
pública K y privada K', susceptible de utilizarse para la
aplicación de un procedimiento de codificación según una de las
reivindicaciones 1 a 4 o de un procedimiento de decodificación
según una de las reivindicaciones 5 a 16, la clave privada debe
conservarse de manera secreta y la pública debe difundirse
públicamente, el procedimiento de generación de clave se
caracteriza en que comprende las siguientes etapas:
- seleccionar dos números primos p y q distintos
de tamaño vecino;
- calcular un número n igual al producto
p.q;
- verificar que un número g = 2,
0\leqg<n^{2} verifica las dos condiciones siguientes:
- a)
- g es invertible módulo n^{2} y
- b)
- ord(g,n^{2}) = 1 mod n,
la clave pública K está formada por los
parámetros n y g y
la clave privada K' está formada por los
parámetros p y q.
18. Procedimiento de generación de clave según
la reivindicación 17, que comprende igualmente la siguiente
etapa:
- calcular un más pequeño común múltiple de los
números (p-1) y (q-1):
\lambda(n)=PPCM(p-1,
q-1)
la clave privada K' está formada entonces por
los parámetros p, q y \lambda(n).
19. Procedimiento de generación de clave según
la reivindicación 18, que comprende igualmente las siguientes
etapas:
- seleccionar un número entero u tal como u
divide p y u divide q,
- calcular un número g'= g^{\lambda (n)/u} mod
n^{2},
la clave pública K está formada entonces por los
parámetros n y g', y la clave privada K' está formada por los
parámetros p, q y u.
20. Procedimiento de firma para calcular una
firma s de un mensaje m, caracterizado en que comprende una
etapa que consiste en ejecutar el procedimiento de decodificación
según una de las reivindicaciones 9 a 12 al reemplazar el
criptograma c por el mensaje m en el procedimiento de
decodificación, el número asociado producido es la firma s.
21. Procedimiento de verificación de firma, para
verificar una firma s de un número m representativo de un mensaje
caracterizado en que comprende las siguientes etapas:
- producir una cantidad v ejecutando el procedimiento de codificación según la reivindicación 4 al reemplazar el número m por la firma s en el procedimiento de codificación,
- verificar que la cantidad v es igual al número m.
22. Sistema de comunicación criptográfico con
claves pública y privada obtenidas mediante un procedimiento de
generación de claves según una de las reivindicaciones 17 a 19,
que comprende un canal de comunicación (20) y dispositivos de
comunicación (A, B), cada dispositivo de comunicación comprende
como mínimo una interfaz de comunicación (11), medios de
tratamiento de datos (10) y medios de memorización (12,13),
caracterizado en que:
- un primer dispositivo (A) comprende medios
para calcular un criptograma c=g^{m}mod n^{2} de un número m
representativo de un mensaje, n y g son parámetros de una clave
pública de un segundo dispositivo (B), y medios para transmitir el
criptograma c al canal de comunicación hacia el segundo
dispositivo,
- el segundo dispositivo (B) comprende medios
para decodificar el criptograma c mediante una clave privada
asociada a la clave pública y producir el número m a partir del
criptograma c.
23. Sistema según la reivindicación 22, en el
cual el primer dispositivo comprende igualmente una memoria
programa que incluye una zona asegurada para memorizar y conservar
secretamente resultados de precálculo.
24. Sistema según una de las reivindicaciones 22
a 23 que comprende igualmente un generador (15) para producir un
número aleatorio r antes del cálculo de un criptograma c.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9900341 | 1999-01-14 | ||
FR9900341A FR2788650B1 (fr) | 1999-01-14 | 1999-01-14 | Procede cryptographique a cles publique et privee |
Publications (1)
Publication Number | Publication Date |
---|---|
ES2286910T3 true ES2286910T3 (es) | 2007-12-01 |
Family
ID=9540854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
ES99973617T Expired - Lifetime ES2286910T3 (es) | 1999-01-14 | 1999-11-25 | Procedimiento criptografico de claves publica y privada. |
Country Status (9)
Country | Link |
---|---|
US (1) | US7054444B1 (es) |
EP (1) | EP1151576B1 (es) |
JP (1) | JP4137385B2 (es) |
CN (1) | CN1338166A (es) |
AU (1) | AU1390200A (es) |
DE (1) | DE69935455T2 (es) |
ES (1) | ES2286910T3 (es) |
FR (1) | FR2788650B1 (es) |
WO (1) | WO2000042734A1 (es) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10061697A1 (de) * | 2000-12-12 | 2002-06-27 | Infineon Technologies Ag | Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Schlüsseln |
US7141822B2 (en) * | 2001-02-09 | 2006-11-28 | Semiconductor Energy Laboratory Co., Ltd. | Semiconductor device and method for manufacturing the same |
ITTO20010694A1 (it) * | 2001-07-13 | 2003-01-13 | Univ Roma | Metodo di crittografia. |
GB2391772B (en) * | 2002-08-10 | 2005-05-11 | Clive Neil Galley | Public-key cryptosystem |
US20050157872A1 (en) * | 2003-11-12 | 2005-07-21 | Takatoshi Ono | RSA public key generation apparatus, RSA decryption apparatus, and RSA signature apparatus |
JP4842276B2 (ja) * | 2004-11-11 | 2011-12-21 | サーティコム コーポレーション | 楕円曲線上の新しいトラップドア1方向性関数と、その、より短い署名及び非対称暗号化への応用 |
FR2879866B1 (fr) * | 2004-12-22 | 2007-07-20 | Sagem | Procede et dispositif d'execution d'un calcul cryptographique |
JP4758110B2 (ja) * | 2005-02-18 | 2011-08-24 | 株式会社エヌ・ティ・ティ・ドコモ | 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法 |
US7774607B2 (en) * | 2006-12-18 | 2010-08-10 | Microsoft Corporation | Fast RSA signature verification |
US8903090B2 (en) * | 2008-04-29 | 2014-12-02 | International Business Machines Corporation | Securely classifying data |
US8170216B2 (en) * | 2008-06-18 | 2012-05-01 | Apple Inc. | Techniques for validating and sharing secrets |
US8630422B2 (en) * | 2009-11-10 | 2014-01-14 | International Business Machines Corporation | Fully homomorphic encryption method based on a bootstrappable encryption scheme, computer program and apparatus |
US8861716B2 (en) | 2010-03-30 | 2014-10-14 | International Business Machines Corporation | Efficient homomorphic encryption scheme for bilinear forms |
US8565435B2 (en) | 2010-08-16 | 2013-10-22 | International Business Machines Corporation | Efficient implementation of fully homomorphic encryption |
US9083526B2 (en) | 2011-04-29 | 2015-07-14 | International Business Machines Corporation | Fully homomorphic encryption |
US9281941B2 (en) | 2012-02-17 | 2016-03-08 | International Business Machines Corporation | Homomorphic evaluation including key switching, modulus switching, and dynamic noise management |
JP5965873B2 (ja) * | 2013-08-29 | 2016-08-10 | 日本電信電話株式会社 | 暗号文生成装置、暗号文生成方法およびプログラム |
CN103701586A (zh) * | 2013-11-07 | 2014-04-02 | 金硕澳门离岸商业服务有限公司 | 获取密钥的方法和装置 |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
US10690904B2 (en) | 2016-04-12 | 2020-06-23 | Stryker Corporation | Multiple imaging modality light source |
US20190318118A1 (en) * | 2018-04-16 | 2019-10-17 | International Business Machines Corporation | Secure encrypted document retrieval |
US10289816B1 (en) | 2018-06-08 | 2019-05-14 | Gsfm Llc | Methods, systems, and devices for an encrypted and obfuscated algorithm in a computing environment |
JP7276423B2 (ja) | 2019-02-25 | 2023-05-18 | 日本電気株式会社 | 暗号システム、鍵生成装置、鍵生成方法、鍵生成プログラム、および準同型演算装置 |
CN111683071B (zh) * | 2020-05-29 | 2023-02-28 | 百度在线网络技术(北京)有限公司 | 区块链的隐私数据处理方法、装置、设备以及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5199070A (en) * | 1990-12-18 | 1993-03-30 | Matsushita Electric Industrial Co., Ltd. | Method for generating a public key |
JPH10301491A (ja) * | 1997-04-28 | 1998-11-13 | Ibm Japan Ltd | 暗号通信方法とシステム |
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 |
US6345098B1 (en) * | 1998-07-02 | 2002-02-05 | International Business Machines Corporation | Method, system and apparatus for improved reliability in generating secret cryptographic variables |
-
1999
- 1999-01-14 FR FR9900341A patent/FR2788650B1/fr not_active Expired - Fee Related
- 1999-11-25 US US09/889,362 patent/US7054444B1/en not_active Expired - Lifetime
- 1999-11-25 JP JP2000594220A patent/JP4137385B2/ja not_active Expired - Lifetime
- 1999-11-25 EP EP99973617A patent/EP1151576B1/fr not_active Expired - Lifetime
- 1999-11-25 DE DE69935455T patent/DE69935455T2/de not_active Expired - Lifetime
- 1999-11-25 CN CN99816477.1A patent/CN1338166A/zh active Pending
- 1999-11-25 ES ES99973617T patent/ES2286910T3/es not_active Expired - Lifetime
- 1999-11-25 WO PCT/FR1999/002918 patent/WO2000042734A1/fr active IP Right Grant
- 1999-11-25 AU AU13902/00A patent/AU1390200A/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
CN1338166A (zh) | 2002-02-27 |
FR2788650B1 (fr) | 2001-02-16 |
JP2002535878A (ja) | 2002-10-22 |
AU1390200A (en) | 2000-08-01 |
US7054444B1 (en) | 2006-05-30 |
DE69935455T2 (de) | 2007-11-29 |
DE69935455D1 (de) | 2007-04-19 |
FR2788650A1 (fr) | 2000-07-21 |
EP1151576B1 (fr) | 2007-03-07 |
JP4137385B2 (ja) | 2008-08-20 |
WO2000042734A1 (fr) | 2000-07-20 |
EP1151576A1 (fr) | 2001-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ES2286910T3 (es) | Procedimiento criptografico de claves publica y privada. | |
Fouque et al. | Fault attack on elliptic curve Montgomery ladder implementation | |
CN1326351C (zh) | 有限域离散对数密码系统的割圆多项式结构 | |
US7961873B2 (en) | Password protocols using XZ-elliptic curve cryptography | |
KR100720726B1 (ko) | Rsa 알고리즘을 이용한 보안유지시스템 및 그 방법 | |
ES2331456T3 (es) | Procedimiento de contramedida en un componente electronico que emplea un algoritmo de codificacion con clave publica de tipo curva eliptica. | |
US20080240443A1 (en) | Method and apparatus for securely processing secret data | |
JP7123959B2 (ja) | 楕円曲線点乗算デバイス及び方法 | |
US20010048742A1 (en) | Countermeasure method in an electronic component using a public key cryptography algorithm on an elliptic curve | |
ES2287745T3 (es) | Procedimiento para la aplicacion asegurada de un algoritmo de criptografia de tipo rsa y componente correspondiente. | |
ES2729874T3 (es) | Sistema y método de exponenciación del teorema chino del resto de uso único para algoritmos criptográficos | |
US20110274269A1 (en) | Encoding points of an elliptic curve | |
US20120020476A1 (en) | Method for Performing a Cryptographic Task in an Electronic Hardware Component | |
ES2279525T3 (es) | Procedimiento de criptografia de clave publica basado en el logaritmo discreto. | |
ES2255568T3 (es) | Metodo y aparato de almacenamiento y recuperacion de clave privada de criptografia. | |
ES2250203T3 (es) | Procedimiento de contramedida en un componente electronico que pone en aplicacion un algoritmo de cifrado con clave publica de tipo rsa. | |
EP3188000A1 (en) | System and method for hiding a cryptographic secret using expansion | |
Amounas | Elliptic curve digital signature algorithm using Boolean permutation based ECC | |
Swami et al. | Dual modulus RSA based on Jordan-totient function | |
ES2216276T3 (es) | Sistema criptografico que comprende un sistema de cifrado y descifrado y un sistema de secuestro de claves. | |
Musa et al. | Hybrid Cloud Storage Techniques Using Rsa And Ecc | |
Abdurahmonov et al. | Improving Smart Card Security Using Elliptic Curve Cryptography over Prime Field (F p) | |
KR20020003059A (ko) | 정수 또는 다항식 행열을 이용한 공개키 암호시스템 | |
CA2263056C (en) | Method and apparatus for finite field basis conversion | |
Jamnig | Securing the RSA-cryptosystem against cycling attacks |