Saltar al contenido
El bit perdido
Newsletter

RSA: genera tus claves, cifra e intenta romperlo

RSA protege tus compras por internet con una idea sencilla: multiplicar dos primos es fácil y deshacer la multiplicación, muy difícil. Aquí lo haces con números que se ven.

Claves de juguete: no las uses para proteger nada real. Todo se calcula en tu navegador.

1 Genera tus claves

  1. n = p · q 61 · 53 = 3233 (12 bits)
  2. φ(n) = (p − 1)(q − 1) 60 · 52 = 3120
  3. e, primo con φ(n) 7
  4. d = e⁻¹ mod φ(n) 1783 (comprobación: e · d mod φ(n) = 1)
Cómo se calcula d: Euclides extendido paso a paso

Se divide φ(n) entre e, luego e entre el resto, y así hasta llegar a resto 0. Las columnas s y t cumplen siempre r = s · φ(n) + t · e. En la fila del resto 1, t es el inverso de e (si sale negativo, se le suma φ(n)).

cocienteresto rst
312010
701
44551-445
12-1446
213-1337
20-73120

Resultado: t = -1337, y d = t mod φ(n) = 1783.

Clave pública (n, e)

Se la das a quien quiera escribirte.

(3233, 7)

Clave privada (n, d)

Solo la tienes tú. Sin p y q, calcularla exige factorizar n.

(3233, 1783)

2 Cifra un mensaje

El texto se pasa a bytes (UTF-8) y se agrupan de 1 en 1 para formar números menores que n. Cada número m se cifra con c = me mod n.

bloquem (mensaje)c = me mod n
1721087
21113183
31081877
4971818
Exponenciación rápida del primer bloque

En lugar de multiplicar m por sí mismo e veces, se elevan al cuadrado sucesivamente (m, m², m⁴, m⁸…) y se multiplican solo los que corresponden a los bits 1 de e = 111₂. Son 3 pasos en lugar de 7.

bit de em^(2^i) mod nacumulado
17272
119511453
111601087

El enlace lleva el mensaje cifrado y tu clave pública, pero no la privada. ¿Podrá leerlo quien lo reciba?

3 Descifra

4 Intenta romperla

Quien tenga n y consiga factorizarlo obtiene p y q, y con ellos d. Vamos a probar la fuerza bruta (dividir n entre 3, 5, 7… hasta √n) con claves cada vez más grandes, en tu propio dispositivo.

Incrusta esta demo en tu web

Copia este código y pégalo en tu web, tu blog o tu aula virtual. Es gratis; solo te pedimos que dejes el pie con el enlace.

Ver cómo queda ↗

Preguntas frecuentes

¿Por qué funciona RSA?

Porque e y d son inversos módulo φ(n): e · d = 1 + k · φ(n). Por el teorema de Euler, (m^e)^d = m · (m^φ(n))^k ≡ m (mod n). Cifrar y descifrar se deshacen mutuamente, y para calcular d hace falta φ(n) = (p − 1)(q − 1), es decir, conocer p y q.

¿Por qué no se puede calcular d a partir de la clave pública?

Con n y e, cualquiera podría calcular d si supiera φ(n), y para eso necesita los factores p y q de n. Multiplicar dos primos es instantáneo; deshacer la multiplicación, con números de más de 600 cifras, no se sabe hacer en un tiempo razonable con ordenadores clásicos.

¿Por qué e = 65537?

Es primo y en binario es 10000000000000001: solo tiene dos bits a 1, así que cifrar con la exponenciación rápida cuesta muy pocas multiplicaciones. Es el valor que usan casi todas las claves RSA reales. Si no es primo con φ(n), esta herramienta elige otro.

¿Es seguro cifrar así un mensaje?

No. Estas claves son de juguete y además falta el relleno aleatorio (como OAEP) que usa el RSA de verdad: sin él, el mismo bloque siempre se cifra igual. Sirve para entender las matemáticas, no para proteger nada.

¿Mis claves o mensajes se envían a algún sitio?

No. Todo se calcula en tu navegador. El enlace de «Compartir» lleva solo el mensaje cifrado y la clave pública.

Cómo citar esta página

Fernando Hernando (2026). RSA paso a paso [Herramienta web], versión del 20 de octubre de 2026. El bit perdido. https://elbitperdido.com/herramientas/rsa-paso-a-paso

@misc{hernando2026rsapasoapaso,
  author = {Fernando Hernando},
  title = {RSA paso a paso},
  year = {2026},
  howpublished = {El bit perdido},
  url = {https://elbitperdido.com/herramientas/rsa-paso-a-paso},
  note = {Herramienta web, versión del 20 de octubre de 2026}
}