Tutorial de criptografía

⚡ Resumen inteligente

La criptografía protege la información transformándola en un formato ilegible para los humanos que solo quien posea la clave correcta puede revertir. Esta página describe sus características, aplicaciones, algoritmos y un ejercicio práctico con CrypTool.

  • 🔐 Idea central: El cifrado convierte el texto plano en un código cifrado; el descifrado lo revierte utilizando una clave secreta.
  • 🧩 Tres disciplinas: La criptografía oculta el significado, el criptoanálisis lo descifra y la criptología abarca ambos.
  • 📐 Familias de algoritmos: Las funciones hash, los cifrados simétricos y los sistemas de clave pública resuelven problemas diferentes.
  • Normas actuales: AES y SHA-2 siguen estando aprobados, mientras que MD5, SHA-1 y RC4 se consideran defectuosos.
  • 🧪 Práctica práctica: CrypTool 1 muestra el cifrado RC4 y el análisis por fuerza bruta de una clave de 24 bits.
  • 🔮 Mirando hacia el futuro: El NIST publicó sus primeros estándares post-cuánticos en agosto de 2024.

Tutorial de criptografía

La información desempeña un papel vital en las operaciones comerciales, gubernamentales y militares, y si cae en manos equivocadas, puede ocasionar pérdidas económicas o consecuencias aún peores. Para garantizar la seguridad de las comunicaciones, las organizaciones utilizan la criptografía para cifrar la información, transformándola en un formato ilegible para humanos y luego revirtiéndola.

En este artículo sobre criptografía y seguridad de redes, aprenderá cómo funciona la criptología y cómo evitar que la información caiga en manos equivocadas.

¿Qué es la criptografía?

La criptografía es el estudio y la aplicación de técnicas que ocultan el verdadero significado de la información transformándola en formatos ilegibles para los humanos y luego revirtiéndola al formato original.

Consideremos un ejemplo. Para enviar “ME ENCANTAN LAS MANZANAS”, se reemplaza cada letra con la tercera letra consecutiva del alfabeto, obteniendo “K NQXG CRRNGU”. Para leerlo, el destinatario retrocede tres letras, como se muestra a continuación.

Cifrado y descifrado desplazando cada letra tres posiciones.
Cifrado y descifrado de cifrado

Convertir información en un formato no legible para humanos se llama cifradoy revertirlo se llama desencriptaciónEl resultado cifrado se conoce como cifra.

El descifrado utiliza una clave secreta conocida únicamente por los destinatarios legítimos. Dado que la clave es necesaria, la comunicación se mantiene segura incluso si un atacante intercepta el cifrado, que carece de sentido sin ella.

Características de la criptografía

Un sistema criptográfico se evalúa según las siguientes características.

Elemento Qué significa
Algoritmo El procedimiento matemático publicado que realiza la transformación.
Confidencialidad Solo quienes posean la clave pueden leer los datos protegidos.
Integrity Cualquier cambio en los datos es detectable.
Adaptabilidad El sistema se adapta a diferentes tamaños de llaves y niveles de amenaza.
Interoperabilidad Diferentes sistemas y proveedores intercambian datos protegidos.
Autenticación El origen de un mensaje puede comprobarse.
Escalabilidad organizacional El rendimiento se mantiene estable a medida que aumenta el volumen de datos.
Gestión de claves Las claves se generan, almacenan, rotan y retiran de forma segura.

Aplicaciones de la Criptografía

Esas características se convierten en servicios cotidianos en los que la gente confía sin darse cuenta.

Aplicación Cómo se utiliza la criptografía
Encriptación TLS Protege el tráfico entre un navegador y un sitio web.
Almacenamiento de contraseñas Almacena hashes con sal en lugar de contraseñas legibles.
Banca en línea Garantiza la seguridad de las transacciones y verifica el banco.
Criptomonedas Firma transacciones y vincula bloques con hashes.
Correo electrónico encriptado Mantiene la privacidad del contenido de los mensajes durante la transmisión y el almacenamiento.
Digifirmas tal Demuestra la autoría y que el documento no ha sido modificado.
Mensajería segura Aplica cifrado de extremo a extremo entre dispositivos.
E-commerce Protege los datos de la tarjeta durante el proceso de pago.

¿Qué es el criptoanálisis?

El criptoanálisis es el arte de descifrar mensajes sin la clave utilizada para cifrarlos. Aplica análisis matemáticos y algoritmos para descifrar códigos y se utiliza tanto para vulnerar sistemas como, con fines defensivos, para medir el nivel de protección que ofrece un algoritmo.

El éxito de un ataque de criptoanálisis depende de:

  • Cantidad de tiempo disponible
  • Potencia informática disponible
  • Capacidad de almacenamiento disponible

A continuación se describen los ataques de criptoanálisis más comunes:

  • Ataque de fuerza bruta — prueba todas las combinaciones posibles del texto plano o la clave, cifrando cada una y comparándola con el cifrado original.
  • Ataque de diccionario — utiliza una lista de palabras para hacer coincidir el texto plano o la clave. Se utiliza principalmente cuando se intenta descifrar contraseñas cifradas.
  • Ataque a la mesa arcoiris — compara el texto cifrado con hashes precalculados para encontrar coincidencias. Añadir un valor aleatorio a cada contraseña almacenada lo invalida.

¿Qué es la criptología?

La criptología es el campo general que combina la criptografía y el criptoanálisis. Ambas partes son importantes: un algoritmo solo se considera fiable una vez que los criptoanalistas han intentado, sin éxito, descifrarlo.

Cifrado Algorithms

Los algoritmos que se muestran a continuación aparecen con frecuencia en trabajos de seguridad. Observe cuáles siguen vigentes y cuáles solo se conservan en sistemas heredados.

  • MD5 — abreviatura de Message-Digest 5, produce valores hash de 128 bits. MD5 es una función hash en lugar de cifradoPor lo tanto, no se puede revertir por diseño. No es resistente a colisiones (dos entradas diferentes pueden producir el mismo hash) y no es adecuado para contraseñas ni firmas.
  • SHA — abreviatura de Secure Hash Algorithm (Algoritmo de Hash Seguro), esta familia genera representaciones condensadas de un mensaje, llamadas resumen del mensaje:
    • SHA-0Produce valores hash de 160 bits. Fue retirado debido a un fallo importante y reemplazado por SHA-1.
    • SHA-1Produce valores hash de 160 bits. En 2017 se demostró una colisión práctica y el NIST lo prohibió para firmas digitales, así que evítelo.
    • SHA-2: una familia de seis funciones que incluyen SHA-256 y SHA-512, que funcionan con palabras de 32 y 64 bits respectivamente. Ambas siguen estando aprobadas.
    • SHA-3: estandarizado en 2015 y anteriormente conocido como Keccak, utiliza un diseño interno diferente como respaldo para SHA-2.
  • AES El Estándar de Cifrado Avanzado (AE) es el cifrado de bloques simétrico que protege la mayoría de los datos en reposo y en tránsito en la actualidad, con claves de 128, 192 y 256 bits. Reemplazó a DES y es el estándar predeterminado para los sistemas nuevos.
  • RC4 — un cifrado de flujo que alguna vez fue común en Secure Sockets Layer (SSL) y Wired Equivalent Privacy (WEP). Ambos protocolos están obsoletos, y el RFC 7465 prohibió RC4 en todas las versiones de TLS en 2015. Se conserva aquí como ejemplo didáctico.
  • Blowfish — Un cifrado de bloques simétrico con clave, utilizado históricamente para contraseñas y archivos. Su tamaño de bloque de 64 bits convierte a AES en la mejor opción moderna.

De cara al futuro, el NIST publicó en agosto de 2024 sus primeros estándares post-cuánticos: ML-KEM para el intercambio de claves, ML-DSA y SLH-DSA para las firmas, que irán sustituyendo gradualmente a los algoritmos de clave pública actuales.

Actividad de pirateo informático: Cómo crear un cifrado usando CrypTool

En este ejercicio práctico de CrypTool, crearás un cifrado simple con RC4 y luego lo recuperarás mediante un análisis de fuerza bruta, suponiendo que se conoce la clave de 24 bits. El objetivo es demostrar por qué una clave corta y un cifrado roto no ofrecen una protección real.

Creando el cifrado de flujo RC4

Paso 1) Descarga e instala CrypTool.

CrypTool 1 es una herramienta educativa de código abierto para criptología. El desarrollo activo se ha trasladado a CrypTool 2, pero la versión 1.4.42 todavía funciona en Windows y coincide con las pantallas a continuación. Descárguelo desde criptool.org.

Paso 2) Abra CrypTool y reemplace el texto

La frase a cifrar es Nunca subestimes la determinación de un niño que tiene mucho tiempo y poco dineroLa clave es 00 00 00.

  • Abra CrypTool 1.

Ventana principal de CrypTool 1 antes de que se reemplace el texto de muestra.

  • Reemplaza el texto con la frase anterior.

Documento de CrypTool que contiene la frase de reemplazo

Paso 3) Cifrar el texto

  • Haz clic en el menú Cifrar/Descifrar.

Menú Cifrar/Descifrar de CrypTool con la opción Moderna Simétrica seleccionada.

  • Seleccione Simétrico (moderno) y luego RC4.

Diálogo de introducción de claves de CrypTool RC4

Paso 4) Seleccione la clave de cifrado.

  • Seleccione 24 bits como longitud de clave.
  • Establezca el valor en 00 00 00.
  • Haz clic en Cifrar para generar el cifrado de flujo que aparece a continuación.

El cifrado de flujo RC4 resultante se muestra en CrypTool.

Atacar el cifrado de flujo

Paso 5) Iniciar el análisis

  • Haz clic en el menú Análisis.

Menú de análisis de CrypTool con cifrado simétrico moderno resaltado

  • Seleccione Cifrado simétrico (moderno) y, a continuación, RC4.

Diálogo de análisis de fuerza bruta de CrypTool para RC4

  • Se parte de la base de que la clave secreta es de 24 bits, así que seleccione 24 bits como longitud de la clave.
  • Haga clic en Inicio.

Ventana de progreso del análisis de fuerza bruta de CrypTool

  • Nota: El tiempo necesario depende de la capacidad de procesamiento de la máquina utilizada y de la longitud de la clave. Una clave más larga requiere más tiempo, por lo que las claves modernas son de 128 bits o más.

Paso 6) Analizar los resultados

  • Cuando finaliza el análisis, las claves candidatas aparecen clasificadas de la siguiente manera.

Resultados de fuerza bruta de CrypTool ordenados por entropía

  • Nota: Un valor de entropía más bajo suele indicar el resultado correcto, aunque uno más alto también puede serlo.
  • Seleccione la línea que parezca texto coherente y, a continuación, haga clic en Aceptar selección.

Preguntas Frecuentes

El cifrado simétrico utiliza una clave compartida y es rápido, por lo que protege grandes cantidades de datos. El cifrado asimétrico utiliza un par de claves, una pública y otra privada, lo que resuelve el problema de la distribución de claves y permite el uso de firmas digitales.

No. El cifrado es reversible con una clave; el hash es una transformación unidireccional a un resumen de longitud fija. Los sistemas de contraseñas almacenan hashes con sal precisamente porque el valor original no se puede recuperar.

Un valor aleatorio único (salt) se almacena junto a cada hash de contraseña. Hace que las contraseñas idénticas generen hashes diferentes, lo que invalida las tablas arcoíris precalculadas y obliga al atacante a trabajar en cada cuenta por separado.

Un certificado digital vincula una clave pública a una identidad verificada y está firmado por una autoridad de certificación. Los navegadores comprueban esa firma antes de confiar en la conexión cifrada a un sitio web.

Una supercomputadora cuántica rompería los algoritmos RSA y las claves de curva elíptica, mientras que los cifrados simétricos solo requieren claves más grandes. El NIST respondió publicando estándares post-cuánticos en 2024 para que la migración pueda comenzar cuanto antes.

El aprendizaje automático no descifra los algoritmos modernos más robustos. En cambio, se utiliza para el análisis de canales laterales, la detección de claves débiles o reutilizadas a gran escala y la identificación de tráfico cifrado anómalo durante la detección de amenazas.

Copilot agiliza el código repetitivo, pero a menudo sugiere algoritmos obsoletos o claves codificadas manualmente. Trate cada sugerencia como un borrador, prefiera una biblioteca probada a código escrito manualmente y pida a un revisor que verifique el manejo de claves.

Los ingenieros de seguridad, los probadores de penetración y los analistas forenses lo aplican a diario y constituye un dominio completo de la Certificación CISSPLa mayoría de los roles se centran en configurar bibliotecas verificadas en lugar de diseñar algoritmos.

Resumir este post con: