TOOLS RSA Key Generator
100% In-Browser Cryptography Zero Persistence: Discarded on Tab Close Generated exclusively via crypto.subtle.generateKey(). Private key material is never sent to any server or stored locally.
Cryptographic Best Practice: Keys generated for encryption (RSA-OAEP) should never be reused for digital signatures (RSASSA / RSA-PSS). Reusing a single RSA key pair across both purposes breaks cryptographic security proofs and exposes the key to chosen-ciphertext signature oracle attacks.
Public Key Shareable
Private Key Confidential
πŸ›‘οΈ Private Key Concealed

To protect against accidental screen-sharing or shoulder surfing, click below to reveal the private key.

Key Fingerprints & Technical Specifications
SHA-256 Public Key Fingerprint (Hex) Computing...
SHA-256 Fingerprint (Base64) Computing...
Key Parameters & Usage RSA 2048-bit (e=65537) β€’ SHA-256 β€’ Encryption
Key Pair Bundle & Actions Copy both keys with labeled delimiters or download a complete key package.
πŸ§ͺ In-Browser Key Verification Playground RSA-OAEP Encryption Test

Test your generated RSA key pair immediately in the browser using the Web Crypto API to ensure correct round-trip functionality.

1. Plaintext Input
2. Ciphertext (Base64)

πŸ” Web Crypto Hardware Acceleration

Key generation runs in browser-native C++/Rust via crypto.subtle. Unlike slow pure-JavaScript libraries, Web Crypto leverages OS entropy pools and constant-time execution paths.

πŸ“¦ SPKI vs. PKCS#8 Format Standards

Public keys are formatted as SubjectPublicKeyInfo (SPKI) and private keys as PKCS#8 (RFC 5208)β€”the universal modern standard for OpenSSL, OpenSSH, AWS, and Node.js.

⚑ 2048 vs 3072 vs 4096 Bits

2048-bit provides ~112-bit symmetric equivalent security. NIST recommends 3072-bit (~128-bit equivalence) for data requiring protection beyond 2030. 4096-bit offers a high security margin with increased compute time.

πŸ›‘οΈ Why Not Reuse Keys?

Using the same RSA key for both encryption (OAEP) and signing (RSASSA/PSS) is dangerous. Dual-use keys weaken cryptographic security proofs and can allow attackers to obtain signatures on chosen plaintexts.

βœ“ Copied to clipboard!