Intelligent things, medical devices, vehicles and factories, all part of cyberphysical systems will only be secure if we can build devices that can perform the mathematically demanding cryptographic operations in an efficient way. Unfortunately, many of devices operate under extremely limited power, energy and area constraints. Yet we expect that they can execute, often in real-time, the symmetric key, public key and/or hash functions needed for the application. At the same time, we request that the implementations are also secure against a wide range of physical attacks and that keys or other sensitive material can be stored securely.
In this tutorial we will present design methods and security building blocks to realize cryptographic operations on resource constrained devices. These concepts will be illustrated with the design of several cryptographic co-processors suitable for implementation in embedded context.