Digital signatures · RSA-PSS
Sign and verify text with RSA
A digital signature proves two things: the message came from whoever holds the private key, and not a single character has changed since. Sign an announcement, a price list or release notes, publish your public key, and anyone can check it here. Signing doesn’t hide the text; use the Encrypt tab for that.
How to use the tool
- 1
Get a key pair
Generate one on the Keys tab, or paste an RSA private key you already have in PEM format.
- 2
Sign the message
Enter the exact text and tap Sign. Copy the Base64 signature.
- 3
Publish all three
Share the message, the signature and your public key. The public key can be posted openly.
- 4
Verify
The receiver picks Verify, pastes the message, signature and public key, and sees Valid or Not valid.
QRScanKaro
Just sharing a secret once?
For a quick private message to a friend, Text Encryption is simpler: lock it with a password, no keys to manage.
Encrypt with a password →Frequently asked questions
What makes a signature “not valid”?
Any change to the message, even one extra space or line break, a different public key, or a damaged signature. Copy the message exactly as it was signed, including how it ends.
Why is the signature different each time I sign?
RSA-PSS mixes a random salt into every signature. Each one looks different, but all of them verify with the same public key.
Is signing the same as encrypting?
No. Encryption hides a message so only the private key holder can read it. A signature leaves the message readable and proves who wrote it. For both, sign the message and then encrypt it for the receiver.
Can I check the signature with OpenSSL?
Yes. Decode the Base64 signature to sig.bin and run: openssl dgst -sha256 -sigopt rsa_padding_mode:pss -sigopt rsa_pss_saltlen:32 -verify public.pem -signature sig.bin message.txt, where message.txt holds the exact UTF-8 text.
More free tools
Text Encryption & Decryption
Lock any message with a password using AES-256-GCM, then share it on WhatsApp or email.
Hash Generator
Get MD5, SHA-1, SHA-256, SHA-384 and SHA-512 of text or a file as you type.
Base64, URL & Hex Encoder
Encode and decode Base64, URL, hex, binary, HTML entities and \u escapes as you type.
Cipher Tools
Encode and decode Caesar, ROT13, ROT47, Vigenère, Atbash, Affine, Rail Fence, Morse, A1Z26 and Bacon ciphers.