RSA Encryption / Decryption
A browser-based, educational RSA lab: generate small demo keys, encrypt a short message with the public key, and decrypt with the private key. Good for learning the algorithm, not for real-world security.
⚠️ Educational only — uses small primes and naïve randomization. Do not send secrets.
1. Generate / enter keys
Click “Generate demo keys” to let the tool pick two primes and compute n, φ(n), e and d. Or paste your own n, e, d below.
2. Encrypt
We convert your message to UTF-16 code units and encrypt each unit separately: simple, visible, educational.
Ciphertext (array of big integers):
3. Decrypt
Paste the ciphertext array exactly as produced above, then decrypt with the private key d.
Decrypted message:
How RSA works (short)
RSA is based on modular arithmetic and the difficulty of factoring a large number \( n = p \times q \):
1. Choose two primes p, q
2. n = p · q
3. φ(n) = (p − 1)(q − 1)
4. Choose e s.t. 1 < e < φ(n) and gcd(e, φ(n)) = 1 (common: 65537)
5. Compute d ≡ e⁻¹ (mod φ(n))
6. Public key = (n, e), Private key = (n, d)
To encrypt a number \(m\): \( c = m^e \bmod n \). To decrypt: \( m = c^d \bmod n \).
Note: Real implementations use padding schemes (like OAEP) and big key sizes (2048+ bits). This page is intentionally simplified.