Quick Start
This section will quickly guide you on how to use CrackNuts
for power data acquisition and analysis.
đī¸ Host Software Installation
The CrackNuts host software provides a Python-based development SDK. The default integrated development environment is Jupyter, which includes built-in components for convenient device control and data acquisition. Users can also control the devices using standard Python scripts outside the Jupyter environment.
đī¸ Running CrackNuts
This section uses the Cracker-S1 device as an example. In the CrackNuts side-channel acquisition and analysis integrated solution, the host software is provided to users in the form of a Python SDK. Users can use Jupyter as a programming IDE to control the device, acquire data, and perform subsequent data analysis.
đī¸ Trace Acquisition
This section demonstrates the basic data acquisition process using the nutstm32f103c8 as the Nut (which comes preloaded with Golden firmware for demo/testing purposes). We'll use Jupyter as the development environment (install via pip install cracknuts[jupyter]).
đī¸ Trace Analysis
The collected traces are, by default, saved in the dataset folder located in the same directory as the current Jupyter notebook. The filenames are timestamped, for example: 20250519101918.zarr.
đī¸ Host Software Update
Updating CrackNuts is very easy. Simply open the environment where CrackNuts is installed (if you installed it via the quick installation command, you can launch it directly using the CrackNuts desktop shortcut), then run the following command:
đī¸ Support
The software part of CrackNuts is open source, and the code is hosted on the following platforms: