Sites Inria

English version

Séminaire des équipes de recherche

Usuba: An optimizing & trustworthy bitslicing compiler

© INRIA Sophie Auvin - P comme Protocole

Usuba: An optimizing & trustworthy bitslicing compiler

  • Date : 29/11/2017
  • Lieu : INRIA - Paris - 2 rue Simone Iff -Salle Lions 2, bâtiment C
  • Intervenant(s) : Darius Mercadier (LIP6)
  • Organisateur(s) : Marco Stronati

Bitslicing is a standard technique to improve the performance of certain cryptographic algorithms by exploiting data parallelism while making them, de facto, resilient to cache-timing attacks. To do so, bitsliced  implementations turn lookup tables (such as S-boxes) into boolean functions, leading to a significant code blow-up and making it hard to write, debug and optimize manually. Usuba is a synchronous dataflow programming language we designed (based on an original idea from X. Leroy) to both specify and implement bitsliced algorithms. Usuba programs compile into a bitsliced and optimized C code, exploiting platform-specific SIMD extensions such as Intel's SSE and AVX, ARM's Neon or IBM's AltiVec. The Usuba compiler is trustworthy thanks to a translation validation pass that checks that the semantics of an Usuba program has been preserved throughout our optimization pipeline.

Mots-clés : Equipe de recherche Prosecco Séminaire Prosecco Inria de Paris

Haut de page

Suivez Inria