In this course you will be introduced to embedded security with a designer and attacker points of view. More precisely, you will discover that even if you chose a strong cryptographic algorithm to protect data, some secrets may leak during its computation on a mobile device. To do that, you will learn how to program such devices (e.g. smart cards) and how to intercept secrets by using physical probes. From this knowledge you will design some countermeasures to defeat these hardware attacks (e.g. side-channels).