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 CCC, is exible 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.
This work was supported in part by the Ministerio de Economía, Industria y Competitividad (MINECO), in part by the Agencia Estatal de Investigación (AEI), in part by the Fondo Europeo de Desarrollo Regional (FEDER, UE) under Project COPCIS, Grant TIN2017-84844-C2-1-R, and in part by the Comunidad de Madrid (Spain) under Project CIBERDINE, Grant S2013/ICE-3095-CIBERDINE-CM, cofunded by the European Union FEDER funds.