Digital Signatures Scheme
A Digital Signature is an authentication mechanism that enables the creator of a message to attach a code — the signature — that a receiver can later use to verify the message's origin and integrity. The signature is formed by taking a cryptographic hash of the message and encrypting that hash (not the message itself) with the creator's private key. Because only the corresponding public key can correctly verify a signature produced with a given private key, the signature guarantees the source (authentication) and integrity of the message, and additionally provides non-repudiation — the signer cannot later deny having signed it. Note that a digital signature does not provide confidentiality: the message content itself remains visible to anyone who has it, whether or not they can verify the signature.
About the experiment:
In a public-key setting, it can be difficult for a receiver to verify whether a received message truly originated from the claimed sender, and whether it was altered in transit.
In this experiment, you will use SHA-based hashing together with RSA public-key cryptography to generate and verify a digital signature, and observe how any change to the message or to the signature is detected during verification.
Your task is to verify the effectiveness of the digital signature scheme and explain the underlying principles — hashing, asymmetric-key encryption, and their combination — that make it work.