RSA is a widely used asymmetric cryptographic algorithm. The public key is used for encryption and signature verification, while the private key must remain secret and is used for decryption and signing. This tool generates and processes keys locally in the browser.
Keys of 512, 1024, 2048, 3072, or 4096 bits can be generated, with 2048 bits as the default. 512-bit and 1024-bit keys are intended only for legacy-system compatibility and are not recommended for modern security.
Seven formats are supported: PKCS#8 and SPKI as the default combination, PKCS#1, OpenSSH public key, JWK, .NET RSAKeyValue XML, raw Base64, and raw Hex. Raw formats remove headers and line breaks. OpenSSH exports only the public key; the private key remains in PKCS#8.
The normal flow uses the public key for encryption and the private key for decryption. RSA-OAEP with SHA-256 and PKCS#1 v1.5 are supported. The approximate maximum plaintext size is the key size in bytes minus 66 bytes for OAEP with SHA-256, or minus 11 bytes for PKCS#1 v1.5. For large data, use a hybrid approach: encrypt the data with AES and encrypt only the AES key with RSA.
The private key signs and the public key verifies. RSA-PSS with SHA-256 and PKCS#1 v1.5 are supported. Signatures are output as Base64 and can be filled into the verification form with one click. Encryption and signature operations are clearly distinguished.
Existing PEM, DER, OpenSSH, JWK, and XML keys can be pasted directly. If a public key is provided for an operation that requires a private key, a warning is displayed. For password-encrypted keys, decrypt and export them first using OpenSSL or PuTTYgen; the tool does not decrypt password-protected keys online.
The tool depends on WebCrypto and a secure context, normally an HTTPS environment. Large keys may take some time to generate.
Useful for preparing keys before API integration, testing signature interoperability, checking key formats, and learning about asymmetric cryptography.
Key generation and cryptographic operations are performed locally. Keys are neither uploaded nor stored on the server. Use test keys for learning and integration rather than production keys. For RSA key format conversion, use a dedicated RSA key format converter.
Comments 0