Assume that you are hired as a security consultant by a startup that is…
2025
Assume that you are hired as a security consultant by a startup that is building a secure communication platform for healthcare professionals. The platform requires that the messages exchanged between doctors must be authenticated, tamper-proof, and non-repudiable. In addition, the system must also ensure confidentiality of patient data.
The team decides to use Digital Signatures and Public Key Cryptography for this purpose
(a) Design a secure communication workflow between two users, Dr. A and Dr. B, using Digital Signatures and Public Key Cryptography. Clearly describe the steps for Message signing, Message encryption, Message verification, and Message decryption.
(b) What are the roles of the Private Key and Public Key in your design? How is non-repudiation achieved?
(c) If an attacker intercepts the message during transmission, explain why they cannot modify or read it.
Attempted by 4 students.
Show answer & explanation
(a) Secure Communication Workflow
To ensure authentication, integrity, confidentiality, and non-repudiation, the system uses Digital Signatures and Public Key Cryptography.
Step 1: Message Signing (by Dr. A)
Dr. A first prepares the message MMM. A hash function (e.g., SHA-256) is applied to generate a message digest. Dr. A then encrypts this digest using Dr. A’s private key, creating a digital signature.
Step 2: Message Encryption
The original message MMM and the digital signature are combined. This data is then encrypted using Dr. B’s public key to ensure confidentiality before transmission.
Step 3: Message Decryption (by Dr. B)
When Dr. B receives the message, he decrypts it using his private key, which retrieves the original message and the digital signature.
Step 4: Message Verification
Dr. B computes the hash of the received message and also decrypts the digital signature using Dr. A’s public key. If both hashes match, the message is verified as authentic and unchanged.
(In exam, a simple diagram showing Dr. A → Encryption/Signature → Network → Decryption/Verification → Dr. B can be drawn.)
(b) Role of Private Key and Public Key
Private Key: Used for signing messages and decrypting received messages. It is kept secret by the owner.
Public Key: Used for verifying signatures and encrypting messages.
Non-repudiation is achieved because only Dr. A’s private key could have created the digital signature. Therefore, Dr. A cannot deny sending the message.
(c) Protection Against an Attacker
If an attacker intercepts the message:
They cannot read it because it is encrypted using Dr. B’s public key, which can only be decrypted by Dr. B’s private key.
They cannot modify it because any change will alter the hash value, causing signature verification to fail.
Thus, the system ensures confidentiality, integrity, authentication, and non-repudiation.