International Association for Cryptologic Research

International Association
for Cryptologic Research

Transactions on Cryptographic Hardware and Embedded Systems 2026

SpectroLoc:

Cryptographic Operation Localization via Spectrogram Projection and Time-Series Analysis


README

Overview

This repository contains the code for the paper "SpectroLoc: Cryptographic Operation Localization via Spectrogram Projection and Time-Series Analysis".

Dataset

The dataset required to run the code can be downloaded from: https://drive.google.com/file/d/17iAaZP0QoogScAILAO1w7NdIjDXl4Ocl/

Extract the downloaded file and place the dataset/ directory in the project root before running the experiments.

Requirements

Required Software

Python 3.9 is recommended. The artifact was tested with Python 3.9.23.

Python Packages

Required packages:

Install the dependencies with:

pip install -r requirements.txt

The core implementation is packaged through pyproject.toml. For local development, reuse from another notebook, or running the notebooks in this artifact, install the repository in editable mode after installing the dependencies:

pip install -e .

The notebooks import the reusable code as spectroloc.*, so this editable install step is required unless src/ is otherwise added to PYTHONPATH.

Usage

The repository includes four primary notebooks corresponding to the main experimental results of the paper:

The notebooks keep dataset paths and paper-specific experiment setup. The spectroloc package contains the reusable core methods:

Directory Structure

spectro-loc/
|-- 1.grid_search.ipynb
|-- 2.auto_search.ipynb
|-- 3.segment.ipynb
|-- 4.disint.ipynb
|-- pyproject.toml
|-- requirements.txt
|-- dataset/
|   |-- chameleon_lowpass/
|   |-- em/
|   |-- semi-loc/
|   `-- trace-copilot/
`-- src/
    `-- spectroloc/
  |-- __init__.py
  |-- config.py
  |-- cpd.py
  |-- motif.py
  |-- projection.py
  |-- self_temp_analyst.py
  `-- self_temp_auto.py

The dataset/ directory is not included in the GitHub repository and should be added manually after downloading and extracting the dataset.

License

This project is released under the MIT License.