ECE 5580 - Cryptographic Engineering (3C)
Implementation of cryptographic operations and protocols in contemporary computing platforms. Mapping of cryptographic operations, evaluation and optimization of performance and implementation cost, analysis of security against brute-force cryptanalysis and implementation-level attacks. Design of countermeasures against implementation-level attacks, security-testing procedures, and architectures to support a trusted computing base.
Why take this course?
Cryptography is fundamental to ensure trustworthiness of computing in everyday operations, touching every operational aspect of the information society. Computer scientists and engineers therefore have a need to handle and optimize cryptographic implementations with an eye on efficiency and effectiveness. This course discusses techniques for cryptographic engineering in contemporary computing platforms. One aspect of this study is the efficient implementation to meet the performance and cost requirements of computing platforms from handheld computing devices to server-level computers. It includes 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. A related aspect is the study of security testing procedures to certify platforms. The material is therefore relevant to research as well as to design practice.