Cryptography

Cryptography or cryptology is the practice and study of techniques for secure communication in the presence of third parties called adversaries.
More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages;
various aspects in information security such as data confidentiality, data integrity, authentication, and non-repudiation are central to modern cryptography. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, and electrical engineering. Applications of cryptography include ATM cards, computer passwords, and electronic commerce.

Note: I have also some support slides on elliptic curves cryptography but haven’t collected the authorization to display them online. If you need them, mail me so I can put you in contact with the primary authors of these slides.

Support Books

Several reference books can be used as support for this lecture: [1][2][3].

Foundations of Coding Compression, Encryption, Error-Correction

Théorie des codes (Compression, Cryptage, Correction) -- 2nd Ed.

To a minor measure, you can also refer to my book chapters in:

Exercises / Projects

Important: I feel obliged to insist: the below material (including appendix layout) are quite old now and would deserve a big refresh.
They are proposed for archiving reasons in the hope they might still be useful to students / lecturers.
You will find way more up-to-date exercises in my book.