This project develops a multi-disciplinary course sequence that integrates the algorithmic, engineering, and practical aspects of security as exemplified by applied cryptography. To study cryptography across the disciplines - computer engineering, software engineering, and computer science, this project creates a laboratory with state-of-the-art FPGA-based reconfigurable hardware boards and development stations tailored to the study of efficient software, hardware, and hardware-software implementations. Coursework also covers concepts of secure design and implementation of the algorithms. Pairs of students (a software-oriented student and a hardware student) work on projects bringing to bear knowledge in their individual disciplines.
Intellectual Merit: The course sequence is based on modifications to an existing cryptography course in Computer Science, and two new courses in Software Engineering and Computer Engineering. Building on a theoretical foundation from computer science, the two new courses use a "studio" format classroom to provide immediate reinforcement of the concepts. Students actively engage in the study of cryptographic algorithms and their efficient software, hardware, and software-hardware implementations.
Broader Impacts: The curriculum introduces students across multiple computing disciplines to the broad range of topics associated with cryptographic algorithms and their realization in hardware and software. Students engage in multi-disciplinary activities on real cryptographic problems, extending their knowledge and skills well beyond that of their home discipline. Students who possess this broad range of knowledge and skills are more effective developers of secure systems.