Write a Blog >>
PPoPP 2018
Sat 24 - Wed 28 February 2018 Vösendorf / Wien, Austria
Sat 24 Feb 2018 14:00 - 14:30 at Europa 5 - WPMVP 2018 Session 3

Bitslicing is a programming technique commonly used in cryptography that consists in (efficiently) implementing a combinatorial circuit in software. It results in a massively parallel program, immune to cache-timing attacks by design. However, writing a program in bitsliced form requires extreme minutia. This paper introduces Usuba, a synchronous dataflow language producing bitsliced C code. Usuba is both a domain-specific language – providing syntactic support for the implementation of cryptographic algorithms – as well as a domain-specific compiler – taking advantage of well- defined semantics invariants to perform various optimizations before handing the generated code to an (optimizing) C compiler. On the Data Encryption Standard (DES) algorithm, we show that Usuba outperforms a reference, hand-tuned implementation by 15% (using Intel’s 64 bits general-purpose registers and depending on the underlying C compiler) whilst our implementation also transparently supports modern SIMD extensions (SSE, AVX, AVX-512), other architectures (ARM Neon, IBM Altivec) as well as multiple processors through an OpenMP backend.

Sat 24 Feb

WPMVP2018
13:30 - 15:00: WPMVP 2018 - WPMVP 2018 Session 3 at Europa 5
WPMVP201813:30 - 14:00
Talk
Matthias SpringerTokyo Institute of Technology, Hidehiko MasuharaTokyo Institute of Technology
WPMVP201814:00 - 14:30
Talk
Darius MercadierSorbonne Universités —UPMC Univ Paris 06, Lionel LacassagneUniversity Paris 6, Gilles MullerLIP6-INRIA/UPMC, Pierre-Evariste DagandLIP6/CNRS
WPMVP201814:30 - 15:00
Talk
Arsène Pérard-GayotSaarland University, Germany, Richard MembarthDFKI, Germany, Philipp SlusallekDFKI, Germany, Simon Moll, Roland LeißaSaarland University, Germany, Sebastian HackSaarland University, Germany