
Python-фреймворк для выполнения атак по сторонним каналам (например, CPA) на публичных наборах данных, предназначенный для образовательного использования и практического освоения безопасности криптографического оборудования.
scared — это фреймворк для анализа по побочным каналам, поддерживаемый командой eShard.
Scared требует Python 3.11, 3.12 или 3.13 и Numpy>=2
Вы можете установить scared в зависимости от вашего окружения:
pipcondacondaВам нужно просто выполнить:
conda install -c eshard scared
pipКолеса Python доступны на Pypi, просто выполните:
pip install scared
Для установки из исходных кодов выполните:
pip install .
из папки с исходными кодами.
Если вы планируете внести вклад, ознакомьтесь с CONTRIBUTING.md, чтобы установить библиотеку в режиме разработки и запустить набор тестов.
Начните использовать scared, сделав крутую вещь:
# 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)
Чтобы узнать больше о scared, перейдите к полной документации. Вы также можете получить интерактивное введение в scared, запустив эти ноутбуки с Binder.
Все вклады, начиная с отзывов, приветствуются. Пожалуйста, прочитайте CONTRIBUTING.md, если хотите внести вклад в проект.
Эта библиотека лицензирована под лицензией LGPL V3. Подробности смотрите в файле LICENSE.
Она в основном предназначена для некоммерческого использования академическими кругами, студентами или профессионалами, желающими изучить основы анализа по побочным каналам.
Если вы хотите использовать эту библиотеку в коммерческих или промышленных целях, eShard предоставляет коммерческие лицензии за плату. Свяжитесь с нами!
Список участников проекта смотрите в AUTHORS.
Бинарные сборки (колеса на pypi и сборки conda) доступны для следующих платформ и версий Python.
Платформы:
Версии Python: