
إطار عمل بلغة بايثون لتنفيذ هجمات تحليل القنوات الجانبية (مثل 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: