SCAred是一款高级侧信道安全分析框架,该工具旨在提供实现侧信道分析的工具库,以方便广大研究人员执行侧信道安全分析。
SCAred提供了相当高级的 API 和现成的工具,可以快速运行常见的 CPA、DPA和逆向分析等任务。除此之外,该工具还允许我们根据需求构建自定义扩展和工具。
Python 3.7+
Linux x86 64
MacOSX x86 64
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.7+环境。
conda安装
运行下列命令:
conda install -c eshard scared
pip安装
您可以从 Pypi 获取 Python whell,只需运行下列命令:
pip install scared
源码安装
要从源代码安装,您需要运行下列命令:
pip install .
下面给出的是以代码库形式使用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):
, 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)
本项目的开发与发布遵循LGPL V3 开源许可协议。
SCAred:
https://eshard.gitlab.io/scared/
http://www.eshard.com/