Listed below, you will find brief description of 2 projects, numbered 0 through 1. In groups of 2, you are required to pick one (see algorithm below), complete that project and submit a report (with a working system) on or before THU Feb 28. The outcome will be evaluated by me.
The algorithm to pick a project: you are required to pick project numbered 0, 1 as determined by k = A1+A2 mod 2, where
A1 = last_4_digits_of_entry_no_of_first_student, and A2 = last_4_digits_of_entry_no_of_second_student.
We will presently limit the fields in the “certificate” to the following:
CERTA = ENCPR‐CA (IDA, PUA, TA, DURA, INFOCA) where
• PR‐CA is private key of certification authority (PU‐CA is public key of certification authority)
• IDA is user ID,
• PUA is public key of A,
• TA is time of issuance of certificate. To do so, you will need to:
• Decide you will use method (b) to obtain each other’s public key,
• Assume:
1. that clients already (somehow) know the public key of the certification authority,
2. that the clients have their corresponding private keys with themselves, and
3. that CA has the public keys of all the clients,
• Messages from CA to clients are encrypted using RSA algorithm and CA’s private key,
• Encrypted messages are sent/received between clients once they have each other client’s public key, and finally
• Find a way to generate and encode “current time”.
Use the above to ensure client A can send 3 messages to B, viz Hello 1, Hello 2, and Hello 3. Client B in turn responds with ACK 1, ACK 2, and ACK 3 to messages received from A.
Project no. 1: Public Key Distribution Authority (PKDA)
You are required to (a) build a PKDA, and (b) build clients that wish to confidentially send messages suitably encrypted with public key of receiver, but only after they know the other client’s public key in a secure manner.
You are required to (a) build a, and (b) build clients that wish to send messages suitably encrypted with public key of receiver but of course only after they know each other’s public key in a secure manner. Specifically use the scheme described below.
To do so, you will need to:
• Assume:
4. that clients already (somehow) know the public key of the distribution authority, PKDA,
5. that the clients have their corresponding private keys with themselves, and
6. that PKDA has the public keys of all the clients,
• Messages between PKDA and clients are encrypted using RSA algorithm and PKDA’s private key,
• Encrypted messages are sent/received between clients once they have each other client’s public key, and finally
• Find a way to generate and encode “current time” and “nonces”.
Use the above to ensure client A can send 3 messages to B, viz Hi 1, Hi 2, and Hi 3. Client B in turn responds with Gotit 1, Got‐it 2, etc. to messages received from A.