Introduction

Rules

Download

Documentation

Traces Tables

Participate

Hall of Fame

Frequently Asked Questions

Opinion Pool about the 2nd Edition

New! The DPA contest v2 (2009-2010) is online. Click here to go to the website of the new edition.

Available Power Traces Tables

Tables Description

The power consumption traces available for the DPA contest, are stored in a public PostgreSQL database. These traces are regrouped by acquisition campaign, where each campaign is stored in a distinct table. The tables entries contain the following fields:

Some tables of the database are accessible by a PostgreSQL client, or by your application using the PostgreSQL libpq library with the following informations:

The publicly available tables are described below. They correspond to the three leakage curves discussed at FDTC'08, in slides 21-24 of this presentation.

Table name secmatv1_2006_04_0809 secmatv3_20070924_des secmatv3_20071219_des
Traces count 81,089 81,569 67,753
Description Power consumption traces of the unprotected DES crypto-processor on the SecmatV1 SoC in ASIC.
The measures have been done during a temporal window containing the 16 nominal DES rounds.
These measurements have to be used for the contest.
Power consumption traces of the unprotected DES crypto-processor in the SecmatV3 SoC in ASIC.
The measures have been done during a temporal window containing the 16 nominal DES rounds.
Power consumption traces of the unprotected DES crypto-processor on the SecmatV3 SoC in FPGA (Altera Stratix).
The measures have been done during a temporal window containing the 16 nominal DES rounds.
Average trace Average SecMatV1[ASIC] power traces Average SecMatV3[ASIC] power traces Average SecMatV3[FPGA] power traces
Differential trace for the first round transition of register LR Differential trace for SecMatV1[ASIC] power traceAverage Differential trace for SecMatV3[ASIC] power traceAverage Differential trace for SecMatV3[FPGA] power traceAverage

Sample Sessions

If you wish to interactively browse the database, you can use either a graphical or a command line client. We provide with two sample sessions using the psql command line client and the pgAdminIII graphical client.

1. With a Command Line Client, such as psql

$ psql -d production_traces -X -h dpa.enst.fr -U guest -W
Password for user guest:
type guest and ENTER. You are now connected to the database server:
Welcome to psql 8.1.11, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
       \h for help with SQL commands
       \? for help with psql commands
       \g or terminate with semicolon to execute query
       \q to quit

SSL connection (cipher: DHE-RSA-AES256-SHA, bits: 256)

production_traces=>
Standard SQL requests or PostgreSQL commands can be typed at the production_traces=> prompt. For instance, we can ask for a description of the contest table secmatv1_2006_04_0809 with the command \d:
production_traces=> \d secmatv1_2006_04_0809
   Table "public.secmatv1_2006_04_0809"
   Column    |            Type             
-------------+-----------------------------
 index       | integer                     
 message     | text                        
 key         | text                        
 cryptogram  | text                        
 date        | timestamp without time zone 
 filename    | text                        
 filecontent | bytea                       
As mentioned earlier, the first fields are meta-information about the power trace, that is saved as a byte-array in the field filecontent. The key is the same for all traces. For instance, use this command to get an idea of the table contents:
production_traces=> SELECT message, key, cryptogram FROM secmatv1_2006_04_0809 LIMIT 10;
     message      |       key        |    cryptogram
------------------+------------------+------------------
 993fa9b70fe852af | 6a65786a65786a65 | 09b1a3ea6377adf2
 fa47bdb0bfdc2b0c | 6a65786a65786a65 | 76c16d20850c7974
 70b83523085fe820 | 6a65786a65786a65 | 1a773b33170f3582
 f4a4b2857512d2bc | 6a65786a65786a65 | 738804230a32c097
 c7e2937ffa2f95b9 | 6a65786a65786a65 | ed099fc280a6dd34
 f5e89f0539aef5dd | 6a65786a65786a65 | 387b259bdf0865a6
 d9de929ccfc611ca | 6a65786a65786a65 | 8f83a74846adcefb
 a8d6965214bec693 | 6a65786a65786a65 | 9f7ce7bfdf7f1821
 51817914ca2625fb | 6a65786a65786a65 | dfd40e213d02effd
 1a197b7755282185 | 6a65786a65786a65 | 946b0d029779efff
(10 rows)

2. With a Graphical Client, such as pgAdminIII

The same operations are illustrated with the GUI-based client pgAdminIII under Windows:

3. Dumping the Contest Database in a Directory

To retrieve the table as as many files as the contest table entries, use a script such as export_table.py.

To download directly the zip'ed campaigns of measurement, use those links (warning: each file is about one gigabyte large):

  1. secmatv1_2006_04_0809.zip (4 Gbytes, in 4 parts: part0, part1, part2, part3)
  2. secmatv3_20070924_des.zip (1 Gbyte, in 1 part)
  3. secmatv3_20071219_des.zip (6 Gbytes, in 6 parts: part0, part1, part2, part3, part4, part5)
In order to verify the integrity of those files after download, use the following commands: md5sum.