-¿Cuánto tiempo quieres que sean secretos esos mensajes? -le preguntó Randy
en el último mensaje antes de abandonar San Francisco-. ¿Cinco años? ¿Diez
años? ¿Veinticinco años?
Después de llegar al hotel esa tarde, Randy descifró y leyó la respuesta de Avi.
Todavía la tiene colgada frente a los ojos, como la imagen remanente de un flash.
Quiero que sigan siendo secretos mientras los hombres sean capaces del mal.
Neal Stephenson, “Criptonomicón”
Desde los tiempos del Antiguo Egipto hasta hoy en día ha pasado mucho tiempo, pero hay algo que no ha
cambiado: el anhelo del ser humano por esconder sus secretos. Criptografía.
Personajes como Cleopatra o El César ya aprendieron a valorar la importancia de esconder de ojos
indiscretos sus mensajes. La Scilata que los espartanos usaban allá por el año 400 a.C., o el propio código
César (un simple desplazamiento alfabético) fueron los inicios. Con el desarrollo de las ciencias, y más
concretamente de las matemáticas, la criptografía creció como un hermano menor, de la mano. En la Edad
Media comenzó a adquirir una gran importancia cuando un siervo del Papa Clemente VII escribió el primer
manual sobre el tema de la historia en el viejo continente. En 1466 León Battista Alberti ideó el sistema
polialfabético basado en la rotación de unos rodillos. Un siglo más tarde, Giovan Battista Belaso inventó la
clave criptográfica basada en una palabra o texto que se transcribía letra a letra sobre el mensaje original...
Pero si un punto ha marcado un antes y un después en la criptografía, ese ha sido la Segunda Guerra
Mundial. Ya a principios del pasado siglo XX se idearon los denominados “traductores mecánicos”, basados
en el concepto ideado en el siglo XV por Alberti de las ruedas concéntricas, y el sistema comenzó a tornarse
sumamente complejo, ya no bastaba con analizarlo concienzudamente para comprenderlo. Y eso nos llevó a
la Segunda Guerra Mundial, a los años 30 y 40 y a la máquina Enigma. Aunque mucha gente no lo sepa, la
criptografía fue uno de los principales motivos para que los aliados ganaran la guerra, pues los alemanes
creían el código de su máquina Enigma inviolable, y de hecho sí que era extremadamente complejo. Pero al
igual que antes comentaba que el anhelo humano de esconder secretos es eterno, también lo es su anhelo
por desenterrar secretos ajenos. Un equipo de criptoanalistas, matemáticos y demás mentes privilegiadas
(entre ellos Alan Turing, uno de los padres de la informática) logró en 1942 lo que parecía imposible: romper
el cifrado de Enigma. Para ello diseñaron las llamadas “bombas navales” (las bombes), aparatos de cálculo
mecánicos que se encargaban de romper el cifrado alemán y entregar todos los secretos a los aliados.
Igualmente, el Purple (versión japonesa de Enigma) fue roto en Midway por un equipo dirigido por el
comandante Joseph J. Rochefort. El hecho de conocer los secretos, de tener todas las llaves (nunca mejor
dicho), dio la vuelta a la guerra y cambió el curso de la historia. Y el mundo nunca volvió a ser el mismo.
El nacimiento de la informática y de los criptosistemas informático supuso un cambio radical del concepto de
criptografía, y también del criptoanálisis. Los criptosistemas y los algoritmos aumentaron repentinamente y
de forma descomunal su complejidad. Desde el DES hace ya mucho, hasta los criptosistemas asimétricos
de curvas elípticas actuales todo ha cambiado también mucho, pero uno de esos cambios ha supuesto el
segundo gran punto de inflexión de la criptografía: PGP. Hasta entonces el privilegio de guardar secretos
estaba exclusivamente en manos de los gobiernos o los poderosos, y hoy día, seguramente gracias a PGP,
es un derecho de cualquier ciudadano por humilde que sea (aunque en algunos países no sea así).
Arriesgando mucho, Philip Zimmermann nos abrió las puertas a la criptografía, y a la libertad de
comunicarnos de forma segura.
Por supuesto hay otros nombres que son capitales en el desarrollo de los criptosistemas informáticos, aparte
de Zimmermann: Rivest, Shamir, Adleman, Diffie, Hellman, ElGamal, Rijmen, Daemen, Massey, Miller,
Goldwaser... Todos ellos son padres de lo que hoy se llama criptografía. Gracias a todos.
Criptografía, el arte de ocultar. La palabra tiene su origen en el griego: kryptos (oculto, escondido) y
graphein (escribir). El arte de ocultar un mensaje mediante signos convencionales es muy antiguo, casi
tanto como la escritura. Y efectivamente siempre ha sido considerado un arte hasta hace relativamente
poco, cuando Claude E. Shannon publicó en dos años dos documentos que supusieron la fundación de la
moderna Teoría de la Información. Esos documentos son:
•[SHA48] C. E. Shannon, “A mathematical theory of communication”, Bell System Tech. J. 27
(1948), 379-423 y 623-656.
•[SHA49] C. E. Shannon, “Communication theory of secrecy systems”, Bell System Tech. J.
28 (1949), 656-715.
A partir de entonces, y unido al desarrollo de la computación moderna, el desarrollo de la criptografía
alcanzó nuevos horizontes.
Antes de entrar en más detalles, hay que comprender que la criptografía se complementa con otra rama de
estudio, el criptoanálisis, que estudia el camino inverso de la criptografía, dedicando sus esfuerzos a
desentrañar los secretos que la criptografía se empeña en mantener ocultos. Ambas ramas conforman lo
que entendemos como criptología.
criptografía
(Del gr. κρυπτóς, oculto, y -grafía).
1. f. Arte de escribir con clave secreta o de un modo enigmático.
* FUENTE: Real Academia Española (http://www.rae.es/)
criptoanálisis
(Del gr. κρυπτóς, oculto, y análisis).
1. m. Arte de descifrar criptogramas.
* FUENTE: Real Academia Española (http://www.rae.es/)
Texto en claro y criptogramas
En el ámbito criptográfico, entendemos por Texto en claro cualquier información que resulta legible y
comprensible per se. Un texto en claro sería cualquier información antes de ser encriptada o después de ser
desencriptada. Se considera que cualquier información es vulnerable si se encuentra en este estado.
Así mismo, denominamos criptograma a cualquier información que se encuentre convenientemente cifrada
y no resulte legible ni comprensible más que para el destinatario legítimo de la misma.
El mecanismo de transformar un texto en claro en un criptograma lo denominamos encriptación o cifrado,
y al proceso de recuperación de la información a partir de un criptograma lo denominamos desencriptacióno descifrado.
Es muy importante no confundir estos términos con codificación o decodificación, pues codificación es el
acto de representar la información de distintas formas, pero no necesariamente encriptadas. Por ejemplo, un
número decimal puede codificarse como hexadecimal, y no por ello se convierte en un criptograma.
En un criptosistema la información sigue un flujo siempre fijo:
Emisor
Texto en claroCriptograma Texto en claro
El emisor cifra el texto en claro para obtener el criptograma, que viaja por un canal ruidoso. El receptor
descifra el criptograma y obtiene de nuevo el texto en claro que el emisor le envió. Durante toda la
transmisión, el mensaje es ilegible.
Cifrado
CANAL RUIDOSO
Descifrado
Receptor
Criptosistemas
Antes de nada, es conveniente definir qué entendemos -matemáticamente- por criptosistema. Un
criptosistema es una cuaterna de elementos formada por:
•Un conjunto finito llamado alfabeto, que según unas normas sintácticas y semánticas, permite
emitir un mensaje en claro así como su correspondiente criptograma.
•Un conjunto finito denominado espacio de claves formado por todas las posibles claves, tanto
de encriptación como de desencriptación, del criptosistema.
•Una familia de aplicaciones del alfabeto en sí mismo que denominamos transformaciones de
cifrado.
•Una familia de aplicaciones del alfabeto en sí mismo que denominamos transformaciones de
descifrado.
Ya sabemos qué es un criptosistema, pero ¿qué es un criptosistema informático? Un criptosistema
informático se definiría por los siguientes cuatro elementos:
•Un conjunto finito denominado alfabeto, que permite representar tanto el texto en claro como el
criptograma. A bajo nivel hablaríamos de bits, y a más alto nivel podríamos hablar de caracteres
ASCII o MIME.
•Un conjunto finito denominado espacio de claves. Estaría constituido por la totalidad de las
claves posibles del criptosistema.
•Una familia de transformaciones aritmético-lógicas que denominamos transformaciones de
cifrado.
•Una familia de transformaciones aritmético-lógicas que denominamos transformaciones de
descifrado.
Se trata simplemente de un criptosistema adaptado a las posibilidades y limitaciones de una computadora.
El alfabeto o espacio de caracteres suele ser un estándar de representación de información (típicamente
MIME o UNICODE por motivos de compatibilidad) y a más bajo nivel, por bits. Las transformaciones de
cifrado y descifrado se ciñen a las normas de computación de los ordenadores actuales. En realidad, a
efectos prácticos no existe mucha diferencia entre criptosistema matemático e informático, pues los
matemáticos suelen diseñarse pensando en representaciones computacionales (pues solamente los
ordenadores tienen la potencia necesaria para soportar los complejos algoritmos), y los informáticos se
desarrollan siempre con una base matemática.
Comenzaremos definiendo el término algoritmo por si algún despistado no sabe qué es.
algoritmo
(Quizá del lat. tardío *algobarismus, y este abrev. del ár. clás. hisābu lgubār, cálculo
mediante cifras arábigas).
1. m. Conjunto ordenado y finito de operaciones que permite hallar la solución de un
problema.
2. m. Método y notación en las distintas formas del cálculo.
* FUENTE: Real Academia Española (http://www.rae.es/)
Ahora veamos la definición de algoritmo que da un manual de programación algorítmica:
algoritmo
Descripción precisa de una sucesión de instrucciones que permiten llevar a cabo un trabajo
en un número finito de pasos.
* FUENTE: J. Castro, F. Cucker, X. Messeguer, A. Rublo, L. Solano, B. Valles, “Curso
de Programación”, McGraw Hill. (1993), 2. ISBN 84-481-1959-2
Así pues, un algoritmo debe describir de forma unívoca y sin dar lugar a interpretaciones, la solución a un
problema en un numero de pasos concreto. Ya podemos deducir qué es un algoritmo de encriptación: una
descripción unívoca y concreta de cómo funciona un criptosistema determinado.
Clave criptográfica
El concepto de clave criptográfica surge con el propio concepto de la criptografía, y es el alma de un
algoritmo de encriptación.
Obviamente un algoritmo tiene que poseer la capacidad de ser usado muchas veces sin que su mecanismo
sea idéntico, pues de lo contrario cada persona debería tener su propio algoritmo de encriptación. Para
implementar esta funcionalidad, se usan las claves. La clave es un dato que interviene de forma activa en la
ejecución del algoritmo y lo personaliza.
Atendiendo únicamente al tipo de clave, podemos distinguir dos criptosistemas:
Sistemas de clave única o criptosistemas simétricos: Son aquellos en los que los procesos de cifrado y
descifrado son llevados a cabo por una única clave.
Sistemas de clave pública o criptosistemas asimétricos: Son aquellos en los que los procesos de cifrado
y descifrado son llevados a cabo por dos claves distintas y complementarias.
Ejemplo:
Si usamos un sistema de criptografía simétrica por sustitución, con una clave x=3...
A día de hoy, gracias a los ordenadores y los superordenadores (típicamente clusters) es posible realizar
complejos cómputos matemáticos en un espacio de tiempo relativamente corto. Así pues, el campo del
criptoanálisis está íntimamente ligado a esta potencia de cálculo.
Para que un algoritmo se considere seguro, su criptoanálisis sin la clave necesaria debe ser
computacionalmente imposible de resolver. Consideramos “imposible” de resolver un sistema cuya
vulneración necesite mayores recursos (económicos o en tiempo) que el beneficio reportado. Por ejemplo,
ser consideraría seguro un criptosistema que requisiera miles de años para ser descifrado.
Para lograr semejante complejidad, se tratan números o conjuntos de números enormes. Es obvio que a
mayor tamaño de estos números, existe un mayor número de claves posibles, y la posibilidad de éxito del
criptoanálisis es menor.
Hoy en día este tamaño se denomina longitud de clave, y se mide típicamente en los bits que ocupa la
clave. Así, una clave de un número de 1024 bits sería un número cualquiera desde el 0 hasta el 1,8 * 10^308
(2^1024). Al representar las longitudes de clave como potencias de dos, es importante darse cuenta de la
relación existente entre las longitudes de clave. Una clave de 1025 bits es el doble de larga que una de 1024
(2^1025 frente a 2^1024).
A día de hoy se usan claves que oscilan entre los 512 bits y los 4096 bits de longitud.
Son los criptosistemas más sencillos. Se trata de algoritmos que trabajan con una única clave de doble
función (cifrado y descifrado). Dentro de los sistemas simétricos distinguimos dos tipos de algoritmos: los de
cifrado de bloque, que dividen el texto en claro en bloques de tamaño prefijado (por ejemplo 64 bits) y los
cifran bloque a bloque; y los de cifrado de flujo, que cifran bit a bit o byte a byte.
A continuación vemos algunos de los principales algoritmos criptográficos simétricos:
DES:
Data Encryption Standard (1976)
RFC's relacionados
#1829 - “The ESP DES-CBC Transform” - ftp://ftp.rfc-editor.org/in-notes/rfc1829.txt
#2952 - “Telnet Encryption: DES 64 bit Cipher Feedback” - ftp://ftp.rfc-editor.org/in-notes/rfc2952.txt
#2953 - “Telnet Encryption: DES 64 bit Output Feedback” - ftp://ftp.rfc-editor.org/in-notes/rfc2953.txt
Descripción
Algoritmo simétrico de cifrado en bloques de 64 bits basado en LUCIFER (criptosistema interno de IBM).
Fue ideado por IBM y aceptado por el NIST (National Institute of Standars and Technology) en 1976. Se
trata de un algoritmo de 64 bits de clave de los cuales 56 bits componen la clave de cifrado propiamente
dicha, mientras los 8 restantes son de paridad y se usan para corrección de errores.
DES actualmente ya no es estándar criptográfico y fue roto en Enero de 1999 con un sistema de cómputo
que analizaba 250.000.000.000 claves por segundo.
Su principal ventaja es la rapidez de cálculo y la sencillez de su implementación.
Sus principales defectos son la poca longitud de clave que maneja, unido a la incapacidad de manejar claves
de longitud variable; y su debilidad en un uso continuado de la misma clave, pues si se disponen de
suficientes criptogramas, mediante criptoanálisis diferencial es posible romper la clave en 2^47 iteraciones.
Triple-DES:
Triple - Data Encryption Standard (1995)
RFC's relacionados
#3217 - “Triple-DES and RC2 Key Wrapping” - ftp://ftp.rfc-editor.org/in-notes/rfc3217.txt
#3537 - “Wrapping a Hashed Message Authentication Code (HMAC) key with a Triple-Data
Encryption Standard (DES) Key or an Advanced Encryption Standard (AES) Key” -
ftp://ftp.rfc-editor.org/in-notes/rfc3537.txt
Descripción
Dada la capacidad de cómputo actual y la relativa facilidad que supone romper el algoritmo DES, se
desarrolló un sistema de triple aplicación al algoritmo DES, con tres claves diferentes para aplicar
sucesivamente (en realidad se usa una clave externa dividida para aplicación intermedia dado que DES
matemáticamente no es grupo, y su aplicación repetida ocasionaría un aumento efectivo de tamaño).
Mediante este sistema se obtiene un cifrado de 192 bits (168 efectivos y 24 de paridad) con tres claves que
resulta mucho más complejo de vulnerar.
En 1977 el NIST organizó un concurso a nivel mundial para crear un sistema que cumpliera los requisitos de
seguridad necesarios para convertirse en estándar a nivel mundial. Este estándar se denomina AES(Advanced Encryption Standard) y el algoritmo AEA (Advanced Encryption Algorithm).
Muchos expertos presentaron sus propuestas, pero el ganador fue el conocido como algoritmo Rijndael,
creado por los belgas Vincent Rijmen y Joan Daemen. Se trata de un algoritmo simétrico que puede
funcionar mediante cifrado en bloques de longitud variable o en flujo y que se sirve de claves de longitud
variable (128, 192 ó 256 bits).
Su algoritmo puede resumirse de la siguiente forma:
Toma el texto en claro y lo cifra en bloques para obtener el punto intermedio llamado Estado, que
A
se representa como una matriz de bytes de cuatro filas.
A partir del Estado, se realizan las siguientes operaciones en forma de bucle durante un número
B
determinado de iteraciones.
Sustitución de bytes no lineal, operando independientemente sobre cada uno de los bytes del
b1
Estado.
Desplazamiento de las filas del Estado cíclicamente con offsets diferentes.
b2
Mezcla de columnas, que se realiza multiplicando las columnas del Estado módulo x*4+1,
b3
consideradas como polinomios en GF(28), por un polinomio fijo c(x).
Adición de la clave de vuelta, en la que se aplica al Estado por medio de un simple XOR. La clave
b4
de cada vuelta se deriva de la clave de cifrado mediante el esquema de clave.
El esquema de clave consiste en dos operaciones, expansión de clave y selección de clave de
C
vuelta de cifrado, y el proceso de cifrado consta de tres pasos: una adición inicial de la clave de
vuelta, n-1 vueltas de cifrado y una vuelta final.
* FUENTE: HTML Web, Seguridad, Criptografía (http://www.htmlweb.net/)
Se puede encontrar información mucho más detallada de la descripción algorítmica de AES en el siguiente
enlace: http://home.ecn.ab.ca/~jsavard/crypto/co040401.htm.
Hoy en día AES es, efectivamente, el estándar en cifrado simétrico, siendo usado por sistemas tan
populares como Pretty Good Privacy (PGP).
#3058 - “Use of the IDEA Encryption Algorithm in CMS“ - ftp://ftp.rfc-editor.org/in-notes/rfc3058.txt
Descripción
IDEA fue creado en 1990 por Xuejia Lai y L. Massey. Se trata de un algoritmo simétrico de cifrado en
bloques de 64 bits. Su funcionamiento se basa en operaciones sencillas como multiplicaciones de enteros,
sumas y XOR. IDEA trabaja con claves de 128 bits de longitud.
Es importante reseñar que IDEA es un algoritmo que si bien es de uso libre para fines no comerciales, sí que
está cubierto por patentes, concretamente:
•USA y Canadá - Patente 5.214.703 - Expira el 25 de Mayo de 2010.
•Europa(*) - Patente 0482154 - Expira el 16 de Mayo de 2011.
•(*): Austria, Francia, Alemania, Italia, Holanda, España, Suecia, Suiza, Reino Unido.
•Japón - Patente JP3225440B2 - No hay información de la fecha de expiración.
Precisamente a causa de esta patente, el sistema gnuPG no lo incluye como algoritmo de cifrado simétrico
(a pesar de que PGP sí lo hace), siendo necesario añadirlo mediante un parche al software.
RC6:
Rivest Cypher 6 (1998)
RFC's relacionados
#2040 - “The RC5, RC5-CBC, RC5-CBC-Pad, and RC5-CTS Algorithms” -
ftp://ftp.rfc-editor.org/in-notes/rfc2040.txt
Descripción
RC6 fue uno de los finalistas del concurso AES del NIST. Fue ideado por el matemático Ron Rivest (autor de
muchos y famosos algoritmos criptográficos) en 1998. El algoritmo es propiedad de la empresa RSASecurity.
RC6 supone la evolución de los algoritmos RC, RC2, RC4 y RC5. Concretamente, se trata de una
adaptación del sistema RC5 para cumplir los requisitos del concurso AES. Se trata de un algoritmo simétrico
de cifrado de flujo con claves de longitud variable entre 40 y 2040 bits, siendo por defecto 128.
Su algoritmo se basa en una mezcla de sumas, restas, multiplicaciones, XOR y rotaciones, y se puede
encontrar una amplia descripción, así como un ejemplo de su implementación en el siguiente enlace:
Twofish es un algoritmo simétrico de cifrado en bloques de 64 bits. Supone la evolución natural de su
predecesor, Blowfish, y fue otro de los cinco finalistas del concurso AES del NIST. El algoritmo es
totalmente libre, tanto de patentes como de copyright.
Twofish maneja claves de 128, 192 ó 256 bits y es muy potente a la par que extremadamente sencillo de
implementar y rápido (18 ciclos por byte en una arquitectura Pentium I, más rápido que RC5, IDEA, DES,
Triple DES, Serpent, Square, Cast-128, Feal-32, etc). Estas características le han llevado a ser incluido en el
estándar SSH (Secure Shell).
Una descripción precisa del algoritmo y su implementación puede ser encontrada en el siguiente enlace:
MARS es otro de los finalistas del concurso del NIST. Fue ideado por IBM como un algoritmo simétrico de
cifrado en bloques de 128 bits. Su longitud de clave es variable, trabajando con claves de 128 a 448 bits.
Comparado con el anterior gran algoritmo de IBM, el DES-3, la complejidad y potencia es mucho mayor, a la
vez que es mucho más rápido de ejecutar (65 Mbit/s en un Pentium-Pro).
Después de no haber sido elegido como ganador del concurso AES, IBM liberó el algoritmo MARS para uso
público, aunque no es muy usado en la actualidad.
En el libro "MARS - a candidate cipher for AES", publicado por IBM Corporation en Septiembre de 1999,
podemos encontrar una descripción completa del algoritmo y sus diversas implementaciones:
http://www.research.ibm.com/security/mars.pdf.
CAST-256:
Carlisle Adams - Stafford Tavares - 256 (1997)
RFC's relacionados
#2612 - “The CAST-256 Encryption Algorithm” - ftp://ftp.rfc-editor.org/in-notes/rfc2612.txt
Descripción
CAST-256 fue desarrollado a partir del algoritmo CAST-128. Se trata de un algoritmo simétrico de cifrado en
bloques de 128 bits que maneja claves de 128, 160, 192, 224, ó 256 bits. Su funcionamiento es muy
complejo, combinando el sistema de permutación-rotación similar al utilizado por DES con otros sistemas
más complejos, como combinaciones de XOR o uso de f-funciones (de tres formas distintas y excluyentes).
En el RFC citado arriba se puede encontrar una descripción detallada de su funcionamiento e
implementación.
Los criptosistemas de resumen, conocidos familiarmente como funciones o algoritmos hash, constituyen un
tipo especial de criptosistemas. Muchos manuales de criptografía los sitúan como un subgrupo de los
criptosistemas simétricos, pero a mí me gusta considerarlos como un grupo independiente debido a sus
características especiales.
Para empezar, en los algoritmos hash no existe el concepto de clave criptográfica, ni tampoco el concepto
de descifrado; el concepto de algoritmo criptográfico se mantiene; y surge un nuevo concepto denominado
fingerprint, huella digital, resumen ó hash.
Así pues, un algoritmo tipo hash acepta como entrada un mensaje de longitud arbitraria, y tras efectuar
sobre él los cálculos determinados por el algoritmo, devuelve una cadena de caracteres que representa el
hash del mensaje al que aplicamos el algoritmo. Este hash NO puede ser denominado criptograma dado
que no es posible el proceso de descifrado que nos devolvería el mensaje original.
Para que quede más claro, vamos a ver las características que definen a los criptosistemas de tipo hash:
•Unidireccional: Conocido un hash, es computacionalmente imposible la reconstrucción del
mensaje original.
•Compresión: A partir de un mensaje de cualquier longitud se obtiene un hash de un tamaño fijo,
normalmente menor que el del mensaje original.
•Difusión: El resumen es una función compleja de todos los bits del mensaje.
•Colisión simple: Se conoce como resistencia débil a las colisiones el hecho de que dado un
mensaje cualquiera, es computacionalmente imposible encontrar otro mensaje cuyo hash sea
igual.
•Colisión fuerte: Se conoce como resistencia fuerte a las colisiones el hecho de que sea
computacionalmente difícil encontrar dos mensajes cuyo hash sea idéntico.
Estas características hacen de los criptosistemas hash el medio perfecto para autentificación de todo tipo de
información, con usos que van desde la autentificación de ficheros descargados a través de Internet, hasta
checksum de paquetes TCP/IP. Es tan sencillo como conocer el hash de la información y una vez obtenida
realizar de nuevo la función hash para comparar las cadenas de salida.
A continuación vemos algunos de los principales algoritmos criptográficos de tipo hash:
MD5:
Message Digest 5 (1992)
RFC's relacionados
#1321 - “The MD5 Message-Digest Algorithm“ - ftp://ftp.rfc-editor.org/in-notes/rfc1321.txt
#1810 - “Report on MD5 Performance“ - ftp://ftp.rfc-editor.org/in-notes/rfc1810.txt
#1828 - “IP Authentication using Keyed MD5“ - ftp://ftp.rfc-editor.org/in-notes/rfc1828.txt
#1864 - “The Content-MD5 Header Field“ - ftp://ftp.rfc-editor.org/in-notes/rfc1864.txt
Descripción
MD5 fue ideado por el matemático Ron Rivest, y supone la evolución de los algoritmos MD2 y MD4. Se trata
de una función criptográfica de tipo hash que acepta como entrada un mensaje de cualquier longitud y
devuelve como salida una cadena de 128 bits (usualmente una cadena de 32 caracteres hexadecimales).
Su fácil implementación y su gran popularidad le hacen uno de los principales algoritmos hash de la red,
usado principalmente en comprobación de ficheros en Internet.
Death Master, 2004 (GPL)Página 13
Loading...
+ 30 hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.