Physical and Advanced Side-Channel Attacks
About this Course
On the hardware side, we will mount power analysis attacks on the cryptographic algorithms RSA and AES. We will see that simple power analysis attacks and differential power analysis attacks are powerful enough to obtain fine-grained information such as cryptographic keys, user input, or secrets of the operating system. This skill set and knowledge will give you the ability to spot these side channels in hardware and software projects. We will then cover countermeasures and mitigation strategies that allow you to develop side-channel-resilient hardware and software and protect your security-critical applications and sensitive information. On the software side, we will learn about branch prediction an prefetching. We will learn how these mechanisms can be subverted into powerful side-channel attacks. You will need programming skills (C, C++, Python) and we will provide you with the knowledge required beyond these, including basics on hardware design, computer architecture, operating systems, and cryptography. You will learn which attacks are relevant in the concrete environments you are working with, extending to your risk assessment skills. In a set of small exercises, you will demonstrate that you understood the techniques behind simple power analysis, and differential power analysis, as well as prefetch side channels and branch-prediction side channels.Created by: Graz University of Technology
Level: Intermediate

Related Online Courses
About the Database Series of Courses "Databases" was one of Stanford's three inaugural massive open online courses in the fall of 2011. It has been offered in synchronous and then in self-paced... more
This statistics and data analysis course will pave the statistical foundation for our discussion on data science. You will learn how data scientists exercise statistical thinking in designing data... more
Code and run your first Python program in minutes without installing anything! **** This course is designed for learners with limited coding experience, providing a solid foundation of not just... more
This course provides students with the knowledge to handle and even create exceptions to achieve graceful error handling in programs. They will also create and utilize data structures, including... more
This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. The course... more