Research Mentor: Zhijie Shi
Cryptographic algorithms can be considered as foundations of the security of computer systems. Both the security strength and performance of cryptographic algorithms are critical. To reduce the overhead of security mechanisms, significant amounts of engineering efforts have been put on the optimizations of crypto algorithms to meet the requirements and constraints of various applications, including performance, energy consumption, and code or circuit size. When cryptographic algorithms are implemented with either hardware or software, efficiency is not the only goal. When running cryptographic algorithms, computer systems leak a lot of side-channel information, including timing, power, electromagnetic radiation, visible light, error message, etc. Side-channel attacks exploit the side-channel information to obtain the secret data that have been processed. Mobile devices and sensor nodes are particularly vulnerable to side-channel attacks as they normally work in the field or in hostile environments. Therefore, it is critical for engineers (and students) to understand and study secure implementations (not only efficient implementations) of cryptographic algorithms. With the support of this REU project, students will work on the following projects.
Efficient Implementations of Cryptographic Algorithms
We will select a suit of cryptographic algorithms that will include representatives from each category of cryptographic primitives. The symmetric-key algorithms include AES and some light-weight ciphers such as LED and PRESENT. The public-key algorithms include RSA and ECC. The hash algorithms include SHA-256, Keccak and other candidates in the final round of the SHA-3 competition. For the software implementations, students will optimize the algorithms on a variety of platform, including Intel general purpose processors, ARM cores, Atmel controllers on sensor nodes, and TI DSPs. For the hardware implementations, students will study the implementation of the selected cryptographic algorithms on FPGA or ASIC, and compare data performance and energy consumption with software im- plementations. Side-channel Attacks and Countermeasures Students will also study the countermeasures they can incorporate into their implementations. They will compare the overhead and evaluate the effectiveness of different countermeasures. In addition, the students can analyze the existing countermeasures and improve the attack techniques.