Message Digest se utiliza para garantizar la integridad de un mensaje transmitido a través de un canal no seguro (donde se puede cambiar el contenido del mensaje). El mensaje se pasa a través de una función hash criptográfica . Esta función crea una imagen comprimida del mensaje llamada Digest .
Supongamos que Alice envió un mensaje y un par de resumen a Bob. Para verificar la integridad del mensaje, Bob ejecuta la función hash criptográfica en el mensaje recibido y obtiene un nuevo resumen. Ahora, Bob comparará el nuevo resumen y el resumen enviado por Alice. Si ambos son iguales, Bob está seguro de que el mensaje original no ha cambiado.
Este par de mensaje y resumen es equivalente a un documento físico y la huella digital de una persona en ese documento. A diferencia del documento físico y la huella digital, el mensaje y el resumen se pueden enviar por separado.
- Lo que es más importante, el resumen debe permanecer sin cambios durante la transmisión.
- La función hash criptográfica es una función unidireccional, es decir, una función que es prácticamente inviable de invertir. Esta función hash criptográfica toma un mensaje de longitud variable como entrada y crea un resumen/hash/huella digital de longitud fija, que se utiliza para verificar la integridad del mensaje.
- El resumen del mensaje garantiza la integridad del documento. Para brindar autenticidad al mensaje, el resumen se cifra con la clave privada del remitente. Ahora este resumen se llama firma digital, que solo puede ser descifrado por el receptor que tiene la clave pública del remitente. Ahora el receptor puede autenticar al remitente y también verificar la integridad del mensaje enviado.
Ejemplo:
el algoritmo hash MD5 se usa ampliamente para verificar la integridad de los mensajes. MD5 divide el mensaje en bloques de 512 bits y crea un resumen de 128 bits (normalmente, 32 dígitos hexadecimales). Ya no se considera confiable para su uso, ya que los investigadores han demostrado técnicas capaces de generar fácilmente colisiones MD5 en computadoras comerciales.
Las debilidades de MD5 han sido explotadas por el malware Flame en 2012.
En respuesta a las inseguridades de los algoritmos hash MD5, se inventó el algoritmo hash seguro (SHA) .
Implementación:
hash MD5 en Java
Preguntas GATE relacionadas:
GATE-CS-2014-(Conjunto-1)
GATE-CS-2016 (Conjunto 1)
Publicación traducida automáticamente
Artículo escrito por SreejitBose y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA