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,请访问 完整文档。
您还可以通过 Binder 启动这些笔记本 获得交互式介绍。
欢迎所有贡献,从反馈开始。
如果您希望为项目做出贡献,请阅读 CONTRIBUTING.md。
该库采用 LGPL V3 许可证。有关详细信息,请参阅 LICENSE 文件。
它主要面向非商业用途,供学术界、学生或愿意学习侧信道分析基础的专业人士使用。
如果您希望在商业或工业环境中使用该库,eShard 提供收费的商业许可证。联系我们!
请参阅 AUTHORS 了解项目贡献者列表。
以下平台和 Python 版本提供二进制构建(pypi 上的轮子文件和 conda 构建)。
平台:
Python 版本: