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.
Resultado
Pasos
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.
Resultado
Pasos
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.
Resultado
Pasos
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
- Bob elige p = 61 y q = 53; n = p × q = 3233.
- Calcula φ(n) = (61 − 1) × (53 − 1) = 3120.
- Elige e = 17, coprimo con 3120. La clave pública es (n = 3233, e = 17).
- 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.
Resultado
Pasos
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.