Skip to main content
zenodoopen

Ascon SCA software and hardware databases

<h2><strong>Software and hardware side-channel analysis databases for attack on Ascon AEAD</strong><br>&nbsp;</h2><p>This repository contains datasets collected for side-channel analysis attack on Ascon AEAD.</p><p>The repository is divided into two folders, one for software side-channel analysis and one for hardware side-channel analysis:</p><p>&nbsp;</p><p>- cw.zip</p><p>&nbsp; &nbsp; - ascon_collect.ipynb : Jupyter Notebook used to collect the traces for the unprotected Ascon implementation</p><p>&nbsp; &nbsp; - &nbsp;ascon_protected_collect.ipynb : Jupyter Notebook used to collect the traces for the protected Ascon implementation</p><p>&nbsp; &nbsp; - simpleserial-ascon : Ascon firmwares used to collect the traces</p><p>- hw.zip</p><p>&nbsp; &nbsp; - ascon_g_protected</p><p>&nbsp; &nbsp; &nbsp; &nbsp; - test_ascon.py : Script to test the protected Ascon implementation</p><p>&nbsp; &nbsp; &nbsp; &nbsp; - collect_lecroy.py : Script to collect traces for unprotected Ascon implementation with Lecroy oscilloscope</p><p>&nbsp; &nbsp; &nbsp; &nbsp; - rtl_src : RTL source files for the protected Ascon implementation</p><p>&nbsp; &nbsp; - ascon_g_unprotected</p><p>&nbsp; &nbsp; &nbsp; &nbsp; - test_ascon.py : Script to test the unprotected Ascon implementation</p><p>&nbsp; &nbsp; &nbsp; &nbsp; - collect_lecroy.py : Script to collect traces for unprotected Ascon implementation with Lecroy oscilloscope</p><p>&nbsp; &nbsp; &nbsp; &nbsp; - rtl_src : RTL source files for the unprotected Ascon implementation</p><p>- helpers.zip</p><p>&nbsp; &nbsp; - ASCON.py : Python implementation of Ascon</p><p>&nbsp; &nbsp; - SASEBO.py : Helper functions to communicate with the SAKURA-G board</p><p>&nbsp; &nbsp; - lecroy3.py : Helper functions for Lecroy oscilloscope</p><p>&nbsp; &nbsp; - ascon_helper.py : Helper functions for Ascon</p><p>&nbsp; &nbsp; - convert_trs_to_h5.py : Script to convert Trsfile traceset to HDF5 database</p><p>&nbsp;</p><p>ascon_cw_protected.h5 : Side-channel database for software protected Ascon implementation</p><p>ascon_cw_unprotected.h5 : Side-channel database for software unprotected Ascon implementation</p><p>ascon_hw_protected.h5 : Side-channel database for hardware protected Ascon implementation</p><p>ascon_hw_unprotected.h5 : Side-channel database for hardware unprotected Ascon implementation</p><p>&nbsp;</p><p>ascon_cw_protected.trs : Traces for software protected Ascon implementation</p><p>ascon_cw_unprotected.trs : Traces for software unprotected Ascon implementation</p><p>ascon_hw_protected.trs : Traces for hardware protected Ascon implementation</p><p>ascon_hw_unprotected.trs : Traces for hardware unprotected Ascon implementation</p><p>&nbsp;</p><h3><strong>Ascon authenticated encryption attack on a Chipwhisperer STM32F4</strong>&nbsp;</h3><p>The dataset was used for side-channel attack on Ascon initialization phase attack of the authenticated encryption mode on a ChipWhisperer STM32F4 target board.</p><p>The power traces are collected with the ChipWhisperer-Lite oscilloscope at a sampling rate of 4x the target clock frequency, and captures the first call of the round function of the Chi function of Ascon permutation.</p><p>The code used to collect the traces is also available in this repository, and the trace collection can be replicated with a ChipWhisperer-Lite and a STM32F4 target board.</p><p>&nbsp;</p><h3><strong>Ascon authenticated encryption attack on a SAKURA-G FPGA</strong></h3><p>The hardware designs of the unprotected and protected Ascon implementations are available in the `hw` folder.</p><p>Both implementations are written in VHDL/Verilog and can be synthesized for Spartan6 (XC6SLX75) with Xilinx ISE.</p><p>Traces are collected with a Lecroy WaveRunner 610Zi oscilloscope at a sampling rate of 500 MS/s.</p><p>&nbsp;</p><h3><strong>Databases description:</strong></h3><p>Database &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Ntraces &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Traces (samples) | Label* (bytes) &nbsp;| Metadata (bytes)&nbsp;</p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Nf &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| Nr &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | Key | Nonce | Plaintext | Associated data | Ciphertext | Tag</p><p>ascon_cw_unprotected.h5 &nbsp; &nbsp; &nbsp;| 100,000 | 100,000 &nbsp;| 772 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 64 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 16 &nbsp; | 16 &nbsp; &nbsp; &nbsp; | 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 16</p><p>ascon_cw_protected.h5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 500,000 | 500,000 &nbsp;| 1408 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 64 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 32 &nbsp; | 32 &nbsp; &nbsp; &nbsp; | 16 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 16 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 16 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 32</p><p>ascon_hw_unprotected.h5 &nbsp; &nbsp; &nbsp;| 100,000 | 100,000 &nbsp;| 6,000 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 64 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 16 &nbsp; | 16 &nbsp; &nbsp; &nbsp; | 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 4 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 16</p><p>ascon_hw_protected.h5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 500,000 | 500,000 &nbsp;| 10,000 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 64 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 32 &nbsp; | 32 &nbsp; &nbsp; &nbsp; | 8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;| 8 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; | 32</p><p>&nbsp;</p><p>*Label computed with the intermediate_value leakage model described in `ascon_helper.py`</p>

ShareScore

48/100

Overall dataset sharing score

Score breakdown

These five areas show where the dataset supports — or may limit — practical reuse.

Stewardship
12
Harmonization
4
Access
20
Reuse readiness
8
Engagement
4

Topics