

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
An exercise from the 'introduction to modern cryptography' course at the university of amsterdam, master of logic. The exercise focuses on the complementarity property of des and the use of a chosen-plaintext attack. Additionally, the document includes optional group theory exercises to prepare students for the study of public-key cryptography. The exercises are self-contained and can be solved without external sources.
Typology: Exercises
1 / 3
This page cannot be seen from the preview
Don't miss anything!
In this exercise, we show that DES has the complementarity property, i.e., that DESk(x) = DESk(x) for every key k and input x (where z denotes the bitwise complement of z) and how we can exploit that property.
Feistel Network and mangler function of DES Image credit: wikimedia.org.
[Thanks to Boaz Barak for his kind permission to use his exercises.] The following exercises in- troduce some group and number theory in order to prepare you for the treatment of public-key cryptography after the break.
As mathematicians, we expect you to be able to solve the group theory exercises 1.-4. with ease. Exercises 1.-4. are optional: we will correct them (if you decide to hand in solutions), but not grade them. Anyone who is not completely confident in his/her abilities should do them, though. Exercises 5. and 6. are not optional and will be graded.
The exercises are self-contained, so you can solve them without reading outside sources. If you want to brush up your knowledge, the following are recommended references: (1) [KL], Chapter 7 and Appendix B, (2) Victor Shoup’s book “A Computational Introduction to Number Theory and Algebra” (also available online at http://www.shoup.net/ntb/) and (3) The mathematical background appendix of the “Computational Complexity” book by Sanjeev Arora and Boaz Barak also contains some basic number theory background.
A group (S, ◦) is a set S with a binary operation ◦ defined on S for which the following properties hold:
The order of a group, denoted by |S|, is the number of elements in S. If the order of a group is a finite number, the group is said to be a finite group. If a group (S, ◦) satisfies the commutative law a ◦ b = b ◦ a for all a, b ∈ S then it is called an Abelian group.
ak^ :=
a︸ ◦ a ◦︷︷... ◦ a︸ k
if k > 0;
e if k = 0; (a−^1 )−k^ if k < 0. Prove that for any integers m, n (not necessarily positive) it holds that: