Walter Unger WS 2017/2018
Janosch Fuchs October 26, 2017
Exercise
Algorithmic Cryptography
Sheet 2
• Write the name, group number and enrollment number of each group member on every sheet that you hand in.
• To achieve the permission for the exam you must earn50% of the sum of all points and present one of your solutions at least once.
• You can earn 50% bonus points by presenting your solution. At the beginning of every exercise session, you can mark the exercises that you want to present.
• If a student is not able to present a correct solution although he/she marked the exercise as presentable, he/she will lose all of his/her points on the exercise sheet.
Exercise 2.1 (4 points)
Discuss the security of the following protocol. A wants to send a message m to B. For this, A and B generate n strings of length |m|. Then, they send the following messages:
A B
m, a1, . . . , an m⊕a1 b1, . . . , bn
m⊕a1⊕b1 m⊕a2⊕b1 m⊕a2⊕b2
...
m⊕an⊕bn−1
m⊕an⊕bn m⊕bn
The protocol is an extension of the protocol without secure key-exchange presented in the lecture. Is this protocol for n≥2 secure?
Exercise 2.2 (4 points)
Construct a public-key system based on the following NP-complete problem:
SUBSET PRODUCT
Input: A= (a1, . . . , an)∈Nn and b∈N. Problem: Is there a subsetI ⊆ {1, . . . , n}with Q
i∈Iai =b?
Hint: Add to the plaintext, coded as 0-1-sequence, an appropriated padding in order to ensure a necessary condition on the number of ones in the sequence.
Exercise 2.3 (4 points)
Let p1, . . . , pn be distinct prime numbers, P = Qn
i=1pi, and A = (a1, . . . , an), where ai =P/pi.
Prove: The knapsack problem with input (A, α) can be solved efficiently for all α∈N.
Exercise 2.4 (4 points)
A numberα∈N is calledrepresentableby a knapsack vectorA if the knapsack problem with input (A, α) is solvable.
Prove:
(a) Each knapsack vectorB of length nhas at least as many representable numbers as the knapsack vectorAn= (1,2,3,4, . . . , n), for all n∈N.
(b) Each knapsack vectorB of length nhas at most as many representable numbers as the knapsack vectorA0n= (1,2,4,8, . . . ,2n−1), for all n∈N.
Note: In a knapsack vectorA = (a1, . . . , an) all numbers ai are distinct.
Deadline: Thursday, November 02, 2017, 10:15 a.m.,
in the lecture or in the box in front of the i1.