Smart Card Lab

Module Number: EI5069

Duration: 1 Semester

Occurence: Winter/summer semester

Language: English

Number of ECTS: 6


Professor in charge: Georg Sigl

Amount of work

Contact hours: 60

Self-studying hours: 120

Topal: 180

Description of achievement and assessment methods

Considering the learning objectives, the exam is split into the following parts:

  • Lab work: Work is to be carried out and documented in groups: each student must keep a lab protocol
  • The capabililty to create complex embedded systems in practice is shown in a 30-minute presentation on the project and subsequent discussion. this contributes to 50% of the final grade.
  • The theoretical knowledge on the topics is examined during a 10-minute long oral examination. This contributes to the other 50% of the final grade.

Exam type: oral

Exam duration: 40 min.

Possibility of re-taking: In the next semester: Yes; at the end of the semester: No

Homework: No

Lecture: Yes

Conversation: Yes

Written paper: No

Recommended requirements

Good knowledge of digital circuits, basics of microcontrollers programming in C or assembly language

The following modules should be passed before taking the course:

  • Cryptology
  • C/C++ Lab (or similar)

It is recommended but not mandatory to take the following modules additionally:

  • Secure Implementation of Cryptographic Algorithms


In this lab students work together in teams to design and implement a smart card used to decrypt video data streams similar to a pay TV application. The software for the smart card will run on a microcontroller-based smart card emulator. Emphasis is placed in creating a high security implementation. To measure the security of the smart card and to assess the cost/benefit tradeoffs of the implemented countermeasures, side channel analysis attacks are conducted and evaluated.

Study goals

At the end of this module students are able to design and program complex digital embedded systems. They achieve this by designing a side-channel resistant smart card firmware, running on a microcontroller-based smart card emulator. As a result of the lab the students present a working smart crad which is able to decrypt video data streams and is resistant to differential power analysis (DPA) attacks. The students familiarize themselves with smart card communication protocols (ISO7816), microcontroller programming and debugging, countermeasures against DPA attacks on smart cards and embedded devices and basic cryptographic algorithms.

Teaching and learning methods

In addition to individual support by the advisor or tutor, introductory lectures and support for project scheduling are given at the beginning of each course.

  • Teaching method: Aside from two mandatory sessions at the beginning of the semester and the presentations at the end of the semester the students are free to schedule their work hours. It is recommended that the students make regular appointments with the advisor or tutor to discuss the progress of the project. The project work is carried out by the students in small groups. Lab rooms of the institute are open during the University's working hours and support from a tutor or advisor is offered during the lapse fo the whole project.

Media formats

The following media formats are used:

  • Introductive lectures (PowerPoint)
  • Lab notes (course book) with detailed description of tasks and tool environments, coarse sketch of system concept
  • Individual discussions with advisor


  • Handbuch der Chipkarten, Wolfgang Rankl und Wolfgang Effing; ISBN-13: 978-3-446-40402-1
  • Understanding Cryptography, Christof Paar and Jan Pelzl, ISBN-13: 978-3-642-04100-6