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. 1

    Get a key pair

    Generate one on the Keys tab, or paste an RSA private key you already have in PEM format.

  2. 2

    Sign the message

    Enter the exact text and tap Sign. Copy the Base64 signature.

  3. 3

    Publish all three

    Share the message, the signature and your public key. The public key can be posted openly.

  4. 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.