Question: Q 1 : Let G: 0 , 1 n 0 , 1 n is a PRG . We define Hkx = Gk x , is

Q1: Let G:0,1n0,1n is a PRG. We define Hkx=Gkx, is Hk a PRF? If yes, explain why; if not, give an explicit attack (a PPT adversary that violates the definition).(10 pts)
In practice, it is often the case that good block ciphers such as AES (or some carefully designed hashes such as SHA256) are assumed to be a PRF. However, block cipher, by name, works on a fixed length of blocks, e.g., AES works on 128-bit messages only. The followings are two possible ways to adjust the input/output length of a PRF, prove that the constructions are still PRF according to the above definition.
Q2: Given a PRF E:K\times 0,1n0,1m, we construct F:K\times 0,1n-10,12m as follows:
FK,x:=E(K,x||0)||E(K,x||1).
Is FK, still a PRF? If yes, give a brief proof, if not, give a brief attack showing the violation of PRF definition. (10 pts)
Q3: Can we construct a PRG from a PRF (assuming the PRF output length is larger than the key length or the input length)? If yes, give the concrete construction and briefly explain; if not, explain why. (10 pts)
Symmetric key encryption: Suppose (KeyGen, Enc, Dec) is an IND-CPA secure symmetric key encryption. We define the following new encryption algorithms, are the new schemes still IND-CPA secure? Briefly explain why. If you believe it is insecure, provide an explicit attacker violating the IND-CPA definition.
Q4: Enc1k,m is defined as follows:
-It runs Enc(k,m) and obtains c0;
- It runs Enc(k,m) again to obtain c1. The final ciphertext will be (c0,c1).(10 pts)
Q5: Enc2k,m is defined as follows:
-It runs Enc(k,m) and obtains c0;
-It runs f on m to obtain c1, where f is a pseudorandom generator. The final ciphertext will be (c0,c1).(10 pts)
Message Authentication Codes.
Suppose 1:=(KeyGen1, Tag1, Verify1) and 2:=(KeyGen2, Tag2, Verify2) are two message authentication code schemes.
Q6: 3:=(KeyGen3, Tag3, Verify3) is defined as follows:
KeyGen3 first runs KeyGen1 obtains k1, and then runs KeyGen2 obtains k2, the output key is (k1, k2).
Tag3[(k1, k2),(m1, m2)] first runs Tag1(k1, m1) and obtains 1 and it runs Tag2(k2, m1m2) and obtains 2, where the message m that Tag3 works on is a pair of messages m1, m2. The final tag is 31||2. The verification can be defined accordingly.
Is 3 a secure MAC? Briefly explain why. (10 pts)
Q7: 4:=(KeyGen4, Tag4, Verify4) is defined as follows:
KeyGen4 is identical to KeyGen1, and it outputs a key k.
Tag4[k,(m1, m2)] first runs Tag1(k, m1) and obtains 1 and it runs Tag2(k, m2) and obtains 2. The final tag is
\sigma 12.
Is 4 a secure MAC? Briefly explain why. (10 pts)
Q8: Given two constructions of message authentication codes 1:=(KeyGen1, Tag1, Verify1),2:=(KeyGen2, Tag2, Verify2). Construct a secure MAC scheme 3:=(KeyGen3, Tag3, Dec3) which will be secure (unforgeable) as long as one of 1,2 is unforgeable (but you dont know which one), and briefly explain why. (15 pts)
Q9: Explain why the following paradigm does not provide secure authenticated encryption, i.e. an encryption scheme that satisfies both IND-CPA security and ciphertext integrity (where the adversary cannot create new ciphertexts without knowing the key or asking the encryption oracle). The paradigms encryption algorithm initially executes an Enc algorithm on message m to obtain c, then runs a Tag algorithm on message m and obtains . The final ciphertext will be (c,\sigma ).(15 pts)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!