RSA Asymmetric Cryptography
Generate RSA key pairs, encrypt/decrypt with RSA-OAEP, sign and verify with RSASSA-PKCS1-v1_5. All operations in-browser via Web Crypto API.
1. Key Pair
2. Encryption / Decryption (RSA-OAEP with SHA-256)
3. Sign / Verify (RSASSA-PKCS1-v1_5 with SHA-256)
Uses Web Crypto API with RSA-OAEP (SHA-256) for encryption and RSASSA-PKCS1-v1_5 (SHA-256) for signatures. Keys are generated in-browser and never leave your device. PEM export uses PKCS#8 (private) and SPKI (public) format.
How to Use
Encryption: Generate a key pair, enter your message, click "Encrypt with Public Key". Share the Base64 ciphertext and the private key holder can decrypt it.
Decryption: Paste the Base64 ciphertext, ensure the corresponding private key is loaded, click "Decrypt with Private Key".
Signing: Enter a message, click "Sign with Private Key" to produce a Base64 signature. Anyone with the public key can verify the signature was produced by the private key holder.
Key export: Use the Copy buttons to export public/private keys in PEM format for use in other systems (OpenSSL, Java, Python).
Example Use Cases
- Key exchange — Encrypt a symmetric key with the recipient's RSA public key
- Digital signatures — Sign documents to prove authenticity and integrity
- Certificate testing — Generate test key pairs for TLS/mTLS development
- JWT signing — Test RS256 JWT signatures with generated keys