
Framework Python per l'esecuzione di attacchi di analisi dei canali laterali (es. CPA) su dataset pubblici, progettato per uso didattico e pratica pratica nella sicurezza hardware crittografica.
scared è un framework di analisi dei canali laterali mantenuto dal team di eShard.
Scared necessita di Python 3.11, 3.12 o 3.13 e Numpy>=2
Puoi installare scared, a seconda della tua configurazione:
pipcondacondaDevi solo eseguire:
conda install -c eshard scared
pipI wheel Python sono disponibili su PyPI, basta eseguire:
pip install scared
Per installare dai sorgenti, dovrai eseguire:
pip install .
dalla cartella dei sorgenti.
Se hai intenzione di contribuire, consulta CONTRIBUTING.md per installare la libreria in modalità sviluppo ed eseguire la suite di test.
Inizia a usare scared facendo una cosa interessante:
# 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)
Per approfondire e imparare tutto su scared, vai alla documentazione completa. Puoi anche avere un'introduzione interattiva a scared avviando questi notebook con Binder.
Tutti i contributi, a partire dai feedback, sono benvenuti. Leggi CONTRIBUTING.md se desideri contribuire al progetto.
Questa libreria è concessa in licenza secondo i termini della licenza LGPL V3. Consulta il file LICENSE per i dettagli.
È principalmente pensata per uso non commerciale, da parte di accademici, studenti o professionisti che desiderano apprendere le basi dell'analisi dei canali laterali.
Se desideri utilizzare questa libreria in un contesto commerciale o industriale, eShard fornisce licenze commerciali a pagamento. Contattaci!
Vedi AUTHORS per l'elenco dei contributori al progetto.
Le build binarie (wheel su PyPI e build conda) sono disponibili per le seguenti piattaforme e versioni di Python.
Piattaforme:
Versione Python: