Please help me with this homework and find the attchments:
Answer these questions:
1) One-time Pad and Use of a Hash Function to derive an Encryption Scheme:
[15p]
a) One Time Pad (OTP) encryption is highly secure, but why do we not see it much in
practice? Explain at least two reasons (some discussed in-class)[3p]
b)Why does an ideal OTP encryption achieve information-theoretical security?
[2pt]
- In the class (on board), we discussed the derivation of an encryption method, which shares a similar design template to an OTP, but it uses a PRF and a private key as a seed (output of a true random number generator) to achieve computationally secure encryption. Please describe how encryption and decryption work in this simple XOR based encryption/decryption template. You can write a short algorithm as it has been
shown in the class (one for encryption and another for decryption). After writing your short algorithm, compare the advantages and disadvantages of this approach with basic
|
OTP. |
[10pt] |
|
2) Properties and security of cryptographic hash function: |
[15p] |
- What are the four essential properties that a cryptographic hash function must satisfy? [4p]
- What is the birthday attack against hash functions? Given an n-bit hash output,
mathematically formulate the upper bound of collision probability of it. You can use
|
approximations if needed. |
[11p] |
|
3) Merkle Hash Tree and its applications: |
[20p] |
Suppose a sender Suses this Merkle hash tree to authenticate these messages to a receiver R.
- How would one authenticate message M4? [4p]
- Merkle hash trees have an additional level of hash in the leaves. Why? [4p]
- What is the necessary condition for a set of data to be authenticated by Merkle-tree? [4p]
- After the tree is formed, what should be done before authentication can take place? [4p]
- Describe how Merkle-hash trees are used for memory integrity protection in computer
|
systems and in Cryptocurrencies. |
[4p] |
|
4) Hash chains: |
[20p] |
- Alice and Bob are securely communicating via a secret key encryption scheme. Currently, Alice has to generate a secretkey #and send it to Bob, before sending each ciphertext #. This is costly as each time the key #is sent, it has to be encrypted at Alice’s side and decrypted on Bob’s side. Explain how we can use hash chains to solve this problem. [12p]
- There are a number of trade-offs in using hash chains (in general, NOT only concerning the above case), explain TWO advantages and TWO disadvantages of using hash chains. [8p]
- What is HMAC, and why it is important to follow a specific padding mechanism (as opposed to basic concatenation of the key) in HMAC construction [5 pt]?
- In “Partial Image-based Puzzles” (see slides), what is the advantage of using sub-puzzles over one large puzzle? [10 pt]
- In slide 19, we describe a new puzzle mechanism that permits pre-computation of puzzles and puzzle sharing (i.e., the same puzzle can be used by different clients). Please elaborate at least three design rationales (discussed in the class) that permit this feature. [10 pt]
|
5) HMAC and Client Server Puzzles: |
[25p] |
- What is Kerckhoffs’s principle in modern cryptography? [5pt]


0 comments