Sécurité des systèmes électroniques embarqués

Seminar
Starting on
Ending on
Room
Salle Pétri/Turing - INRIA Rennes
Speaker
Ryad BENADJILA et Arnaud EBALARD

11h-12h : Ryad BENADJILA et Arnaud EBALARD (ANSSI)

libecc: a flexible open-source ECC library for embedded devices

libecc is a software library for elliptic curves based cryptography (ECC), with an API supporting signature algorithms specified in the ISO14888-3 standard.
Advanced usages of this library also include the possible implementation of elliptic curve based Diffie-Hellman protocols as well as any algorithm on top of prime fields based elliptic curves (or prime fields, or rings of integers).
The presentation will introduce the rationale behind the development of libecc, as well as its architecture. Compared to other cryptographic libraries providing similar features, the differentiating points are a focus on code simplicity, portability, and auditability (self-contained and pure C99 code); a clean layer separation for all needed mathematical abstractions and operations; and a security over performance motivation (with endeavour to offer decent throughput in addition to moderate RAM and ROM memory footprints).
Though some efforts have been made to have (most of) the core algorithms constant time, turning libecc into a library shielded against side-channel attacks (SCA) is still a work in progress. The choices that have been made to resist against SPA and DPA will be contextualized and discussed.
Finally, concrete examples of libecc integration in both internal and external projects will be examined.