You are on page 1of 14

UNIVERSIDAD TECNOLOGICA DE CANDELARIA

ING. EN TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN.

SEGURIDAD DE LA INFORMACION

METODOS DE INCRIPTACION:
RSA Y AES
L.C. GILBERTO GARCIA DELGADO

T.S.U. CARLOS BAAS CANCHE


POR UNA EDUCACIN CON EXCELENCIA Y VALORES!
EJ. FRANCISCO J. MJICA, CANDELARIA, CAMPECHE, 18 DE SEPTIEMBRE DE 2017.
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

0
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

TABLA DE CONTENIDO

CRIPTOGRAFA..................................................................................................................................... 2
ENCRIPTADO RSA ................................................................................................................................ 3
HISTORIA ......................................................................................................................................... 3
ENCRIPTADO AES ................................................................................................................................ 7
HISTORIA ......................................................................................................................................... 7
BIBLIOGRAPHY................................................................................................................................... 12

1
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

CRIPTOGRAFA.

Es la ciencia de cifrar y descifrar informacin utilizando tcnicas matemticas que


hagan posible el intercambio de mensajes de manera que slo puedan ser ledos
por las personas a quienes van dirigidos.

2
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

ENCRIPTADO RSA

Historia

En 1975, Walter Diffie y Martin Hellman sientan las bases de la criptografa de clave
pblica. Hasta ahora, en la criptografa de clave secreta el proceso de cifrado y
descifrado es similar y la clave de cifrado y descifrado es la misma.

Por el contrario, en clave pblica cada usuario i del sistema posee un par de claves
(ci, di), la primera de las cuales es pblica y que es la que emplea cualquier otro
usuario j que desee transmitir un mensaje M a i; Mientras que la clave privada di es
conocida slo por i y empleada para recuperar los mensajes originales a partir de
los cifrados que le llegan.

Sin embargo, no es hasta 1978, cuando Ronald Rivest, Len Adleman y Adi Shamir
proponen el primer sistema criptogrfico (y probablemente el ms conocido) de
clave pblica: RSA

El sistema criptogrfico con clave pblica RSA es un algoritmo asimtrico cifrador


de bloques, que utiliza una clave pblica, la cual se distribuye (en forma
autenticada preferentemente), y otra privada, la cual es guardada en secreto por
su propietario.

Una clave es un nmero de gran tamao, que una persona puede conceptualizar
como un mensaje digital, como un archivo binario o como una cadena de bits o
bytes.

Cuando se enva un mensaje, el emisor busca la clave pblica de cifrado del


receptor y una vez que dicho mensaje llega al receptor, ste se ocupa de descifrarlo
usando su clave oculta.

3
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

Los mensajes enviados usando el algoritmo RSA se representan mediante nmeros


y el funcionamiento se basa en el producto de dos nmeros primosgrandes
(mayores que 10100) elegidos al azar para conformar la clave de descifrado.

Emplea expresiones exponenciales en aritmtica modular.

La seguridad de este algoritmo radica en que no hay maneras rpidas conocidas de


factorizar un nmero grande en sus factores primos utilizando computadoras
tradicionales.
La computacin cuntica podra proveer una solucin a este problema de
factorizacin.

El algoritmo RSA es un algoritmo de clave pblica desarrollado en 1977 en el MIT


por Ronald Rivest, Adi Shamir y Leonard Adelman.

Fue registrado el 20 de septiembre de 1983. El 20 de septiembre del 2000, tras 17


aos, expir la patente RSA, pasando a ser un algoritmo de dominio pblico.

Este popular sistema se basa en el problema matemtico de la factorizacin de


nmeros grandes.

El algoritmo RSA funciona de la siguiente manera:

1. Inicialmente es necesario generar aleatoriamente dos nmeros primos grandes, a


los que llamaremos p y q.
2. A continuacin, calcularemos n como producto de p y q: n = p * q
3. Se calcula fi: fi(n)=(p-1) (q-1)
4. Se calcula un nmero natural e de manera que MCD (e, fi(n)) =1, es decir e debe
ser primo relativo de fi(n).

