Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This question is from Understanding Cryptography (Applied cryptography) In this

ID: 3767645 • Letter: T

Question

This question is from Understanding Cryptography (Applied cryptography)

In this exercise, we want to analyze some variants of key derivation. In practice, one masterkey kMK is exchanged in a secure way (e.g. certificate-based DHKE) between the involved parties. Afterwards, the session keys are regularly updated by use of key derivation. For this purpose, three different methods are at our disposal: (1) k0 = kMK; ki+1 = ki +1 (2) k0 = h(kMK); ki+1 = h(ki) (3) k0 = h(kMK); ki+1 = h(kMK||i||ki) where h() marks a (secure) hash function, and ki is the ith session key.

1. What are the main differences between these three methods?

2. Which method provides Perfect Forward Secrecy?

3. Assume Oscar obtains the nth session key (e.g., via brute-force). Which sessions can he now decrypt (depending on the chosen method)? .

4. Which method remains secure if the masterkey kMK is compromised? Give a rationale

Explanation / Answer

Perfect Forward Secrecy (PFS): is basically designed to prevent the compromised master key from affecting the confidentiality of the past communication. However, PFS cannot prevent against a successful cryptanalysis of the ciphers being used, since a cryptanalysis basically involves finding a way to decrypt an encrypted message without the key, a PFS only protects keys, not the ciphers themselves.

(1). The Main differences between these three methods are:

In method (1) the next session key is generated directly using previous session key with simple addition of some constant 1 which is easy to break, and also if at any stage Oscar obtains the session key, he can decrypt all past keys and hence messages as well.

The methods (2) and (3) are more secure than method (1) as they are using a secure hash function to generate next session key.

The main difference between three is the way of generating next session key.

(2). The method (3) provides Perfect Forward Secrecy (PFS). IF hash function is secure then method (2) can also provide PFS but depends upon the hash function.

(3). If Oscar obtains the nth session key (e.g., via brute-force) then for method (1) he can decrypt all the past and future conversation as key generation mechanism is simple linear function.

For Method (2) and Method (3) he cannot decrypt the past conversation and also depends upon hash function. If he knows the hash function the he can decrypt future conversation in both methods (2) and (3).

(4). As the hash function you used is secure so it will not be possible to recreate the input data from its hash value alone. So in method (2) K0 is generated directly applying h(kMK), so if kMK is compromised so Oscar can generate all session keys using Master key and Method (1) is very easy for him.

In Method (3) Oscar can obtain k0=h(kMK) but further keys cannot be obtained as ki+1=h(kMK||i||ki) where it is not sure what is applied inside the hash function. So this is not deterministic in nature.

And So Method(3) will remain more secure than others even if master key is compromised.

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote