Blog

Welcome to DLSCA

What the platform does today, from the ASCAD traces to a plot of where they leak, and what it is built towards.

welcomeplatform

DLSCA is a platform for deep learning based side-channel analysis and cryptographic key recovery. This first post says what is there today, how the pieces fit, and what the platform is built towards.

Why side channels

A device running AES does not only compute: it draws power, and how much depends on the data it handles. Record enough power traces with known inputs, and the samples where the power follows a secret-dependent value, such as the output of the S-box, give the key away. Finding those samples is leakage analysis; using them to recover the key is the attack. Deep learning is good at the second part, once the first is done well.

The traces, as chunked datasets

The platform starts from ASCAD, the public datasets of AES-128 power traces, measured on an ATmega board (v1, with a fixed key and with a variable key) and an STM32 board (v2). Every trace comes with its plaintext, its key and its masked S-box output.

The original files are large HDF5 archives that have to be read whole. A job per dataset downloads them, writes them as Zarr in chunks and uploads them to the project's data store as DLSCA/<dataset>: ascad-v1-fk, ascad-v1-vk, and ascad-v2 in eight parts. From then on any slice of traces can be read without the rest, from anywhere.

The leakage analysis, as jobs

The leakage analysis is one script that computes a target of a dataset, per key byte, chunk by chunk. Launched as several jobs, each worker takes its own share of the trace columns, and every chunk it finishes is written as one .npy file into the leakage_results dataset, under <dataset>/<byte>/<target>/. Nothing is held on a machine; the dataset is the shared memory.

Every job declares what it needs, the hardware it wants and how long it may run, and is launched from the jobs dashboard, its API or an MCP client. The node launches nothing itself.

Seeing where it leaks

The node's leakage viewer pulls the results and plots any targets of a dataset over the samples, downsampled so that a hundred thousand samples still draw at once. A peak is a sample that leaks. That plot is the ground a model stands on.

What the platform is built towards

A model per key byte, trained on the samples that leak, that ranks the key candidates until the key is recovered. The datasets and the analysis are there; the models are next, and posts here will follow them.

DLSCA is built on Spiking Neurons Stacks, and everyone signs in once with One Account. Access to the node and the jobs is given per person by the project's admins.