Skip to main content

CS798A: Design For Security

Course Description

Developing a secure cryptographic algorithm is only the first step towards achieving a secure architecture. Most of the cryptographic algorithms are based on complex mathematical operations (starting from finite field inversion to scalar multiplication in elliptic curves) and therefore developing efficient hardware implementation of such complex algorithms is a challenging problem. Additionally, any cryptographic architecture suffers from implementation vulnerabilities like side-channel leakages. A side-channel adversary observes/record the information leakage through physical channels like time and power consumption or electromagnetic radiation. Using this information, a side-channel adversary can easily break a mathematically secure crypto implementation and obtain the secret key. In this course, we will focus on both these aspects of cryptographic implementations. The first part of the course will discuss the implementations of complex finite field operations, architecture of block and stream cipher, and elliptic curve cryptography. Next, we will show the impact of side-channel analysis and possible countermeasures against such attacks. A brief discussion will also be provided on FPGA architectures and hardware Trojans.
The contents selected for the course are based on research papers from top-tier journals and conferences such as IEEE TIFS, IACR TCHES, IEEE TC, ACM TECS, IEEE TVLSI, DAC, DATE, etc. covering advanced topics of hardware security.