Power Traces Tables
Tables Description
The power consumption traces available for the DPA contest v2, 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:
- index: a unique identifier for a trace.
- message: the clear message ciphered during the measurement (128 bits represented as 32 hexadecimal digits).
- key: the key used to cipher the message (128 bits represented as 32 hexadecimal digits).
- ciphertext: the result of the clear message's AES encipherment. (128 bits represented as 32 hexadecimal digits)
- date: the date and time at which the measure has been done.
- filename: the original filename used to store the trace.
- fileheader: the meta-data produced by the scope for the trace.
- trace: the properly trace data stored in an binary format described below.
Some tables of the database are accessible by a PostgreSQL client, or by your application using the PostgreSQL libpq library with the following information:
- hostname: dpa.enst.fr
- username: guest
- password: guest
- database: production_traces
- tablename: <See Below>
Three acquisition campaigns were performed for the DPA contest v2: the template campaign, the public campaign and the private campaign.
- The traces acquired during the template campaign are stored in table DPA_CONTEST_V2_template_base (1,000,000 traces)
- The traces acquired during the public campaign are stored in table DPA_CONTEST_V2_public_base (640,000 traces)
- The traces acquired during the private campaign are stored in table DPA_CONTEST_V2_private_base (640,000 traces) but they are not publicly accessible
Trace binary format
The trace field (SQL type bytea) contains the result of the acquisition. This fields contains exactly 3,253 values, each value is signed and coded on 16 bits (2 bytes). The byte order is little-endian (so it can be easily manipulated on a x86 computer). So this field is 6,506-byte long.
So in a C program, running on a little-endian machine (all x86(_64) computers are little-endian), this field can be directly interpreted as the following array:
#define TRACE_NUM_POINTS 3253
int16_t samples[TRACE_NUM_POINTS];
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, use this command to get an idea of the table contents:
production_traces=> SELECT message, key, ciphertext FROM "DPA_CONTEST_V2_template_base" LIMIT 10;
message | key | ciphertext
----------------------------------+----------------------------------+----------------------------------
f3cd25bc0e6ede44185e7a04b120e095 | 2bdccf90a083f8aa7105010370c1f9d9 | 590b56039852438fcba36b5ffa74940d
7c5ff7e1f6ef64f43ca7c7f1e19d6caf | 543c3727b14a75ff54d467ae5dda6ffe | 8ce6b19671d5e5d7b2c74ed2493073f0
dbb6ce73b550fa07e85f73d845ca59ea | 15a614a3ef9e579ab38223aa5d5102da | 0e3d5032e336a1f2adbe00d3b65ce449
e6184464e41e8845b3538393b4d3b0f3 | 0268e60f9f98d18b20e5c2e731d6dcc7 | 9eaa8fdd2b127598e856f9750ddb818a
ff792a505fd561b2b8d10ac6d93c3655 | 6baf4c87ad94fc42ea5aa34c98432649 | 627057693f64a34d97e9cbfbec2ee95f
bbbe844df796e41c5a5eb848ad5fb9dd | cf9fafa8a00c7c2c5f60fe18f25ad311 | 3647f083e0227f15ec97d2af144967b4
dfcf76cb7234b9bf3cc3d71defb53143 | 6ee484f05ced56797c9f1f457ad9b114 | fe5125d17b2fff508b538f8999c0c6a2
3cccf9751af2fef74182dcc0f6c25784 | e03f268e68d7243c012935cfd5bccd85 | a8dbaec71e8b2af2e66abd22faa80c8b
096f969a8a7c39b67ac88a3fdfd19134 | 5fcd93b362dbee0d909e3b979995aaf7 | c11a05608486a943ca3eb616881e1bf2
566086a4e8f96901920708b24dbcd04f | 9ecb900a872c903e38815d974d147f0b | cc956dd0404623a3e76992aa6992826c
(10 rows)
2. With a Graphical Client, such as pgAdminIII
The same operations are illustrated with the GUI-based client pgAdminIII under Windows:
- Login:

- Getting the description of the contest table:

- Requesting data from the contest table:

Database download
A file containing all the traces from template and public tables is available for download on the Download page.