Cryptographic Tools
Question 1
One-time pad (OTP) encryption is provably secure. It would be expected that an unbreak- able encryption method would be highly desirable yet it is not widely used. Describe what makes OTP hard to use in practice.
Question 2
Comparing secret-key and public-key encryption, what is the main advantage that the latter offers over the former?
Question 3
The definition of a Shift Cipher can be expressed as follows:
Def. Let x, y, k ∈ Z26 with the encryption operation as ek(x) ≡ x + k mod 26 and the decryption operation as dk(y) y – k mod 26.
Given the provided letter encoding, what would be the encoding of the plaintext word ATTACK after applying a shift cipher with a k=17?
Question 4
Assume a hash function H(m) which is collision resistant. This particular function maps a message of arbitrary bit length into an n-bit hash value. Can we assume that for all messages
m, mj with m
m’, we have H(m)
H(mj)? You must explain your answer to receive credit.
(Hint: see textbook section about Secure Hash Functions.)
Question 5
Develop a single program using any programming language (e.g. Java, Python, C++, etc.) that:
- Encrypts and decrypts a message using the Cesar’s The user encrypting the message is prompted to enter a message and then a key that indicates the displacement. The user decrypting the message is prompted to enter the encrypted message and the key.
- (Decrypts and displays all (26) possible