Efficient and Secure Implementation of Cryptographic Primitives

Compiler-Assisted Side-Channel Attack Countermeasures

This project aims at defending software implementations of encryption/decryption primitives from attacks based on side channels such as energy dissipation or electromagnetic emissions.

Techniques developed include code morphing, a technique to alter the code at runtime without changing its overall semantics. Such techniques hinder the construction of a model correlating the side channel information with the values of the secret key.

Accelerating Cryptography with GPGPU

Fast encryption on massive amount of data is important for both security of large scale data (e.g., volume or disk encryption) and for attacks against specific cryptosystems.

We develop fast implementations of standard cryptographic primitives such as AES and DES using GPGPU technology, striving for the best performance per euro ratio.


  • Gerardo Pelosi: scientific lead
  • Giovanni Agosta: code morphing technology
  • Alessandro Barenghi: oscilloscope man & jack of all trades
  • Michele Scandale: LLVM extensions development
  • Alessandro Di Federico: cryptography on GPGPU, reverse engineering
  • Francesco Fiduccia: code morphing framework integration

Past Team Members

  • Andrea Di Biagio: AES on CUDA
  • Fabrizio De Santis: DES on CUDA
  • Massimo Maggi: LLVM extensions development
research/crypto.txt · Last modified: 2014/11/25 18:00 by agosta
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki