Digital Signature & Verify
Digital SignaturesProcessed locally in your browser using the Web Crypto API. Nothing is sent to any server.
How It Works
This tool performs RSA-PSS digital signature generation and verification using the browser's native Web Crypto API. Sign data with your private key, then anyone with your public key can verify that the data hasn't been tampered with.
Algorithm Details
- Algorithm: RSA-PSS with SHA-256
- Salt length: 32 bytes (matching SHA-256 output)
- Key format: PEM-encoded PKCS#8 (private) / SPKI (public)
- Signature output: Base64-encoded
- Implementation: Native Web Crypto API — no JavaScript libraries
Typical Workflow
- Generate an RSA key pair using the RSA Key Generator
- Enter your private key and the data to sign
- Share the data, signature (Base64), and your public key with the verifier
- The verifier enters your public key, the original data, and the signature to verify
Common Use Cases
- Software distribution — verify downloaded files haven't been tampered with
- API authentication — prove requests come from an authorized party
- Document signing — ensure contract integrity without a certificate authority
- Secure communications — verify message origin in protocols
Frequently Asked Questions
What is a digital signature?
A digital signature is a mathematical scheme for verifying the authenticity and integrity of a message. It uses a private key to create the signature and a public key to verify it. Unlike a handwritten signature, a digital signature is computationally infeasible to forge.
How does RSA digital signature work?
RSA signatures work by hashing the data, then encrypting the hash with the private key. The recipient decrypts with the public key and compares to a fresh hash. If they match, the data is authentic and unmodified.
What PEM formats are supported?
For private keys: PKCS#8 format (BEGIN PRIVATE KEY). For public keys: SPKI format (BEGIN PUBLIC KEY). These are the standard formats generated by the RSA Key Generator tool and OpenSSL.
Privacy Note
This tool runs entirely in your browser. Your input is never uploaded, stored, or sent to any server.
Disclaimer: This tool is provided for educational and informational purposes only. The results do not constitute professional security advice. Use at your own discretion.