A Modular and Optimized Toolbox for Side-Channel Analysis

The aim of this paper is to describe the characteristics of a toolbox developed to carry out a side-channel analysis of cryptosystems implemented in physical devices. The toolbox, called RamDPA and developed in C++, is flexible and modular and has been initially designed to carry out differential power analysis attacks. Different modules are used to enter text, keys, and hypothetical values related to the cryptographic algorithm under analysis, to control the digital oscilloscope in charge of the acquisition of power consumption traces, and to carry out the statistical operations to get the unknown key. An analysis of the different options to program the modules has been performed in order to optimize the toolbox in terms of memory consumption and execution time. Usually, the optimization of side-channel attacks comes from the selection of points-of-interest and re-sampling. Instead of that approach, the proposed toolbox optimizes DPA attacks from caching strategy and multithreading. Results are presented by applying RamDPA to extract an AES-128 key with the traces provided by the CHES2016 capture The Flag challenge.