Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Algoritmos Criptográficos
Algoritmos Criptográficos
Algoritmos Criptogrficos
Un algoritmo criptogrfico es un algoritmo que modifica los datos de un
documento con el objetivo de alcanzar algunas caractersticas de seguridad
como autenticacin, integridad y confidencialidad.
Los algoritmos criptogrficos trabajan en combinacin con una llave (un
nmero, palabra, frase, o contrasea) para encriptar y des encriptar datos.
Para encriptar, el algoritmo combina matemticamente la informacin a
proteger con una llave provista. El resultado de este clculo son los datos
encriptados. Para des encriptar, el algoritmo hace un clculo combinando los
datos encriptados con una llave provista, siendo el resultado de esta
combinacin los datos des encriptados (exactamente igual a como estaban
antes de ser encriptados si se us la misma llave). Si la llave o los datos son
modificados el algoritmo produce un resultado diferente.
El objetivo de un algoritmo criptogrfico es hacer tan difcil como sea posible
des encriptar los datos sin utilizar la llave. Si se usa un algoritmo de
encriptacin realmente bueno, entonces no hay ninguna tcnica
significativamente mejor que intentar metdicamente con cada llave posible.
Incluso para una llave de slo 40 bits, esto significa 240 (poco ms de 1
trilln) de llaves posibles.
Clasificacin
Los algoritmos criptogrficos se pueden clasificar en tres grupos:
Hash
Hash se refiere a una funcin o mtodo para generar claves o llaves que
representen de manera casi unvoca a un documento, registro, archivo, etc.,
resumir o identificar un dato a travs de la probabilidad, utilizando una funcin
hash o algoritmo hash. Un hash es el resultado de dicha funcin o algoritmo.
Son usadas en mltiples aplicaciones, como los arrays asociativos, criptografa,
procesamiento de datos y firmas digitales, entre otros. Una buena funcin de
hash es una que experimenta pocas colisiones en el conjunto esperado de
entrada; es decir que se podrn identificar unvocamente las entradas.
SHA-1
Es un sistema de funciones hash criptogrficas relacionadas de la Agencia
Nacional de Seguridad estadounidense y publicadas por el National Institute of
MD5
Es un Algoritmo de reduccin criptogrfico de 128 Bits ampliamente usado. El
cdigo MD5 fue diseado por Ronald Rivest en 1991. Durante el ao 2004
fueron divulgados ciertos defectos de seguridad, lo que har que en un futuro
cercano se cambie de este sistema a otro ms seguro.
En 1996 Dobbertin anunci una colisin de Hash de la funcin de compresin
del MD5. Esto no era una ataque contra la funcin de hash del MD5, pero hizo
que los criptgrafos empezasen a recomendar el reemplazo de la codificacin
MD5 a otras como SHA-1 o RIPEMD-160. En Agosto de 2004 unos
investigadores chinos encontraron tambin colisiones hash en el MD5.
Actualmente el uso de MD5 es muy amplio y se desconoce cmo afectarn
estos problemas a su uso y a su futuro.
La codificacin del MD5 de 128 bits es representada tpicamente como un
nmero de 32 dgitos hexadecimal.
MD5 ha sido ampliamente usado, y originalmente se pensaba que era
criptogrficamente seguro. No obstante, ciertas investigaciones han destapado
vulnerabilidades que hacen cuestionable un futuro uso del MD5. El 17 de
Agosto del ao 2004 Xiaoyun Wang, Dengguo Feng, Xuejia Lai y Hongbo Yu
anunciaron que haban descubierto colisiones de hash para MD5. Su ataque
slo llev una hora de clculo con un clster IBM P690.
Aunque el ataque de Wang era analtico, el tamao del hash (128 bits) es
suficientemente pequeo para poder contemplar ataques de 'fuerza bruta' tipo
'cumpleaos'. MD5CRK era un proyecto distribuido que comenz en Marzo del
2004 con el propsito de demostrar que MD5 es inseguro encontrando una
colisin usando un ataque de 'fuerza bruta', aunque acab poco despus del
aviso de Wang.
Debido al descubrimiento de un mtodo fcil para generar colisiones de hash,
muchos investigadores recomiendan otros algoritmos tales como SHA-1 o
RIPEMD-160, para ser usados en lugar de MD5.
Ejemplo:
MD5("") = d41d8cd98f00b204e9800998ecf8427e