Modern cryptographic algorithms provide a reasonable level of security against known mathematical and cryptanalytic attacks. These cryptographic primitives are implemented on different platforms to be used in a security-enabled applications. Such a realization is done by implementing the desired cryptographic algorithm using some program code (in software) or using logic elements/circuits (in hardware). Physical access of the users to the cryptographic devices (e.g., a smartcard used for payment, a contactless card used for authentication, or a smartphone) where a secret key is embedded, led to a new form of attacks called physical attacks. This kind of attacks aims at extracting the secret key used by the cryptographic algorithm from the target implementation. Breaking a system by means of a physical attack does not infer to the weakness of the algorithm, but of the implementation. Therefore, considering such kinds of attacks as a potential risk for the security is a must when designing a cryptographic device and weaknesses in that regard need to be avoided from the start. The goal of this lecture is to give an overview about the known physical attacks and most considerably the schemes developed to counter such kinds of attacks. In the first part of the lecture different kinds of physical attacks are introduced, while in the second part we focus on countermeasures and the methods to make implementations resistant against known physical attacks.

Recommended: basic knowledge of digital circuit design, basic knowledge of data security and cryptography, solid programming ability in at least one programming language (e.g. C++), basic knowledge of computer architecture, basic knowledge of signal processing.