Download
Tools for Unix/Linux
Reference attack
A reference attack is available in the SVN repository under the directory code/v2/reference/attack. Instructions to access the repository are given below.
You can also download directly the reference attack using the link: reference_attack-1.0.1.tar.gz.
Tools (attack wrapper, result metrics computation tools and reference attack in Python)
The aim of the attack wrapper is to launch the attack program, retrieve traces from the public base, give them one by one to the attack program, retrieve result matrices from the attack program and store them for later exploitation (computation of result metrics by the tool provided below).
The aim of the metrics computation tool is to compute the different metrics (partial success rate, partial guessing entropy and global success rate, see rules) from the results collected by the attack wrapper during the attacks.
A package containing these tools is available: attack_wrapper-1.1.1.tar.gz.
These tools are also available in the SVN repository under the directory code/v2/reference/wrapper. Instructions to access the repository are given below.
Tools for Windows
The tools (reference attack in C#, framework to develop your own attack in C#, metric computation tool) for Windows comes in the form of a Microsoft Visual Studio 2008 project containing the C# source code of the two tools and the base framework to develop and test your attack. If you do not have Microsoft Visual Studio 2008 or newer, you can download Microsoft Visual C# Express (note: it is your responsability to check the licence of this product to see if you have the right to download it).
If you use Matlab under Windows to develop your attack, use the following Matlab file as a base for your developments:
AES design
The Verilog source files for the control and the cryptographic FPGA of the SASEBO GII board used for the acquisitions are available for download:
The already compiled XILINX project is also available made available there:
Databases
- Public database index file (to be used with the attack wrapper): DPA_contest2_public_base_index_file.bz2
- Template database index file: DPA_contest2_template_base_index_file.bz2
- List of keys and plaintexts used for the template base: keymsg_template_base_dpacontest2.bz2 (after decompression, this file contains 1,000,000 rows and 2 columns, the first columns contains the key represented as 32 hexadecimal digits and the second the plaintext represented as 32 hexadecimal digits)
- List of keys and plaintexts used for the public base: keymsg_public_base_dpacontest2.bz2 (after decompression, this file contains 640,000 rows and 2 columns, the first columns contains the key represented as 32 hexadecimal digits and the second the plaintext represented as 32 hexadecimal digits)
- The raw traces of the public database: DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2 (3.5 GBytes, in 4 parts: download )
- The raw traces of the template database: DPA_contest2_template_base_diff_vcc_a128_2009_12_23.tar.bz2 (5.4 GBytes, in 6 parts: download )
To check the integrity of these files after download, you can find below the md5sum checksum of them:
Instructions to extract the archives above (under any Unix (including Mac OS X) or under Windows with Cygwin):
- For files which are in several parts, you first have to put all parts together to build the original file:
cat DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2.part{0..3} > DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2 - To uncompress bz2 files:
bunzip2 DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2 - To extract a tar archive:
tar xvf DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar
3176a0f821dc62a5bf24104696aa39ca keymsg_public_base_dpacontest2.bz2 f68551cf839853077da55367b3b0ffd1 keymsg_template_base_dpacontest2.bz2 538964ec67f76f1b3e4d90ff835e12f9 DPA_contest2_public_base_index_file.bz2 2416ad33a2ca071b8b2f3cb6f437f498 DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2 807f448a8b1be6066fbe34e395e20513 DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2.part0 e161a56a24555610f3bcc819b51f172f DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2.part1 7552032345c5b9d633b5c76b8e5b6394 DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2.part2 7b4a37471948347b3156666fd708f96b DPA_contest2_public_base_diff_vcc_a128_2009_12_23.tar.bz2.part3 fb988e22168deb934f31e86d45fa3b5f DPA_contest2_template_base_index_file.bz2 25f4d41483858dcee368b69598f14e3c DPA_contest2_template_base_diff_vcc_a128_2009_12_23.tar.bz2 3ac27d4e7e3fdbfd5587ea789f92d30e DPA_contest2_template_base_diff_vcc_a128_2009_12_23.tar.bz2.part0 b291bdbe9435f37b5eb80140d09ef993 DPA_contest2_template_base_diff_vcc_a128_2009_12_23.tar.bz2.part1 171644496b1571402bf20ddc028804df DPA_contest2_template_base_diff_vcc_a128_2009_12_23.tar.bz2.part2 c2d33e8306eb4fae5df6b7ebf36660fc DPA_contest2_template_base_diff_vcc_a128_2009_12_23.tar.bz2.part3 91fe38c18d1c53539df35fc983719fe5 DPA_contest2_template_base_diff_vcc_a128_2009_12_23.tar.bz2.part4 04b9c8190dd4985a866c9ce45a5e620a DPA_contest2_template_base_diff_vcc_a128_2009_12_23.tar.bz2.part5
SVN repository
The subversion repository is accessible using the following parameters:
- Username: guest
- Password: guest
- URL: https://svn.comelec.enst.fr/dpacontest/code/v2/
There are basically three ways to access this repository:
- You can browse the repository using a standard web browser by using the following link: https://svn.comelec.enst.fr/dpacontest/code/v2/
- You can use the subversion command-line client:
- To retrieve a copy of the repository: svn co https://svn.comelec.enst.fr/dpacontest/code/v2/
- To update your local copy of the repository: svn update
- You can use a SVN GUI client such as TortoiseSVN
For more information about the use of SVN, you can read the SVN book: Version Control with Subversion.