Alice and Bod have decided to use a symmetric encryption algorithm. They have some assumptions about their messages: - Messages only contain capital letters (i.e. A to Z) - The length of their shared key must be greater than or equal to the length of the plaintext - They assign each letter a number as follows: (A,0), (B,1), (C,2), (D,3),…, (Z,25) Their algorithm combines the key and the message using modular addition. The numerical values of corresponding message and key letters are added together, modulo 26. For example, if the plain text is “HELLO” and the key is “SECRET” then the encrypted message is calculated as following: Since the length of the plaintext is 5, we just need the first 5 letters of the key (i.e. “SECRE”), then for each letter, we should add corresponding letters in both the plaintext and the key modulo 26. Plaintext: H (7) E (4) L (11) L (11) O (14) Key: S (18) E (4) C (2) R (17) E(4) Cipher: Z (25) I (8) N(13) C(2) S (18) a) Write a program in Python, C/C++ or JavaScript to take both the plaintext and the key as its input, then print out the cipher. Assume the plaintext is your name, for the key=”THISISANEXAMPLEKEYINCOMPUTERSECURITYEXAM” what is the output?
Alice and Bod have decided to use a symmetric encryption
assumptions about their messages:
- Messages only contain capital letters (i.e. A to Z)
- The length of their shared key must be greater than or equal to the length of the plaintext
- They assign each letter a number as follows: (A,0), (B,1), (C,2), (D,3),…, (Z,25)
Their algorithm combines the key and the message using modular addition. The numerical values
of corresponding message and key letters are added together, modulo 26. For example, if the plain
text is “HELLO” and the key is “SECRET” then the encrypted message is calculated as following:
Since the length of the plaintext is 5, we just need the first 5 letters of the key (i.e. “SECRE”), then
for each letter, we should add corresponding letters in both the plaintext and the key modulo 26.
Plaintext: H (7) E (4) L (11) L (11) O (14)
Key: S (18) E (4) C (2) R (17) E(4)
Cipher: Z (25) I (8) N(13) C(2) S (18)
a) Write a program in Python, C/C++ or JavaScript to take both the plaintext and the key as
its input, then print out the cipher. Assume the plaintext is your name, for the
key=”THISISANEXAMPLEKEYINCOMPUTERSECURITYEXAM” what is the
output?
Trending now
This is a popular solution!
Step by step
Solved in 4 steps with 2 images
Explain how one can decrypt the encrypted message using the encryption
(a)? Write a program, in JavaScript, C/C++ or Python to take both the plaintext and the key
as its input, then print out the plaintext. Test it using the results of the previous program.