Kies de Nederlandse taal
Course module: NWI-IMC039
Cryptographic Engineering
Course infoSchedule
Course moduleNWI-IMC039
Credits (ECTS)6
CategoryMA (Master)
Language of instructionEnglish
Offered byRadboud University; Faculty of Science; Informatica en Informatiekunde;
prof. dr. L. Batina
Other course modules lecturer
Contactperson for the course
prof. dr. L. Batina
Other course modules lecturer
prof. dr. L. Batina
Other course modules lecturer
L.C.J. Rijneveld, MSc
Other course modules lecturer
dr. P. Schwabe
Other course modules lecturer
Academic year2016
KW3-KW4  (30/01/2017 to 03/09/2017)
Starting block
Course mode
Registration using OSIRISYes
Course open to students from other facultiesYes
Waiting listNo
Placement procedure-
  1. You learn about embedding cryptographic algorithms into security products i.e. embedded devices such as smart cards, mobile phones, RFID tags etc.
  2. You learn about cryptographic implementation on various platforms such as micro controllers, GPUs, FPGAs, etc.
  3. You learn the difference of implementations of security from secure implementations
  4. You learn how to implement a cipher on constrained platform i.e. a microcontroller and on an FPGA platform
  5. You learn the practical side-channel cryptanalysis of various crypto implementations
This course provides application perspectives on cryptography. This is a course for students interested in hardware and software design in industry i.e. real-world security applications. The course is devoted to the state-of-art in cryptographic hardware and embedded systems. The students will learn about implementation techniques as well as about cryptanalysis of the cryptographic devices. An important aspect is to learn about numerous pervasive applications of security running on extremely constrained platforms such as mobile phones, RFID tags, contactless cards etc. requiring special so-call lightweight cryptography.
The Kerckhoffs Master course  Cryptography 1 is helpful but not mandatory.
A list for further reading will be handed over during lectures
Teaching formats

• 32 hours lecture
• 32 hours problem session
• 104 hours individual study period
Extra information teaching methods: The course consists of 15 lectures and 15 practical sessions dedicated to two practical assignments. Practical assignments can be chosen from the following:

• Implementation of a symmetric crypto algorithm on an 8-bit AVR controller

• Programming language: C/ASM
• Development environment and an implementation skeleton are provided
• Different optimization goals are chosen i.e. max throughput or min code size

• Side-channel cryptanalysis and countermeasures
• High-speed software implementations of Elliptic Curve Cryptography
• Hardware implementations of cryptographic algorithms
• Modular arithmetic & finite fields for cryptography
• Software and hardware realizations of modular arithmetic & finite fields
• Implementation perspectives on:

• Symmetric-key primitives: block ciphers DES and AES, hash functions
• Public-Key Cryptography: RSA and Elliptic Curve Cryptography
• Lightweight block Ciphers for RFIDs

• Secure implementations of cryptographic primitives
• Special platforms for cryptography
• Cryptographic accelerators for Public-Key Cryptography
Test information
2 practical assignments.
BSc course Security
Required materials
To be announced
A list for further reading will be handed over during lectures
Instructional modes




Test weight1
OpportunitiesBlock KW4, Block KW4

Kies de Nederlandse taal