This class is intended as the continuance of the theoretical path started with the course “Cryptography” and represents a bridge towards the practice. It covers arguments from the, so called, "Cryptographic Engineering": fusion of the theoretic-practical knowledge that are required to implement cryptographic schemes in a sound, secure and efficient way. The first part of the class covers some basic concepts of theory and the introduction of some efficient algorithms for the implementation of multi-precision integers (MPI) arithmetic. Such knowledge are strictly necessary in order to optimize the performances of the cryptographic schemes but also to understand many advanced cryptographic attacks. A second part of the class covers the study of some real-world standards (SSL/TLS, SSH) and to some related advanced cryptographic attacks.
The slides include several references to technical scientific papers.