The Linux kernel has long provided cryptographic support for in-kernel users (like the network or storage stacks) and has been pushed to open these cryptographic capabities to user-space along the way.
But what is exactly inside this subsystem, and how can it be used by kernel users? What is the official userspace interface exposing these features and what are non-upstream alternatives? When should we use a HW engine compared to a purely software based implementation? What's inside a crypto engine driver and what precautions should be taken when developing one?
These are some of the questions we'll answer throughout this talk, after having given a short introduction to cryptographic algorithms.
Since 2014, Boris works at Free Electrons, a company offering development, consulting and training services to embedded Linux system developers worldwide. He has been working on embedded systems since 2008, mostly Linux on ARM. Boris has written and upstreamed a Linux kernel driver... Read More →