Tuesday November 8 2011, at 16h30 in Celestijnenlaan 200A (Auditorium 00.225)
Exploration and Generation of Secure Hardware Using Functional Languages
By Kris Aerts (docent KH Limburg)
At KHLim, a university college partner in the association K.U.Leuven, the research group Embedded Systems & Security (ES&S) is working on generating cryptographic hardware, under the lead of Nele Mentens and Kris Aerts. The industry standard to describe hardware is VHDL (which is based on Ada), but this language is not that expressive. Therefore hardware description languages have been built on top of, and embedded in the functional language Haskell, giving rich features to the language. The hardware blocks can be considered as functions receiving input and returning output signals, and are composed in a functional way.
ES&S is currently using Chalmers Lava to perform design exploration for modular arithmetic on big numbers, which is typical for cryptographic algorithms. The design exploration is necessary because there can be big differences in the underlying hardware of the FPGA (e.g. data path width, available combinatorial block or look up tables, ...) and the designer of the hardware wants trade offs between performance and the surface occupied on the FPGA. Moreover, the security of a system depends not only on the safety of the algorithms but also on non-functional features such as power consumption because side channel attacks can exploit this, e.g. by deriving the 0 and 1's of a key from the fact that a multiplication consumes more power than an addition.
This talks gives an introduction in how to describe hardware in a declarative language (Lava on top of Haskell), shows the progress in exploring different architectures and describing a formal finite state machine. It also says something about how we plan to address the side channel attacks already during design, and not only after the generation of VHDL.