4
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

Es lo mismo que buscar un nmero impar por el que dividir fi(n) que de cero como
resto.
5. Mediante el algoritmo extendido de Euclides se calcula d: ed. mod fi(n)=1 Puede
calcularse d=((Y*fi(n)) +1) /e para Y=1,2, 3, hasta encontrar un d entero.
6. El par de nmeros (e,n) son la clave pblica.
7. El par de nmeros (d,n) son la clave privada.
8. Cifrado: La funcin de cifrado es C = M^e mod n
9. Descifrado: La funcin de descifrado es M = C^d mod n

Ejemplo con nmeros pequeos

1. Escogemos dos nmeros primos, por ejemplo p=3 y q=11.


2. n = 3 * 11 = 33
3. fi(n) = (3-1) * (11-1) = 20
4. Buscamos e: 20/1=0, 20/3=6.67. e=3
5. Calculamos d como el inverso multiplicativo mdulo z de e, por ejemplo,
sustituyendo Y por 1,2,3, hasta que se obtenga un valor entero en la expresin: d
= ((Y * fi(n)) + 1) / e = ( Y * 20 + 1) / 3 = 21 / 3 = 7
6. e=3 y n=33 son la clave pblica
7. d=7 y n=33 son la clave privada
8. Cifrado: Mensaje = 5, C = M^e mod n = 5^3 mod 33 = 26
9. Descifrado: M = C^d mod n = 26^7 mod 33 = 8031810176 mod 33 = 5

Ejemplo visual de RSA

Un ejemplo pedaggico trivial del algoritmo RSA se muestra en la siguiente


animacin. Para este ejemplo hemos seleccionado p=3 y q=11, dando n=11 y
z=20. Un valor adecuado de d es d=7, puesto que 7 y 20 no tienen factores
comunes.

5
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

Con estas selecciones, e puede encontrarse resolviendo la ecuacin 7e=1(mod 20),


que produce e=3.El texto cifrado, C, de un mensaje de texto normal, P, se da por la
regla C=P3(mod 33). El texto cifrado lo descifra el receptor de acuerdo con la
regla P= C7(mod 33). Observe la animacin tanto en el emisor como en el receptor,
donde se muestra el cifrado-descifrado del texto normal CASA.

Dado que los nmeros primos escogidos para este ejemplo son tan pequeos, P
debe ser menor que 33, por lo que cada bloque de texto normal puede contener
slo un carcter. El resultado es un cifrado por sustitucin monoalfabtica, no muy
impresionante. En cambio si hubiramos seleccionado p y q 10100, podramos
tener n 10200, para que cada bloque pueda ser de hasta 664 bits (s 644 10200) u
83 caracteres de 8 bits, contra 8 caracteres para el DES.

Ms informacin de algoritmos de clave pblica, de criptosistemas, de ataques a


RSA y por supuesto el infaltable libro de criptografa del profesor Jorge Ramio
Aguirre y de Manuel Lucena, todos ellos descargables de nuestra seccin de libros
de seguridad.

6
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

ENCRIPTADO AES

HISTORIA

AES es el acrnimo de Advanced Encription Standard. En realidad, AES fue un


concurso realizado por el National Institute of Standards and Technology,
perteneciente al Department of Commerce de Estados Unidos (USA). Hasta
entonces, el estndar de cifrado utilizado en la administracin USA era DES, que,
si bien soportaba bien los ataques de descifrado, se determin que era ms seguro
utilizarlo tres veces (TDES o Triple DES). Esto era muy efectivo pero excesivamente
lento.

El protocolo que gan dicho concurso en el ao 2000 se llama Rijndael, y fue


desarrollado por dos belgas, Vincent Rijmen y Joan Daemen. De hecho, no es
exactamente lo mismo Rijndael que AES, pero a efectos prcticos, incluso AES es
llamado Rijndael. Fue adoptado como estandar de cifrado por USA con una serie
de modificaciones, y, hoy en dia, es uno de los cifrados ms utilizados.

