
Framework en Python para realizar ataques de análisis de canales laterales (p. ej., CPA) sobre conjuntos de datos públicos, diseñado para uso educativo y práctica práctica en seguridad de hardware criptográfico.
scared es un framework de análisis de canales laterales mantenido por el equipo de eShard.
Scared necesita python 3.11, 3.12 o 3.13 y Numpy>=2
Puedes instalar scared, dependiendo de tu configuración:
pipcondacondaSolo tienes que ejecutar:
conda install -c eshard scared
pipLas ruedas de Python están disponibles en Pypi, solo ejecuta:
pip install scared
Para instalar desde el código fuente, necesitarás ejecutar:
pip install .
desde la carpeta del código fuente.
Si planeas contribuir, consulta CONTRIBUTING.md para instalar la librería en modo desarrollo y ejecutar los tests.
Empieza a usar scared haciendo algo genial:
# 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)
Para ir más allá y aprender todo sobre scared, visita la documentación completa. También puedes tener una introducción interactiva a scared lanzando estos cuadernos con Binder.
Todas las contribuciones, comenzando por los comentarios, son bienvenidas. Por favor, lee CONTRIBUTING.md si deseas contribuir al proyecto.
Esta librería está licenciada bajo la licencia LGPL V3. Consulta el archivo LICENSE para más detalles.
Está pensada principalmente para uso no comercial, por académicos, estudiantes o profesionales que deseen aprender los conceptos básicos del análisis de canales laterales.
Si deseas usar esta librería en un contexto comercial o industrial, eShard ofrece licencias comerciales bajo tarifas. ¡Contáctanos!
Consulta AUTHORS para la lista de contribuyentes al proyecto.
Las versiones binarias (ruedas en pypi y compilaciones de conda) están disponibles para las siguientes plataformas y versiones de Python.
Plataformas:
Versiones de Python: