A041 · RSA · XOR

Laboratorio de criptografía

Cuatro formas de transformar un mensaje: sustitución, transposición, XOR y clave pública RSA.

Leer el artículo completo →

Experimentos didácticos, no herramientas de seguridad: las claves son pequeñas o se repiten; no los utilices para datos confidenciales.

1. Sustitución

Desplaza cada letra latina un número fijo de posiciones; espacios y signos no cambian.

2. Transposición con clave

Escribe las letras en filas bajo la clave y lee las columnas por orden alfabético de la clave; las letras repetidas conservan su orden original.

Este experimento usa A–Z: se eliminan espacios, acentos y signos y no se recuperan al descifrar.

3. XOR simétrico

Cada byte UTF-8 se combina mediante XOR con el mismo byte de clave. El resultado se muestra en hexadecimal.

Repetir un solo byte de clave es inseguro: este ejemplo solo muestra que XOR es reversible.

4. RSA: Alice y Bob

Bob crea un par de claves. Alice cifra con la clave pública de Bob; Bob descifra con su clave privada.

Cómo construye Bob las claves

  1. Bob elige p = 61 y q = 53; n = p × q = 3233.
  2. Calcula φ(n) = (61 − 1) × (53 − 1) = 3120.
  3. Elige e = 17, coprimo con 3120. La clave pública es (n = 3233, e = 17).
  4. Halla d = 2753 porque 17 × 2753 = 46801 = 15 × 3120 + 1. La clave privada es d = 2753.

Clave pública de Bob: (3233, 17)
Clave privada de Bob (visible aquí solo para aprender): 2753

Para la letra A: UTF-8 = 65; Alice calcula 65^17 mod 3233 = 2790; Bob calcula 2790^2753 mod 3233 = 65 y recupera A.

Los primos 61 y 53 son deliberadamente pequeños. Se cifra cada byte por separado y no se usa relleno: este «RSA de pizarra» es inseguro. En aplicaciones reales se necesitan bibliotecas fiables y RSA-OAEP.