Qué es un HASH en Informática y Criptografía e + [Ejemplo con PYTHON🐍] 🔐
https://www.youtube.com/watch?v=JRYUxqghPG4
https://www.youtube.com/watch?v=it9suW1HN3Q
Descubre Qué es la Firma Digital en Criptografía (Asimétrica) 🔐 Ejemplo Clave Pública y Privada
¿Qué es un HASH en Informática y Criptografía?
Introducción
Después de explorar conceptos como criptografía, claves públicas, privadas, simétricas y asimétricas, llegamos a uno de los temas más importantes no solo en criptografía, sino en seguridad informática y comunicaciones en Internet: el HASH. Esta función criptográfica es la base de tecnologías como blockchain (utilizada en Bitcoin y otras criptomonedas). Prepárate para un tutorial práctico donde veremos cómo funciona el HASH, tanto de forma teórica como con ejemplos en Python.
Definición y Propiedades del HASH
El término "hash" proviene del inglés y significa "picadillo" o "mezcla". Las funciones hash criptográficas (también conocidas como funciones resumen) son algoritmos que toman un archivo de entrada (texto, imagen, video, etc.) y generan una cadena única de bits de longitud fija, llamada hash o resumen.
Características clave:
Unidireccionalidad: Es computacionalmente fácil calcular el hash a partir de un archivo, pero extremadamente difícil revertir el proceso (obtener el archivo original desde el hash).
Compresión: Independientemente del tamaño del archivo original, el hash siempre tendrá la misma longitud (ej: 256 bits para SHA-256).
Determinismo: El mismo archivo siempre producirá el mismo hash usando el mismo algoritmo.
Resistencia a colisiones: Es prácticamente imposible encontrar dos archivos diferentes que produzcan el mismo hash.
Efecto avalancha: Un pequeño cambio en el archivo original (ej: un solo bit) genera un hash completamente diferente.
Diferencias con el cifrado:
El hash no es un algoritmo de cifrado, ya que no usa claves y no permite recuperar el archivo original.
Su propósito principal es generar un identificador único y compacto del archivo.
Ejemplo Práctico: Creando un Hash Simple
Imagina que creamos un algoritmo hash llamado CB4 (Contando Bits de 4 caracteres). Para la palabra "QUIQUE":
Numeramos las letras: Q=1, U=2, I=3, E=4.
Sumamos primera y última posición: 1 + 4 = 5.
Sumamos posiciones pares e impares:
Pares: 2 + 4 = 6.
Impares: 1 + 3 = 4.
Multiplicamos: 6 * 4 = 24 → Redondeamos a 2.
Elevamos al cuadrado cada posición y sumamos:
1² + 2² + 3² + 4² = 1 + 4 + 9 + 16 = 30 → Redondeamos a 3.
Sumamos primera y segunda posición, dividimos por la última:
(1 + 2) / 4 = 0.75 → Redondeamos a 1.
Hash resultante: 5, 2, 3, 1 → "5231".
Aunque este ejemplo es simplificado, ilustra cómo funciona un hash: transforma datos en un resumen único.
Algoritmos Hash Comunes
MD5: Ampliamente usado en el pasado, pero ahora considerado inseguro debido a vulnerabilidades.
SHA-1: También vulnerable a colisiones, ya no se recomienda.
SHA-256 y SHA-512: Parte de la familia SHA-2, son estándares actuales. SHA-256 genera hashes de 256 bits, y SHA-512 de 512 bits.
Script en Python para Generar Hashes
import hashlib
def generar_hash():
print("Selecciona el algoritmo:")
print("1. SHA-256")
print("2. SHA-512")
opcion = input("Opción (1 o 2): ").strip()
texto = input("Introduce el texto: ").encode('utf-8')
if opcion == "1":
hash_resultado = hashlib.sha256(texto).hexdigest()
print(f"SHA-256: {hash_resultado}")
elif opcion == "2":
hash_resultado = hashlib.sha512(texto).hexdigest()
print(f"SHA-512: {hash_resultado}")
else:
print("Opción no válida.")
if __name__ == "__main__":
generar_hash()Ejecución:
El script permite elegir entre SHA-256 o SHA-512.
Introduce un texto y obtendrás su hash.
Prueba con "quique" vs "Quique": Verás cómo cambia el hash completamente por una mayúscula.
Aplicaciones del HASH
Firma digital: Se usa para verificar la autenticidad e integridad de documentos.
Almacenamiento de contraseñas: Las bases de datos guardan hashes de contraseñas (no las contraseñas en texto plano) para mayor seguridad.
Integridad de archivos: Permite validar que un archivo no ha sido modificado durante una transmisión.
Ejemplo: Alice calcula el hash de un mensaje y lo envía por un canal seguro. Bob recibe el mensaje, calcula su hash y lo compara con el de Alice. Si coinciden, el mensaje es íntegro.
Conclusión
El hash es una herramienta fundamental en criptografía y seguridad informática. Su capacidad para generar identificadores únicos y compactos lo hace esencial en tecnologías modernas como blockchain, verificación de integridad y protección de datos. En el próximo video, exploraremos la firma digital en detalle. ¡No te lo pierdas!
🔗 Recursos:
PDF resumen del tutorial (código de descuento: YOUTUBE60).
¡Suscríbete para más contenido sobre criptografía y seguridad!
Comentarios
Publicar un comentario