Вы находитесь на странице: 1из 6

Seguridad e integridad de sistemas

Algoritmos de encriptacin

Profesor:
Gerardo Prez

Alumno:
Cesar Daniel Ureo Martnez

Ingeniera en Computacin Inteligente

9 Semestre

12 de Noviembre del 2014

MD5
Este algoritmo fue desarrollado por Ronald Rivest en 1995 y est basado en dos
algoritmos anteriores MD2 y MD4. Todos estos protocolos producen un nmero de 128
bits a partir de un texto de cualquier longitud.
MD5 procesa mensajes de cualquier longitud (longitud variable) y procesa bloques
uniformes de 512 bits a la vez, hasta concluir con el mensaje total a fin de entregar a la
salida un bloque "resumen" de 128 bits (longitud fija). El procesamiento consta de cinco
pasos:
Paso 1: En principio, para que el mensaje sea procesado en bloques de tamao fijo se
requiere que su longitud en bits sea:
de manera que su longitud
sea de no menos de 64 bits de diferencia para completar un mltiplo de 512, as, de ser
necesario se aplica un relleno, el cual vara en longitud en cada caso, esto es, el nmero
de bits adicionados est en un rango de 1 a 512 bits con el formato 100000.
Paso 2: Una representacin de 64 bits de la longitud del mensaje original (antes de aplicar
el relleno) se aade al resultado del paso 1. Estos dos pasos permiten hacer coincidir la
longitud del mensaje en un mltiplo exacto de 512 bits de longitud (requerido para el resto
del algoritmo), en tanto adicionalmente se garantiza que mensajes distintos no sern
iguales despus del complemento de los bits.

Paso 3: Es hasta este paso que da inicio el proceso de reduccin, para ello se utiliza un
registro de 128 bits que permite almacenar y mantener los resultados intermedios y final
de la funcin hash. El registro se divide en cuatro secciones de 32 bits cada una, las
cuales corresponden a las variables A, B, C, y D que son inicializadas con los valores
hexadecimales:
A = 67 45 23 01
B = EF CD AB 89
C = 98 BA DC FE
D = 10 32 54 76
Paso 4: El mensaje se procesa en bloques de 512 bits a la vez a travs de 16 bloques de
32 bits cada uno, para lo cual las cuatro variables de concatenacin se copian en
variables distintas:
a=A
b=B
c=C
d=D

La parte medular del algoritmo es una funcin de compresin que consta de cuatro
rondas, las cuales tienen una estructura similar; pero cada una utiliza operaciones
distintas durante 16 iteraciones; cada operacin realiza una funcin no lineal sobre tres de
las variables a, b, c y d, y el resultado es sumado a la cuarta variable que no fue elegida,
un sub-bloque del texto y una constante.
A ese resultado se le aplica una rotacin circular a la izquierda un nmero variable de bits
y se suma el resultado a una de las variables a, b, c o d. Finalmente el resultado
reemplaza a una de las variables a, b, c o d. La salida de la cuarta ronda se suma a la
entrada de la primera en una operacin modular 232.

Paso 5: Al final de todos los ciclos, a, b, c y d son sumados a A, B, C y D respectivamente


y el algoritmo contina con el siguiente bloque de datos. Y despus de que todos los
bloques de 512 bits (cada uno) han sido procesados se obtiene la salida final, esto es, la
concatenacin de A, B, C y D que produce un bloque de 128 bits.
El algoritmo MD5 no sirve para cifrar un mensaje. La informacin original no se puede
recuperar ya que hay prdida de datos. MD5 es usado para firmas digitales.
SHA-1
Algoritmo desarrollado por el NIST y publicado como estndar federal para el
procesamiento de la informacin (FIBS PUB 180); en 1995 se public una versin
revisada como FIBS PUB 180-1 conocida como SHA-1.
El algoritmo toma como entrada mensajes de longitud mxima de 264 bits que son
procesados en bloques de 512 bits; el resultado que produce es de 160 bits. En la
siguiente imagen se muestra de manera general el algoritmo:

El procesamiento consta de cinco pasos los cuales se explican a continuacin:


1. Se

incorporan

cumpla:

bits

de

relleno

al

mensaje

de

entrada

de

tal

modo

que

. El relleno consiste en un uno seguido de los ceros que

sean necesarios. Aunque el mensaje ya tenga la longitud deseada, se debe efectuar el


relleno, por lo que el nmero de bits de dicho relleno est en el rango de 1 a 512 bits.
2. A la salida del paso 1, se le aade un bloque de 64 bits que represente la longitud del
mensaje original antes de ser rellenado.
3. Se inicializa la memoria temporal MD, la cual consta de 160 bits y su finalidad es
almacenar los resultados intermedios y finales de la funcin de dispersin. La MD consta
de 5 registros (A,B,C,D,E) de 32 bits cada uno, los valores con los que se inicializan son
los siguientes (valores hexadecimales):
A= 67452301
B= EFCDAB89
C= 98BADCFE
D= 10325476
E= C3D2E1F0
4. Se procesa el mensaje por bloques de 512 bits, cada uno pasa por un mdulo que consta
de 4 rondas de procesamiento de 20 pasos cada una. Las rondas tienen una estructura
similar, con la excepcin de que cada una ocupa una funcin lgica primitiva diferente (f 1,
f2, f3 y f4).

La entrada a cada ronda consta del bloque de 512 bits que se est procesando (Yq) y los
160 bits de la memoria MD, ntese que cada bloque de 512 bits actualizar el valor de la
memoria temporal. Cada ronda tambin hace uso de la constante aditiva Kt,
donde

indica uno de los 80 pasos a lo largo de las cuatro rondas.

5. Una vez que se procesan los L bloques de 512 bits, el resumen del mensaje son los 160
bits de salida del ltimo bloque.
SSL
Secure Sockets Layer es un proceso que administra la seguridad de las transacciones
que se realizan a travs de Internet. El estndar SSL fue desarrollado por Netscape, junto
con Mastercard, Bank of America, MCI ySilicon Graphics. Se basa en un proceso
de cifrado de clave pblica que garantiza la seguridad de los datos que se envan a travs
de Internet. Su principio consiste en el establecimiento de un canal de comunicacin
seguro (cifrado) entre dos equipos (el cliente y el servidor) despus de una fase de
autenticacin.
Funcionamiento
Algunas aplicaciones que estn configurados para ejecutarse SSL incluyen navegadores
web como Internet Explorer y Firefox, los programas de correo como Outlook, Mozilla
Thunderbird, Mail.app de Apple, y SFTP (Secure File Transfer Protocol) programas, etc.
Estos programas son capaces de recibir de forma automtica conexiones SSL.
La seguridad de las transacciones a travs de SSL 2.0 se basa en el intercambio de
claves entre un cliente y un servidor. Una transaccin segura SSL se realiza de acuerdo al
siguiente modelo:

Primero, el cliente se conecta al servidor comercial protegido por SSL y pide la


autenticacin. El cliente tambin enva la lista de los criptosistemas que soporta,
clasificada en orden descendente por la longitud de la clave.
El servidor que recibe la solicitud enva un certificado al cliente que contiene la clave
pblica del servidor firmado por una entidad de certificacin (CA), y tambin el nombre
del criptosistema que est ms alto en la lista de compatibilidades (la longitud de la
clave de cifrado - 40 o 128 bits - ser la del criptosistema compartido que tiene el
tamao de clave de mayor longitud).

El cliente verifica la validez del certificado (y por consiguiente, la autenticidad del


vendedor), luego crea una clave secreta al azar (ms precisamente un supuesto
bloque aleatorio), cifra esta clave con la clave pblica del servidor y enva el resultado
del servidor (clave de sesin).

El servidor es capaz de descifrar la clave de sesin con su clave privada. De esta


manera, hay dos entidades que comparten una clave que slo ellos conocen. Las
transacciones restantes pueden realizarse utilizando la clave de sesin, garantizando
la integridad y la confidencialidad de los datos que se intercambian.

SSL 3.0 se orienta a autentificar el servidor directamente con el cliente y al cliente


directamente con el servidor.

Referencias
UNAM, Facultad de ingeniera, Fundamentos de criptografa. http://redyseguridad.fip.unam.mx/proyectos/criptografia/criptografia/index.php/5-criptografia-asimetrica-o-declave-publica/55-funciones-hash
http://neo.lcc.uma.es/evirtual/cdd/tutorial/presentacion/md5.html
http://www.redeszone.net/2010/11/09/criptografia-algoritmos-de-autenticacion-hash/
https://www.digicert.com/es/ssl.htm
http://revista.seguridad.unam.mx/numero-10/el-cifrado-web-ssltls
http://es.kioskea.net/contents/141-criptografia-secure-sockets-layers-ssl

Вам также может понравиться