
Python-Framework zur Durchführung von Seitenkanalanalyse-Angriffen (z. B. CPA) auf öffentlichen Datensätzen, konzipiert für den Bildungsbereich und praktische Übungen in der Sicherheit kryptografischer Hardware.
scared ist ein Side-Channel-Analyse-Framework, das vom eShard-Team entwickelt wird.
Scared benötigt Python 3.11, 3.12 oder 3.13 und Numpy>=2
Sie können scared installieren, abhängig von Ihrer Umgebung:
pipcondacondaSie müssen nur Folgendes ausführen:
conda install -c eshard scared
pipPython-Wheels sind auf PyPI verfügbar. Führen Sie einfach Folgendes aus:
pip install scared
Um aus den Quellen zu installieren, müssen Sie Folgendes ausführen:
pip install .
aus dem Quellverzeichnis.
Wenn Sie planen, mitzuwirken, lesen Sie CONTRIBUTING.md, um die Bibliothek im Entwicklungsmodus zu installieren und die Tests auszuführen.
Beginnen Sie mit scared, indem Sie ein cooles Beispiel ausprobieren:
# First import the lib
import scared
import numpy as np
# Define a selection function
@scared.attack_selection_function
def first_add_key(plaintext, guesses):
res = np.empty((plaintext.shape[0], len(guesses), plaintext.shape[1]), dtype='uint8')
for i, guess in enumerate(guesses):
res[:, i, :] = np.bitwise_xor(plaintext, guess)
return res
# Create an analysis CPA
a = scared.CPAAttack(
selection_function=first_add_key,
model=scared.HammingWeight(),
discriminant=scared.maxabs)
# Load some traces, for example a dpa v2 subset
ths = scared.traces.read_ths_from_ets_file('dpa_v2.ets')
# Create a container for your ths
container = scared.Container(ths)
# Run!
a.run(container)
Um tiefer einzusteigen und alles über scared zu erfahren, besuchen Sie bitte die vollständige Dokumentation. Sie können auch eine interaktive Einführung in scared erhalten, indem Sie diese Notebooks mit Binder starten.
Alle Beiträge, beginnend mit Feedback, sind willkommen. Bitte lesen Sie CONTRIBUTING.md, wenn Sie zum Projekt beitragen möchten.
Diese Bibliothek ist unter der LGPL V3-Lizenz lizenziert. Einzelheiten finden Sie in der Datei LICENSE.
Sie ist hauptsächlich für die nicht-kommerzielle Nutzung durch Akademiker, Studenten oder Fachleute gedacht, die die Grundlagen der Side-Channel-Analyse erlernen möchten.
Wenn Sie diese Bibliothek in einem kommerziellen oder industriellen Kontext nutzen möchten, stellt eShard gegen Gebühren kommerzielle Lizenzen zur Verfügung. Kontaktieren Sie uns!
Siehe AUTHORS für die Liste der Mitwirkenden am Projekt.
Binärpakete (Wheels auf PyPI und Conda-Builds) sind für die folgenden Plattformen und Python-Versionen verfügbar.
Plattformen:
Python-Version: