I'm crash studying the public key cryptography topic and I have a few questions about how signatures are created.

So are digital signatures just encrypted hashes? If that's the case then I can hash my symmetrically encrypted message, pass it with the signature maker with my private key, then it can promise authenticity and its data to be untampered (cause you'll have to recompute the hash on the other side)? Will the same private key and same hash give the same signature? On the other side what the verifier does is to create its own version of the signature and matches it with the received signature or does the public key have the ability to decrypt a message encrypted using the private key?

Sorry for all the questions i just started on this last night. Thanks in advance!


PKCS #1v1.5 signatures are basically signed hashes. Therefore, it is possible to extract hash and applied hash algorithm (in ASN.1 DigestInfo format) from properly signed signature.

In some old terminology, this operation may have been referred to as "encryption with private key". However, this terminology should be deprecated as the private key operation does not provide security you would expect from encryption (confidentiality) but instead it allows to ensure that signing has been made with private key matching public key used in verification (authenticity).

See RFC 3447 / PKCS #1 v2.1 for new version of PKCS standard. It calls the underlying signature primitive RSASP1.

Quoting that document:

The main mathematical operation in each primitive is exponentiation, as in the encryption and decryption primitives of Section 5.1. RSASP1 and RSAVP1 are the same as RSADP and RSAEP except for the names of their input and output arguments; they are distinguished as they are intended for different purposes.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.