Skip to main content

Examples

This section provides examples of existing file formats for traces of side-channel leakage, including pointers to source code and reference implementations.

Existing File Formats

File FormatLinksTraditionally Used In SCAOpen Source
Numpy (.npy)[Link]YesYes
TRS[Link]YesYes
SQLite[Link]SomewhatYes
HDF5[Link]YesYes
Zarr[Link]SomewhatYes
Avro[Link]NoYes
Apache ORC[Link]NoYes
Parquet[Link]NoYes
JSON[Link]NoYes

Frameworks Utilizing File Formats

FrameworkUnderlying File FormatRelavant Links
SCARRZarr[Link]
SCAREDHDF5[Link]
LASCARHDF5[Link]
Chip WhispererNumpy[Link]
SCAPEgoatNumpy/JSON[Link]
SCALibNumpy[Link]
Sedpack/SCAAMLVarying with JSON wrapper[Link]
RamDPACustom RamDPA format[Link]
DaredevilUnclear[Link]

Concrete Example from ChipWhisperer Documentation

This section aims to provide an example of how the criteria defined in the previous section can be applied to identify aspects to consider when selecting a file format for a dataset. “Trace files in the ChipWhisperer software are defined through a configuration file, with the suffix .cfg. Any trace added to the ChipWhisperer project will have a configuration file - this file does not store data, but tells the software where it is stored and what format it is stored in. While ChipWhisperer has a "native" file format, you can also interface to existing files” [8].
This part demonstrates a potential for improvement in terms of reproducibility, flexibility, extensibility, and support. It is worth mentioning that each trace is a Numpy array.