Cryptology Academy · Lección

Cifrado XOR y libreta de un solo uso

Construya un cifrado XOR sencillo y descubra su equivalente con secreto perfecto.

Lección 2 de 413 pasos

Cifrado XOR y libreta de un solo uso es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

Bienvenida

El cifrado XOR es sencillo: ciphertext = plaintext XOR key. Cuando la clave es verdaderamente aleatoria y se utiliza una sola vez, obtenemos el cifrado de un solo uso, el único cifrado cuya imposibilidad de romperse se puede demostrar.

Fundamentos del cifrado XOR

key = bytes([0x5A, 0xF2, 0x3C, 0x11]) plaintext = bytes([0x48, 0x65, 0x6C, 0x6C]) # 'Hell' ciphertext = bytes(p^k for p,k in zip(plaintext,key)) # Result: 0x12 0x97 0x50 0x7D

Propiedad de auto-inversión de XOR

El descifrado es igual que el cifrado: plain = cipher XOR key Demostración: (P XOR K) XOR K = P XOR (K XOR K) = P XOR 0 = P Esto hace que los cifrados XOR sean simétricos de forma trivial.

Concepto del cifrado de un solo uso

Un cifrado de un solo uso (OTP) utiliza una clave aleatoria tan larga como el mensaje y la usa exactamente una vez. Es irrompible en teoría: cada texto cifrado puede descifrarse como cualquier texto plano posible con la misma probabilidad.

Demostración del secreto perfecto de Shannon

Claude Shannon demostró en 1949 que un cifrado tiene secreto perfecto si y solo si la clave es aleatoria, tiene como mínimo la longitud del mensaje y se utiliza como máximo una vez. El OTP es el único cifrado práctico con estas características.

Limitaciones prácticas del OTP

La clave debe ser tan larga como el mensaje. Debe distribuirse de forma segura. Nunca puede reutilizarse. Estas restricciones hacen que el OTP sea poco práctico para la mayoría de las aplicaciones.

Ataque por reutilización de la clave: cifrado de muchos usos

Si C1 = P1 XOR K y C2 = P2 XOR K, entonces C1 XOR C2 = P1 XOR P2. ¡La clave se cancela! Un atacante que dispone de dos textos cifrados obtiene P1 XOR P2, lo que revela patrones.

Ataque de crib dragging

Si el atacante adivina una parte de P1 (un «crib», como « the »), al aplicar XOR con P1 XOR P2 en cada posición se revela el texto correspondiente de P2. Poco a poco se recuperan los textos planos completos.

Fallo real por reutilización de la clave

El proyecto Venona descifró miles de mensajes soviéticos cifrados con un solo uso porque los agentes de la KGB reutilizaron los blocs bajo la presión de la guerra. La reutilización de la clave quebró un cifrado cuya perfección estaba demostrada.

XOR en los cifrados de flujo

Los cifrados de flujo modernos (ChaCha20, RC4) generan un flujo de claves pseudoaleatorio y aplican XOR al texto plano. Se aproximan al OTP, pero utilizan una clave corta expandida por un CSPRNG.

Demostración del cifrado XOR en Python

import os def otp_encrypt(plaintext: bytes) -> tuple: key = os.urandom(len(plaintext)) ciphertext = bytes(p^k for p,k in zip(plaintext,key)) return ciphertext, key ciphertext, key = otp_encrypt(b'Secret!')

Comprobación rápida

¿Por qué es catastróficamente inseguro reutilizar la clave de un cifrado de un solo uso?

Resumen

XOR y el cifrado de un solo uso son conceptos fundamentales. A continuación estudiaremos por qué los esquemas XOR ingenuos fallan en la práctica y qué ataques aprovechan la reutilización de claves.
Gratis para empezar

Aprende Cryptology Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
67
Lecciones
261

Preguntas frecuentes

¿La lección «Cifrado XOR y libreta de un solo uso» es gratis?

Sí — el texto completo de «Cifrado XOR y libreta de un solo uso» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Cifrado XOR y libreta de un solo uso»?

Construya un cifrado XOR sencillo y descubra su equivalente con secreto perfecto. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Cifrado XOR y libreta de un solo uso»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Repaso de operaciones a nivel de bits
  2. Cifrado XOR y libreta de un solo uso
  3. Por qué XOR por sí solo no es seguro
  4. XOR dentro de AES y los cifrados de flujo
← Volver a Cryptology Academy