害怕是一个旁道分析框架。
项目描述
害怕的
害怕是由eShard团队维护的侧通道分析框架。
入门
要求
害怕需要 python 3.6、3.7或3.8。
您可以安装scared,具体取决于您的设置:
- 从源头
- 和
pip - 和
conda
安装conda
你只需要运行:
conda install -c eshard scared
安装pip
Pypi 提供了 Python 轮子,只需运行:
pip install scared
从源安装
要从源安装,您需要运行:
pip install .
从源文件夹。
如果您打算做出贡献,请参阅CONTRIBUTING.md以在开发模式下安装库并运行测试套件。
做第一件很酷的事情
通过做一件很酷的事情开始使用害怕:
# 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)
文档
要进一步了解有关害怕的所有信息,请参阅完整文档。您还可以通过使用 Binder 启动这些笔记本来对恐惧进行交互式介绍。
贡献
欢迎所有从反馈开始的贡献。如果您想为该项目做出贡献,请阅读CONTRIBUTING.md 。
执照
该库在 LGPL V3 许可下获得许可。有关详细信息,请参阅许可证文件。
它主要用于非商业用途,供愿意学习旁道分析基础知识的学者、学生或专业人士使用。
如果您希望在商业或工业环境中使用此库,eShard提供收费的商业许可。联系我们!
作者
有关该项目的贡献者列表,请参见AUTHORS 。
可用的二进制版本
二进制构建(pypi 和 conda 构建上的轮子)可用于以下平台和 Python 版本。
平台:
- Linux x86 64
- macOS x86 64
蟒蛇版本:
- 3.6
- 3.7
- 3.8