Ests demasiado preocupado. Hay un axioma que tienes que tener claro: Toda
informacin almacenada digitalmente es susceptible de ser modificada. Un cifrado,
sea del tipo que sea, no es ms que una modificacin de informacin digital. As
que puede volver a ser modificada, o descifrada, claro que s. Los ltimos estudios
de los que he oido hablar, estiman que un billn de ordenadores, que pudieran
probar cada uno mil millones de claves por segundo, tardaran slo unos 2000
millones de aos en dar con una clave AES 128. Ahora vas y lo cascas

Vamos a la descripcin y a ver cmo trabaja. AES es un algoritmo de cifrado


simtrico por bloques. Esto, como ya deberais saber, quiere decir que utiliza la
misma clave para cifrar y descifrar un texto, y que el proceso lo realiza partiendo
el texto a cifrar/descifrar en bloques o pedazos de una longitud determinada.

La clave de cifrado de AES puede ser de 128, 192 256 bits de larga. Cuanto ms
larga, mayor dificultad para ser descifrado sin la clave, lgicamente. Los ms
utilizados son AES-192 y AES-256.
7
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

El tamao de bloque de cifrado en cualquier variante de AES es siempre el mismo:


128 bits de largo, aunque Rijndael permite bloques mayores, siempre que sean
mltiplos de 4. Observar que estoy hablando de bits, siempre ceros y unos, as que
volvemos a trabajar con nmeros binarios. Para entender bien cmo funciona,
ecordar que un byte son 8 bits y sacar los apuntes de matrices, que van a hacer
falta.

Estos bloques de cifrado se vuelcan en una matriz rectangular de 4 filas y un nmero


de columnas resultado de dividir el tamao del bloque utilizado por 32. As, como
AES trabaja con un tamao de bloque de cifrado de 128 bits, tendramos que 128 /
32 = 4, lo que nos dara una matriz de 44. A esta matriz se la
denomina State o Estado.

Por otro lado, la clave de cifrado se vuelca en otra matriz similar, de las mismas
caractersticas. Es decir, una clave de cifrado de 192 bits se volcara en una matriz
de 4 filas y 192 / 32 columnas. O lo que es lo mismo, una matriz de 46. Y una de
256 bits, por ende, en una matriz de 48. Al ser estas matrices ms grandes que la
matriz de Estado, se procede a su transformacin mediante generacin de matrices
del mismo tamao que el bloque de cifrado, generando tantas subclaves como sea
necesario. As que trabajaremos con matrices de 44 bits, o lo que es lo mismo,
matrices de 2 byte (16 bits).

Esta generacin de subclaves se realiza aplicando dos funciones a la matriz de


clave: expansin y seleccin.

Funcin de expansin de clave. Esta funcin permite generar tantos bytes como
subclaves necesarias a partir de la clave original. Es una funcin simple en C, que
utiliza diversas funciones de transformacin de los bytes de la clave original. En
definitiva, hace todava ms grande la clave original si es necesario,
transformndola y volcndola en un array lineal (es decir, que la pone toda, toda,
todita en una sola lnea. Un chorizo impresionante de nmeros).

8
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

Funcin de seleccin de clave. Una funcin ms simple que la anterior. Lo nico


que hace es seleccionar del array creado anteriormente, bytes consecutivos que va
asignando a cada subclave del proceso en una matriz de subclave. As, se consigue
que la subclave de cifrado intermedia de cada ronda, tenga el mismo tamao que la
clave de Estado (2 bytes, 16 bits, matriz de 44)

Con estas dos matrices (Estado y Subclave), AES realiza unas rondas de
transformaciones. En concreto, para una clave de 256 bits realiza 14 rondas de
transformaciones, realizando en cada ronda operaciones aritmetico-lgicas, entre la
matriz de Estado y la matriz de subclave correspondiente a cada ronda.

En la primera ronda del cifrado, se aplica la funcin AddRoundKey (despus


explicada) a ambas matrices, la de Estado y la de la clave, generando una nueva
matriz que llamaremos matriz de Estado Intermedio. Una vez generada sta, se
aplican por cada ronda cuatro funciones diferentes a la matriz de Estado Intermedio,
generando una nueva matriz de estado Intermedio por cada ronda.

Estas operaciones son:

Funcin ByteSub. Consiste en una sustitucin de cada byte, generando un byte


nuevo. En concreto, lo que realiza es la bsqueda de un byte tal, que multiplicado
por el byte original nos d como resultado 1. O lo que es lo mismo, buscamos la
inversa multiplicativa de un campo de Galois. Esto es muy complicado de entender,
puesto que estamos hablando de funciones de polinomios; dejmoslo en que para
cualquier byte definido en la matriz, existe un byte nico que cumple esa condicin.

Funcin ShiftRow. Esta es ms fcil de entender. Consiste en rotar a la izquierda


las filas que forman la matriz de Estado Intermedio en la que estamos. La fila 0
siempre permanece sin cambios, y el resto de las filas se desplaza un nmero de
posiciones que viene determinada por el tamao del bloque de cifrado. As, para un
ejemplo de 128 bits, debis saber que la fila 0 permanece sin cambio, la fila 1 rotara
una posicin, la fila 2 rotara 2 posiciones y la fila 3 rotara 3 posiciones.
Grficamente, para que lo veis ms claro:

9
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

Funcin MixColumn. Aunque su nombre parezca deducir algo sencillo, no lo es en


absoluto. Volvemos a los polinomios y a sus propiedades. Esta funcin realiza
cambios en las columnas de la matriz de Estado Intermedio en que nos
encontramos, multiplicando dichas columnas por un polinomio que es coprimo a
cada columna de bytes (uffff). En esencia, realiza un cambio en las columnas. No
me detengo ms porque estoy viendo numeritos flotar delante ma y ya no puedo
ms.

Funcin AddRoundKey. Esta transformacin es una operacin or-exclusiva (XOR)


realizada entre cada bit de la matriz de Estado Intermedia en que nos encontramos,
y una subclave generada a partir de la clave inicial de cifrado volcada en otra matriz.
Como estamos comparando bits, las operaciones XOR seran:

Estado Intermedio Subclave cifrado A XOR B


A B

0 0 0

0 1 1

1 0 1

1 1 0

Dando como resultado una nueva matriz de Estado. Y hemos acabado una ronda,
y volvemos a operar de nuevo. Y as hasta 16 veces, terminando en la ltima ronda
por aplicar todas la funciones, excepto la Funcin MixColumn, generando una matriz

10
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

de Estado final, o matriz de Salida, que es el texto cifrado. En este dibujo veris ms
claro su funcionamiento.

Bien, pues ya conocemos un poco ms este sistema de encriptado. Me he dejado


en el tintero los modos de AES, y lo he hecho a conciencia, porque iba a ser liar
ms el post, si es que no lo est ya.

Simplemente, saber que esisten varios modos de AES, y los veris representados
como AES-CBC, AES-ECB, AES-CTR, AES-OCB y AES-CFB. Incluso creo
recordar que hay ms, pero no me salen las siglas ahora mismo. Son modos de
ejecutar el AES, simplemente. Pero el procedimiento bsico es el que os he descrito.

Mi intencin, una vez que termine otra entrada que tengo pendiente, es ver cmo
cifrar nuestra particin /home y utilizarla de manera transparente.

11
UNIVERSIDAD TECNOLOGICA DE CANDELARIA
CARLOS BAAS CANCHE SEGURIDAD DE LA INFORMACION

BIBLIOGAFIA

cosillas, d. (2008, agosto 8). algoritmo aes. retrieved from debian


Cosillas:http://www.dmdcosillas.org/2014/08/cifrado-de-particiones-algoritmo-aes-i/
http://neo.lcc.uma.es/evirtual/cdd/tutorial/presentacion/ejmrsa.html
http://es.wikipedia.org/wiki/RSA
http://daniellerch.com/sources/doc/algoritmo_rsa.html

12
UNIVERSIDAD TECNOLOGICA DE CANDELARIA