b2KIT

RSA-PSS Signature Tool

Sign documents with RSA-PSS and verify signatures. Supports RSA-2048 through RSA-4096 key sizes.

Tested tool guide Tested browser tools Checked August 16, 2026

What RSA-PSS Signature Tool does and how it behaves

A signature from this tool is never the same twice. RSA-PSS is the probabilistic signature scheme defined in PKCS#1 v2.2: the tool hashes the document, mixes the hash with a random salt, and exponentiates the result with the private key. Anyone holding the matching public key can confirm that the signature was produced by that private key and that the document is byte-for-byte unchanged. The most common confusion is treating signing like encryption: signing neither hides the document nor reveals it. Verification answers one question only - did this private key sign these exact bytes?

How the result is produced

1

Signing

With a key pair loaded or generated in the browser, the tool hashes the document using SHA-256, SHA-384, or SHA-512, then builds the PSS encoding: a block containing the hash and a random salt, expanded with the MGF1 mask generation function. The encoded block is raised to the private exponent modulo the modulus, yielding a signature exactly the key size in bytes: 256 for RSA-2048, 384 for RSA-3072, 512 for RSA-4096.

2

Verifying

The tool recomputes the document's hash, then uses the public key to decode the PSS block from the signature: it recovers the salt, rebuilds the masked encoding, and compares the embedded hash with the one it just computed. Matching means the signature is genuine for these exact bytes; any change - an edited document, a different hash algorithm, a wrong key, or a truncated signature - fails. It never outputs the document, only valid or invalid.

Good uses

  • Distributing a signed file - an installer, firmware, or dataset - where you publish your public key and keep the private key private. Every downloader can confirm the file is exactly what you shipped and was not altered in transit.
  • Exchanging a signed document with a client or partner who already holds your public key. A valid signature proves you produced the document and that nothing changed after you signed it - useful for contracts, notices, and audit records.
  • Re-verifying a stored record months later: keep the signature alongside the document, and any future verification either confirms the record is byte-for-byte the one you signed or exposes that it drifted.

Limits and checks

  • The signature binds the exact bytes of the input. Re-saving a file with different line endings, encoding, or a trailing newline changes the bytes, and the stored signature will fail even though the document looks identical. Sign the exact file you intend to distribute, not a re-exported copy.
  • Signing twice gives two different, equally valid signatures; never check signatures by comparing them. Verification also requires the same hash algorithm the signer used - SHA-256 in, SHA-512 out fails even with the correct key - and these parameters are not stored inside the signature itself.
  • PSS provides authenticity and integrity, not secrecy or human identity. Anyone holding the private key can forge valid signatures, and the signed document stays readable by everyone. If confidentiality matters, encrypt the document separately; a signature alone is not proof of a particular person's intent.

Common questions

I signed the same file twice and got different signatures. Is something broken?

No. PSS embeds a fresh random salt in every signature, so each signing of the same message yields a different, equally valid result. This is deliberate, specified behavior, not a bug. Check a signature by verifying it against the public key; never by comparing it byte-for-byte with a previous signature.

Can the signature be used to recover the document?

No. Signing hashes the document and signs that hash; verification checks whether the hash inside the signature matches the document in front of it. Neither direction reveals the document itself. To prove both origin and secrecy, sign and encrypt as separate operations: a signature gives authenticity and integrity, not confidentiality.

References and verification

The behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools