TIPOS DE CIFRADO
Cifrado tradicional
Históricamente hay cuatro grupos que han utilizado el cifrado; los militares (los número uno), los
diplomáticos, los espías y los amantes entre otros. Los primeros sistemas criptográficos que se tiene
conocimiento, se remontan a la época de los griegos con el cilindro ‘scytale’ en el 500 AC y los romanos
con el famoso cifrado del Cesar y otros que se remontan hasta 1000 años AC. La criptografía consistía en
algoritmos basados en caracteres (letras, números) que sustituían o transponían entre sí, intercambiando
uno por otro los caracteres originales donde los mas ‘sofisticados’ hacían ambos métodos sobre
secuencias que se repetían.
A la llegada de las computadoras (no hace mucho) los sistemas criptográficos son más complejos, aunque
el principio general se mantiene hasta la actualidad, ya que ahora se trabajan con bits en lugar de
caracteres y símbolos. Estas técnicas son de sustitución y transposición, donde el cifrado por sustitución
es donde cada carácter o símbolo de dicho mensaje original es sustituido o cambiado por otro y la
transposición donde los caracteres del mensaje original se mantendrán y solo cambiarán sus posiciones
relativas entre ellos. La máquina de cifrado alemana llamada ‘Enigma’ es un ejemplo de estas técnicas, ya
que al pulsar una tecla que a través de los rotores, donde se hacían las sustituciones y transposiciones, el
carácter pulsado terminaba siendo otro carácter diferente.
En la figura 1 se muestra el concepto general de un sistema de cifrado y descifrado desde el emisor hasta
el receptor, definiendo el texto normal o claro como el texto original P (no cifrado) y el texto cifrado C.
Figura 1. Modelo o forma del cifrado y notación general de un sistema de cifrado y descifrado
El intruso pasivo solo escucha y copia el texto cifrado completo aunque no conozca la clave tratando de
realizar el criptoanálisis y el intruso activo puede alterar y modificar los mensajes, reenviar sus propios
mensajes con el objetivo normalmente de introducir cualquier tipo de virus
La notación general de acuerdo a la figura 1 para relacionar el texto normal o claro, el cifrado y las claves o
llaves.
C = Ek (P) Cifrado del texto normal P, usando la clave k resultando el texto cifrado C
P = Dk(C) Descifrado del texto C, usando la misma clave k resultando el texto normal P
Por lo tanto se obtiene, Dk (Ek (P)) = P donde E y D son funciones matemáticas
La única diferencia de estas relaciones son las funciones matemáticas para el cifrado y descifrado siendo
la clave la misma para ellas, donde la clave es una cadena relativamente corta que selecciona uno de
muchos posibles cifrados. Cuánto más grande en longitud es la clave, mayor será el Factor de Trabajo
que enfrenta el criptoanalista. Por ejemplo, una longitud de clave de dos dígitos en secuencia significa
que hay cien posibilidades. De tres dígitos hay mil posibilidades y de seis dígitos hay un millón de
posibilidades. .
El Factor de Trabajo es la dificultad que encuentra el criptoanalista para descifrar un texto, y para descifrar
el sistema (reglas del cifrado) mediante una búsqueda exhaustiva del espacio o rango de claves crece
exponencialmente con su longitud, por lo que el secreto radica en tener un algoritmo (función) robusto y
una clave grande o larga, como es una clave de 64 bits para cifrado particular y de 256 bits para gobiernos
y mayores en la milicia.
Cifrado por Sustitución
Cada carácter o letra o grupos de estos, se reemplaza mediante el desplazamiento por otra letra o grupo
para disfrazar el texto normal. El cifrado por sustitución, de los mas antiguos de este método, es el
cifrado del Cesar utilizado por Julio Cesar en el siglo I AC. El cual desplazaba el texto del alfabeto en tres
letras, es decir, la letra A se desplazaba en tres letras, A(0),B(1),C(2) y D(3) por lo que la letra A era
sustituida por la letra D, por lo tanto la clave era 3. También es posible hacer la clave k variable
desplazando k letras en el texto haciéndolo mas general. A este sistema general se le llama sustitución
monoalfabética, (relación uno a uno) pudiendo ser el valor de k de longitud del mismo abecedario y
aunque parece simple, para el criptoanalista aunque conozca el sistema general (sustitución de letras),
considerando 26 letras se tiene 26! = 4 x 10 26 posibles claves. Considerando una computadora dando una
solución cada microsegundo tardaría 10 13 años. Aunque si se tiene incluso una pequeña cantidad de texto
cifrado, se puede descifrar aprovechando las propiedades estadísticas de los lenguajes naturales,
sabiendo cuales son las letras mas comunes o utilizadas y las combinaciones de dos letras o digramas, y
de tres o trigramas, se puede descifrar (ya fue hecho así). Por otro lado, la sustitución polialfabética
donde cada letra o carácter puede tener un sustituto distinto y la combinación entre un carácter en el texto
plano o claro y un carácter en el texto cifrado es una relación uno a muchos. Como ejemplo, el carácter A
se podría cambiar a otra en la mitad del texto. Es necesario dividir el texto en grupos de caracteres y usar
un conjunto de claves, es decir, diferenres caracteres del texto cifrado representan al mismo carácter ó
símbolo del texto normal o claro, ya que en estos casos se emplean varios alfabetos de cifrado para
dificultar el análisis de los criptogramas. .
Cifrado por Transposición
El cifrado por sustitución conserva el orden de los caracteres del texto normal escondiéndolos o
disfrazándolo y el cifrado por transposición, en contraste, reordenan los caracteres sin esconderlos. La
transposición columnar es un caso de la transposición común. La clave del cifrado es una palabra o frase
que no contiene letras repetidas, luego se numeran las columnas bajo la clave, siendo la columna uno bajo
la letra clave mas cercana al inicio del alfabeto, después el texto normal se escribe horizontalmente con la
longitud de la clave y cambiando de renglón o fila al terminar dicha longitud hasta terminar el mensaje sin
utilizar espacios entre palabra del mensaje. El texto cifrado se lee por columnas empezando con la
columna uno. Por ejemplo, usando la palabra CLAVE como la clave y siendo el mensaje
‘porfavoravisadetullegadaallaciudadyo’ (por favor avisa de tu llegada a la ciudad yo), a continuación
se numera cada letra de la clave y se escribe el texto normal horizontalmente, después se lee el texto en
forma vertical (por columnas) empezando con la que se enumeró como uno y hasta el final de la frase
seleccionada como clave. Leyendo la grafica columnar para obtener el texto cifrado, se obtiene lo
siguiente: rraldcdpvitgldaveeauooosuaaafadlaiy, Separando cada columna se observa la estructura
de cada una.
Columna 1: rraldcd Columna 2: pvitgld Columna 3: aveeauo Columna 4: oosuaaa
Columna 5: fadlaiy (ver la construcción de la tabla)
C L A V E <- palabra o frase clave
2 4 1 5 3 <- numeración
.p o r f a <- escribir el mensaje en forma horizontal
v o r a v
i s a d e
t u l l e
g a d a a
l a c i u
d a d y o <- leyendo las letras empezando por la columna 1 se obtiene el texto cifrado
Texto cifrado a enviar: rraldcdpvitgldaveeauooosuaaafadlaiy
En el caso de que un criptoanalista deseara descifrar este mensaje debe saber primero que se trata de un
cifrado por transposición, luego observar la frecuencia de las letras mas utilizadas como las letras A,E,I,O
no siendo tan complicado si se ajustan al patrón usual de texto normal, probando quese trata de un cifrado
por transposición, ya que cada letra se representa a sí misma. Después, es adivinar la cantidad de
columnas sabiendo que se puede adivinar una palabra o frase por el contexto del texto. Empleando
digramas usuales como LA, UN, DE, etc. Observando en el texto cifrado y buscando coincidencias. Ya
que buscando diferentes posibilidades se puede con frecuencia determinar la longitud de la clave.
Posteriormente es poder ordenar las columnas. Cuando la cantidad de columnas es pequeña (suerte para
el criptoanalista) se puede examinar cada uno de los pares de columnas siguiendo k(k-1) (5(4); 4(3), ..
para ver si la frecuencia de sus digramas es igual a la del texto normal. El par con la mejor concordancia
se supone correctamente ubicado. Cada columna restante se prueba tentativamente como el sucesor de
este par- La columna cuyas frecuencias de digramas y trigramas (LAS, LOS, UNO, …) produce la mejor
concordancia se toma tentativamente como correcta y la antecesora se encuentra de igual forma, el
proceso completo se repite hasta encontrar un orden (por ejemplo, si se encuentra TU LEL queda claro
donde esta el error TU LLE. Es obvio que el análisis es exhaustivo, sin embargo, es bastante factible
descifrar el texto.
Los cifradores por transposición no tienen sustitución de caracteres, se cambian sus posiciones. Un
carácter en la primera posición del texto normal puede aparecer en otra posición lejana en el texto, es
decir, reordena (permuta) los símbolos de un bloque de símbolos. La clave es la función de proyección
entre la oposición de los símbolos en el texto normal y el cifrado. Observando la figura 2 se obtiene el
siguiente orden.
Figura 2, cifrado por reordenación o permutación.
Por ejemplo, en un bloque de cuatro caracteres (ver figura 2): El Texto normal 1234 se permuta a texto
cifrado 2413. Aquí se mueve el carácter de la segunda posición a la primera posición, de la cuarta posición
a la segunda posición y así sucesivamente.
Cifradores Modernos Simples
Cifrador OR Exclusivo
Con la llegada de las computadoras los cifradores son orientados a bits, no importando que sean graficos,
texto, números, se cifra el flujo de bits y se envía. Con el uso de caracteres, donde cada carácter consiste
de 8 bits o 16 bits, significando que el número de símbolos es de 8 ó 16. Trabajar con bits da mas
seguridad que trabajar con caracteres. Un cifrador moderno simétrico, es una combinación de cifradores
simples como el cifrador EXOR (exclusive OR) siendo un conjunto de cifradores simples, de funciones
matemáticas sencillas, el cual ,en este caso, requiere de dos entradas, el texto normal y la clave, como se
muestra en la figura 3.
Figura 3. Cifrador simple basado en la función matemática (lógica) del OR EXCLUSIVO
El tamaño de un cifrador EXOR, el tamaño de la clave, el texto claro y el cifrado es siempre el mismo.
Cifrador por Rotación
En el cifrador por Rotación los bits son rotados de izquierda a derecha y puede tener clave o no. En la
rotación sin clave, el número de rotaciones es fijo y en la rotación con clave el valor de la clave define el
número de rotaciones.
Este tipo de cifrador se puede considerar como un caso especial de cifrador por transposición usando bits
en lugar de caracteres. Tiene una propiedad interesante; si la longitud del flujo original es N, después de N
rotaciones se obtiene el flujo de entrada original y significa que es inútil aplicar mas de N-1 rotaciones, por
lo tanto es obvio que el número de rotaciones debe estar entre 1 y N-1. El algoritmo de descifrado para el
cifrador por rotación usa la misma clave y el sentido de la rotación es lo opuesto al del cifrador, de derecha
a izquierda en este caso.
Cifrado por Sustitución S-box (Caja S)
Una Caja-S (S-box) paraleliza los cifradores de sustitución tradicionales para caracteres. La entrada de
una Caja-S es un flujo de bits con longitud N, la salida es otro flujo de bits con longitud M, donde N y M no
son necesariamente iguales (N = M odiferente).
Figura 4. Cifrado por sustitución moderna o Caja-S operando con flujo de bits en lugar de caracteres
La Caja-S es una función que hace corresponder N entradas con M salidas como se muestra en la figura
4a. La figura 4b muestra una Cala-S con relación de 3 a 8, es decir N=3 entradas y M=8 salidas, por lo que
N y M son diferentes, sin embargo, ya desde un extremo al otro, N = M = 3. La combinación de las tres
entradas se combinan dentro de la Caja-S de diferente forma para obtener 8 salidas entregando muchas
posibles combinaciones. La Caja-S normalmente no tiene clave y se usa como una etapa intermedia en el
cifrado y descifrado. La función de correspondencia entre N y M es definible matemáticamente o con una
tabla.
Cifrado por Permutación o Transposición P-box (Caja-P)
Una Caja-P para flujo de bits paraleliza el Cifrador por Transposición o Permutación tradicionales de
caracteres. Este tipo moderno de Cifrador por Transposición lo realiza a nivel de bits y es implementable
en Hardware o Software (implementado en Hardware es más rápido). Tampoco tiene o usa clave. Hay tres
tipos de permutaciones: 1. Permutación Directa, 2. Permutación por Expansión y 3. Permutación por
Compresión, como se muestra en las figuras 5a, 5b y 5c, respectivamente.
La Permutación Directa es el mismo número de entradas y salidas, es decir, N = M
La Permutación por Expansión son mas salidas que entradas, N < M
La Permutación por Compresión son menos salidas que entradas, N > M
Como se muestra en la figura 6, que al unir o combinar las Cajas-S con las Cajas-P se obtiene un cifrador
bastante potente y se logra un cifrado de Producto.
Figura 5. Muestra los tres tipos de Transposiciones o Permutaciones, Directa (5a), Expansión (5b) y
Compresión (5c)
Figura 6. Combinando Cajas-S (sustitución) con Cajas-P de Transposición o Permutación para crear un
cifrador potente.
Cifradores Modernos Iterativos
Los cifradores actuales se llaman cifradores Iterativos, porque tienen múltiples iteraciones, donde cada
iteración es un cifrador complejo, compuesto por varios cifradores simples vistos anteriormente. La clave
usada en cada iteración es un subconjunto o variación de la clave general denominada clave de iteración.
Si el cifrador tiene N iteraciones , un generador de claves produce N claves, a saber, K 1, K2, ….. KN, donde
K1 se usa en la vuelta uno, K2 en la vuelta dos, …..
Cifradores de Clave Simétrica
Se les conocen como cifradores de bloque, porque dividen el texto normal o claro en bloques de cierta
longitud de bits. Se les llama Simétricos porque usan la misma clave para cifrar y descifrar dichos
bloques.
Cifrador Simétrico DES (Data Encryption Standard-Cifrador Estándar de Datos)
El cifrador DES ha sido el estándar de facto. Es un cifrador de bloque complejo, fue diseñado por IBM en
los setentas y adoptado por el gobierno de Estados Unidos como un método de cifrado estandarizado o
estándar para uso no militar y no clasificado.
El algoritmo cifra un bloque de texto normal de 64 bits usando una clave de 64 bits, como se muestra en
la figura7.
Figura 7. Muestra la forma en que el cifrador DES realiza la codificación.
Tiene dos bloques de transposición (Cajas-P, P-box) y 16 cifradores de iteración complejas (repetidores).
Aunque los 16 cifradores de iteración son lo mismo, cada uno usa una clave distinta derivada de la clave
original. Las permutaciones inicial y final, son permutaciones Directas sin clave y son inversas entre sí. La
permutación toma un valor de 64 bits de entrada y los cambia de acuerdo a los valores definidos.
La figura 8 muestra la función DES que es el corazón del cifrador DES. Esta función aplica una clave de
48 bits a los 32 bits masa la derecha de R i parav producir una salida de 32 bits. Esta función esta
compuesta de cuatro operaciones (ver figura 8).
1) Cifrador simple- una permutación o transposición por expansión, Caja P (P-box)
2) Un cifrador EXOR
3) Un grupo de Cajas-S (S-box) – cifradores simples
4) Cifrador simple- una permutación o transposición Directa , Caja P (P-box)
Posteriormente se realizó una ampliación o mejora del cifrador DES, ya que los críticos se quejaron de que
el tamaño de la clave era corta, donde para agrandar la clave se implantó el cifrador Triple DES o 3-DES.
El cifrador Triple DES o 3-DES utiliza tres bloques DES seguidos con una clave para cada bloque. El
bloque descifrado usa una combinación de DES de cifrado-descifrado-cifrado), mientras que el bloque de
descifrado usa una combinación de descifrado-cifrado-descifrado.
Figura 8. Función DES que es el Corazón del cifrador DES
Hay dos versiones distintas en uso del cifrador Triple DES, con dos y con tres claves.
El cifrador Tres DES o 3-DES con dos claves se diseñó para hacer el tamaño de clave de 112 bits y
proteger a DES de ataques de intrusos.
En la versión de tres claves, la primera y tercera claves son las mismas (K 1 = K3) y tiene la ventaja de que
un texto cifrado con un bloque DES sencillo puede ser descifrado con el nuevo método. Solo hay que
poner todas las claves iguales a K1
Muchos algoritmos usan un cifrador 3-DEScon tres claves, incrementando el tamaño de la clave hasta 168
bits.
Cifrador AES (Advanced Encryption Standard- Estandar de Cifrado Avanzado)
El cifrador AES es un cifrador simétrico y se diseñó porque la clave del DES aún era pequeña, aunque 3-
DES aumentaba el tamaño de la clave, el proceso era lento. El Instituto Nacional de Estandares y
Tecnología (NIST – National Institute of Standards and Technology) eligió el algoritmo Rijndael ( el nombre
es por sus diseñadores- Vincent Rijmen y Joan Daemen) como la base del AES.
Es un cifrador iterativo muy complejo, diseñado con tres tamaños de clave, a saber: 128, 192 y 256 bits. La
configuración es distinta según el tamaño del bloque de datos de entrada, el número de vueltas y el
tamaño de la clave, como se puede ver en la tabla
Configuración AES
Tamaño del Bloque de Datos Número de Iteraciones Tamaño de la Clave
128 bits 10 128 bits
128 bits 12 192 bits
128 bits 14 256 bits
Como ejemplo, con la menos compleja, se verá la configuración de 10 iteraciones y con clave de 128 bits,
siendo las tres similares en funcionamiento, la diferencia esta en la generación de las claves. La estructura
general se puede observar en la figura 9.
Figura 9. La estructura general se muestra en (a) y la estructura de una iteración, que realiza 10, se
muestra en (b).
Hay una operación inicial de cifrado EXOR, seguida por 10 cifradores iterativos. La última vuelta es
ligeramente distinta de las anteriores, se pierde una operación, aunque los 10 bloques de iteración son
casi idénticos, cada uno usa una clave distinta derivada de la clave original (figura 9a).
La estructura de cada iteración (ver figura 9b) del AES, excepto la última, es un cifrador complejo con
cuatro operaciones reversibles. La última iteración solo tiene tres operaciones, donde se puede observar
en la figura 9a el diagrama de flujo con las operaciones de cada vuelta.
Otros Cifradores Simétricos
En las tres últimas décadas se han diseñado pocos cifradores simétricos, donde la mayoría tienen
características similares a DES y AES y la diferencia esta en el tamaño del bloque ó de la clave, en el
número de iteraciones y las funciones utilizadas, aunque los principios son los mismos, a saber, los
cifradores IDEA, Blowfish, CAST-128, RC5.
Cifradores de Clave Asimétrica.
Los cifradores de clave Asimétrica o de, clave Pública realizan el cifrado usando dos claves llamadas
privada y pública y basadas en dos tipos de algoritmos, a saber.
El algoritmo RSA (de sus autores, Rivest, Shamir, Aldeman) es el más frecuente de clave pública. Este
criptosistema de clave pública, es un algoritmo matemático (teoría de los números), números primos,
máximo común divisor (MCD) y aritmética modular (módulo).
El campo de las matemáticas consiste en varias clasificaciones de los números. El conjunto de enteros es
un conjunto infinito de números Z = {…, -3,-2,-1,0,1,2,3, …}. Existen varios conjuntos;
Números enteros positivos (incluido el cero) Z = [0,1,2,…}
Números naturales (es el conjunto utilizado para contar Z = {1,2,3,…}
Si se tiene un número entero p > 1 y es divisible solo por sí mismo y por 1, entonces p es un
número primo. Como son los números; 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, ..
donde se ha excluido el número 1 porque no es un número primo por definición y el número 2 porque es el
único primo par. Un número entero p > 1 que no es primo se llama compuesto. Dada las definiciones, el
conjunto de enteros negativos, así como los enteros 0 y 1, no son primos ni compuestos. Existe un
número infinito de números primos (Euclides 300 AC).
El concepto de primo relativo y el Máximo Común Divisor (MCD).. Cuando dos números son
multiplicados entre sí, el resultado se llama producto y los números multiplicando y multiplicador se llaman
factores del producto, como ejemplo, dados los números p = 2 y q = 4, el producto de p*q es 8 y 2 y 4 son
factores del producto 8. Para determinar si un numero n es un factor de un producto dado, se divide el
producto por n. Si la división da de residuo cero, entonces n es un factor del producto. Los factores
también pueden considerarse como divisores exactos de un producto porque estos dividen a un producto
dando un residuo cero. Así el 2 y el 4 pueden considerarse como divisores exactos de 8. El máximo
común divisor (MCD) de dos números naturales es el mayor número natural que divide exactamente al par
dado de números naturales. Hay que notar que el MCD puede también considerarse como el Máximo
Factor Común.
Ejemplo. Dados los dos números naturales 12 y 16, los divisores;
De 12 son 1,2,3,4,6,12 y de 16 son 1,2,4,8,16
Y el MCD de 12 y 16 es 4, denotado como MCD(12,16) = 4.
Considerando los dos números 24 y 25, el MCD (24,25) = 1 y el 24 y 25 son primos relativos. También de
forma similar, los números 8 y 15 son primos relativos porque el MCD (8,15) =1, así como los números 15
y 36 no son primos relativos porque el MCD (15,36)= 3, calcular lo anterior basándose en el primer
ejemplo y sabiendo que es el máximo par de números. El MCD (p, q) puede encontrarse fácilmente para
valores pequeños de p y q factorizando a estos en sus factores primos. El teorema fundamental de la
aritmética establece que cualquier numero natural mayor a 1 es primo o puede expresarse como un
producto de factores primos.
Para valores mayores o grandes de p y q, el proceso resulta laborioso y se puede hacer aplicando la regla
conocida como el Algoritmo de Euclides.
Sistemas modulares (aritmética modular) es un sistema matemático que se repite cíclicamente a sí mismo.
Como ejemplo, el conjunto {0,1,2,3,4,5,6,7} contiene solo los 8 elementos indicados, por lo que es un
conjunto finito y solo los elementos incluidos en el conjunto pueden utilizarse. Significa que si se fuese a
trabajar con esos elementos del conjunto en secuencia, después de usar el número 7, se debería
comenzar nuevamente con el cero. Un sistema matemático de esta naturaleza que consiste en los
elementos {0, 1, 2, …, m-1} es llamado un sistema de módulo m. Entonces representa un sistema
módulo 8 ó mod 8.
Un número que no es un elemento de un sistema de modulo dado se encuentra dividiendo el número por
el mod m. Esto se denota formalmente como a = b (mod m) donde a es el número dado, b es el
residuo que resulta de dividir b = a / m y m es el modulo. Una interpretación de esto es el siguiente
ejemplo:
23 = 7 (mod 8) 23 / 8 = 7 (residuo) y 916 = 20 (mod 32) 916 / 32 = 20 (residuo)
El algoritmo RSA utiliza dos números e y d, como claves pública y privada, respectivamente. Estas dos
claves tienen una relación especial entre sí. La figura 10 muestra la forma y el camino del funcionamiento
del cifrado con clave asimétrica.
Figura 10, el cifrado asimétrico con el algoritmo RSA, donde se muestran los símbolos que representan las
claves y las funciones que lo realizan.
Las funciones que realizan el cálculo del cifrado y descifrado son una variante del sistema o aritmética
modular llamado formalmente exponenciación modular. Para cifrar un dato (lado del emisor) se tiene la
relación C= Pe mod n, siendo P el dato a cifrar, C es el dato cifrado, e es la clave pública y n es modulo,
en el lado del receptor se tiene la relación para el descifrado, P = Cd mod n, donde P es el dato descifrado,
C es el dato cifrado para descifrar d es la clave privada y n es el modulo. Como se puede observar, la
clave pública se utiliza para cifrar y no importa que se conozca, sin embargo, la clave privada solo la tiene
el receptor y es la que se utiliza para descifrar y debe ser secreta.
La secuencia de operaciones para obtener las claves pública y privada, es la siguiente:
1. Elegir dos números primos lo mas grandes posibles, p y q, recordando que un número primo es el
que solo puede ser dividido entre 1 y por si mismo. (normalmente se utilizan números mayores a
10100). Multiplicar los dos números primos para encontrar n ( p * q = n)
2. Calcular otro número, el de Euler, con la relación, = (p -1)(q -1)
3. Elegir un número entero primo aleatorio e y calcular d, que sea d < , de forma que
d * e = 1 mod
4. Anunciar e y n al público, mantener y d secretos.
5. Finalmente con los datos de e, d y n se cifra y descifra con las relaciones C = Pe mod n para
cifrar los datos y P = Cd mod n para descifrar,
El emisor, utilizando la clave pública, envía C (texto cifrado) y el receptor calcula mediante C y la clave
privada el dato descifrado P,
Para que RSA funcione, la restricción es que el valor de P debe ser menor al valor de n (0 <= P < n).
Si P es un número muy grande, el texto normal o claro debe ser dividido en bloques para hacer
que P sea menor que n.
Realizando un ejemplo con números pequeños, (para no desbordar la hoja).
1. El receptor elige p = 7 y q = 11.
2. Calculando n = p * q = 7 * 11 = 77
3. Calculo de = (p -1)(q -1) = (7 – 1)( 11 -1) = (6)(10) = 60
4. Eligiendo e y calculando d. Se elige e = 13, d*e = 1 mod d*e = 1 mod 60 ? * 13 = 1 mod 60
37 * 13 = 1 mod 60, se obtiene d = 37.
5. Anunciando entonces e = 13 y n = 77 al público, y d = 37 y = 60 se mantienen en secreto con
el receptor.
6. Realizando los cálculos para cifrar y descifrar tomando un número que representa algún carácter o
símbolo;
Si el texto normal ó claro = 5 C = 5 13 mod 77 = 26 Texto cifrado = 26
El receptor recibe el texto cifrado C = 26 y usa la clave privada d = 37 para descifrar el texto cifrado C,
Texto cifrado = 26 P = 2637 mod 77 = 5 El texto descifrado = 5
Por lo que se puede notar, se requiere de cálculos con números grandes ó largos, siendo lento si el
menaje es largo, siendo útil solo para mensajes cortos. Es utilizado normalmente en firmas digitales, para
autenticación y otros sistemas de cifrado que necesitan cifrar pequeños mensajes sin tener acceso a una
clave simétrica. La seguridad de este método se basa en la dificultad para factorizar números grande s. Si
el criptoanalista pudiera factorizar n (conocido públicamente) podría encontrar p y q y a partir de estos se
puede encontrar Con estos datos se puede encontrar d usando el algoritmo de Euclides.
La factorización de un número de 200 dígitos requiere de 4000 millones de años de tiempo de cómputo
con tiempo de cálculo de 1 microsegundo y la factorización de 500 dígitos requiere de 10 25 años. En los
noventas 100 dígitos era suficiente. Un mensaje cifrado tenía valores de p y q tal que su producto daba
un número de 129 dígitos y fue decodificado en menos de un año.