Question: Stream Ciphers [ 2 marks ] Alice has designed a mobile app for one - on - one chat among her friends in the class.

Stream Ciphers [2 marks]
Alice has designed a mobile app for one-on-one chat among her friends in the class.
However, the messages are transmitted over a channel that broadcasts to all devices
in the class. Since Alices friends like to gossip, it is important that only the intended
recipient is able to read the messages. Alice has devised the following method to deal
with the problem.
Each user is assigned a 10-character long ID. Each message is at most 256-character
long. The structure of messages is provided below:
1
Structure of the message: [10-character long sender name][a character separator :]
[10-character long receiver name][a character separator :][235 characters for the
gossip]
Example message: alicexoxxo:bobko0oo0l: eve likes to snoop
Each message is XORed with a 256-byte long shared key between Alice and Bob. The
output ciphertext is the same size as the message (i.e.,42-bytes for the above message
from Alice to Bob). The key is changed every day. The app is updated each month
over a secure communication channel (not the broadcast medium mentioned above)
and it receives the keys for the relevant pair of users (i.e., Alice receives the shared key
between Alice-Bob and Alice-Eve).
1.a Use openssl CLI to generate 256-random bytes (the key). Please provide the
command that you used and the generated key in hexadecimal. [0.25 mark]
1.b Create a message with your name in gossip text from Alice to Bob (e.g., for
the course instructor it will be: alicexoxox:bobko0oo0l:hassan). Provide the
ciphertext using the key constructed in 1.a and the stream cipher construction
discussed above [0.25 mark]

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!