scaredは、eShardチームがメンテナンスするサイドチャネル解析フレームワークです。
Scaredには、Python 3.11、3.12、3.13 と Numpy>=2 が必要です。
お使いの環境に応じて、scared をインストールできます:
pip でconda でconda でインストール次のコマンドを実行するだけです:
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)
さらに詳しく学びたい方は、完全なドキュメントをご覧ください。 また、Binderでこれらのノートブックを起動して、scaredのインタラクティブな紹介を受けることもできます。
フィードバックを含むすべてのコントリビューションを歓迎します。 プロジェクトに貢献したい場合は、CONTRIBUTING.mdをお読みください。
このライブラリはLGPL V3ライセンスの下で提供されています。詳細はLICENSEファイルを参照してください。
主に非商用目的、すなわちアカデミア、学生、またはサイドチャネル解析の基礎を学びたい専門家向けに意図されています。
商業または産業目的でこのライブラリを使用したい場合は、eShardが有償の商用ライセンスを提供しています。お問い合わせください!
プロジェクトへの貢献者のリストはAUTHORSをご覧ください。
バイナリビルド(pypi上のホイールとcondaビルド)は、以下のプラットフォームおよびPythonバージョンで利用可能です。
プラットフォーム:
Pythonバージョン: