High-Level Synthesis for Hardware Implementation of Cryptography: Experience Feedback
Résumé
When implementing cryptographic elements in hardware, various types of languages and tools can be used. Hardware description languages (HDL), such as VHDL or Verilog, and related synthesis tools allow to master low level details but require important efforts. High-level synthesis (HLS) uses "higher" level languages, such as C, and specific tools to quickly produce circuits but with a much reduced control in implementation details. HDL and HLS methods lead to different trade-offs between training effort, design/debug/optimization times, obtained performances/costs. Neither HDL nor HLS support mathematical objects and operations required in crypto. Implementing protections against side channel attacks (observation and/or perturbation) can be tricky due to limited "links" between what designers can describe and some physical behavior. I will present examples on how we used HDL or HLS, the obtained results, effort evaluation and a few problems hardware designers face.
Origine | Fichiers produits par l'(les) auteur(s) |
---|