Secure Hardware Design - ECE 5520
Cryptography plays a fundamental role in the practical implementation of information security, needed in a vast range of applications from safe banking using electronic credit cards, over user privacy in medical record storage, up to protecting a nation state from electronic theft and cyber-attacks. With the Internet of Things, cryptographic implementations will be found over an ever wider range of computing architectures and performance budgets.
The central question addressed in this course is how we can build efficient and secure cryptography in hardware? One aspect of this study is the efficient implementation to meet the performance and cost requirements of computing platforms from embedded computing devices up to server‐level computers. This includes the study of specialized architecture elements that form the trusted computing base. A second aspect is the analysis of implementation attacks, which are a particular concern when attackers have knowledge of, or access to the low‐level implementation of cryptographic operations in computing devices.
Topics covered in the course include the implementation of Finite Field Arithmetic, Random Number Generation, Lightweight Cryptography, High-performance Cryptography, FPGA Security, Side Channel Analysis, Fault Analysis, Physical Unclonable Functions, and Secure Design Flows.
Having successfully completed this course, students will be able to (a) Describe hardware primitives for finite-field arithmetic; (b) explain the design concepts of cryptographic modules including block ciphers, stream ciphers, hash functions, and public-key ciphers; (c) design a hardware implementation for a given cryptographic function based on a high-level specification; (d) describe various methods for reverse engineering of secure hardware, and provide corresponding countermeasures for each of these techniques; and (e) explain the principles of trusted computing.
ReferencesThis course is based in part on the following references.
by C. Paar and J. Pelzl (Springer 2009)
Cryptographic Algorithms on Reconfigurable Hardware
by F. Rodriguez-Henriquez, N. A. Saqib, A. Diaz-Perez, and C. K. Koc (Springer 2007)
by Cetin Kaya Koc, Ed. (Springer 2009)
Power Analysis Attacks: Revealing the secrets of smartcards
by Stefan Mangard, Elisabeth Oswald, Thomas Popp (Springer 2007).
Cryptography and Computer Network Security
Course notes and slides by Kris Gaj, George Mason University
Synthesis of Arithmetic Circuits: FPGAs, ASICs, and Embedded Systems
by Jean-Pierre Deschamps, Gery Bioul, Gustavo Sutter (Wiley 2006).
Guide to Elliptic Curve Cryptography
by Darrel Hankerson, Scott Vanstone and Alfred Menezes (Springer 2004)