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:

  1. 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.
  2. (Decrypts and displays all (26) possible