Assumed prior knowledge
This course aims at students who want to gain a deep understanding of the engineering aspects of cryptography, namely on the design of cryptographic hardware and software, and on implementation attacks and countermeasures. We expect that students already have some background knowledge in security (e.g. have taken the Security course at the Bachelor level) and digital design (e.g. have taken the Fundamentals of Digital Systems Design course at the Bachelor level).
The first part of this course will concentrate on the implementation aspects of cryptographic algorithms and protocols. Design constraints on resource utilization, energy consumption and performance will be taken into account in the design of cryptographic hardware and software.
The second part of the course explains how attacks can be mounted that specifically target weaknesses in the implementation of the cryptographic algorithms. Countermeasures against these implementation attacks and their effect on the resource utilization, the energy consumption and the performance will also be covered in the course.
After this course, you will have knowledge about the design of cryptographic hardware and software, and you will be able to make basic implementations yourself, taking into account the different constraints on hardware and (embedded) software. You will learn about implementation attacks and countermeasures, and you will have hands-on experience with mounting an attack and implementing countermeasures.
The most recent timetable can be found at the Computer Science (MSc) student website.
You will find the timetables for all courses and degree programmes of Leiden University in the tool MyTimetable (login). Any teaching activities that you have sucessfully registered for in MyStudyMap will automatically be displayed in MyTimeTable. Any timetables that you add manually, will be saved and automatically displayed the next time you sign in.
MyTimetable allows you to integrate your timetable with your calendar apps such as Outlook, Google Calendar, Apple Calendar and other calendar apps on your smartphone. Any timetable changes will be automatically synced with your calendar. If you wish, you can also receive an email notification of the change. You can turn notifications on in ‘Settings’ (after login).
For more information, watch the video or go the the 'help-page' in MyTimetable. Please note: Joint Degree students Leiden/Delft have to merge their two different timetables into one. This video explains how to do this.
Mode of instruction
Lectures, peer presentation classes, project work
Total hours of study: 168 hrs. (= 6 EC). Of those (ca.):
12 hrs of lectures
8 hrs of peer presentations
42 hrs of research literature analysis
106 hrs of project work
Final grade = 30% paper (written analysis & presentation grade) + 70% project (work & report & presentation grade) (no exam)
Paper analysis and presentation in a group of 2-3: papers/topics are proposed by the lecturer
Project in a group of 2-3. Projects are defined by students jointly with lecturers, and will be on the design of cryptographic hardware/software and/or implementation attacks and countermeasures.
There is no textbook. Recommended readings (research papers, etc.) will be announced on Brightspace.
From the academic year 2022-2023 on every student has to register for courses with the new enrollment tool MyStudyMap. There are two registration periods per year: registration for the fall semester opens in July and registration for the spring semester opens in December. Please see this page for more information.
Please note that it is compulsory to both preregister and confirm your participation for every exam and retake. Not being registered for a course means that you are not allowed to participate in the final exam of the course. Confirming your exam participation is possible until ten days before the exam.
Extensive FAQ's on MyStudymap can be found here.
- Contact the lecturer via email.