
Python फ्रेमवर्क जो सार्वजनिक डेटासेट पर साइड-चैनल विश्लेषण आक्रमण (जैसे, CPA) करने के लिए डिज़ाइन किया गया है, जो क्रिप्टोग्राफिक हार्डवेयर सुरक्षा में शैक्षिक उपयोग और व्यावहारिक अभ्यास के लिए है।
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)
आगे जाने और scared के बारे में सब कुछ सीखने के लिए, कृपया पूर्ण दस्तावेज़ीकरण पर जाएँ। आप Binder के साथ इन नोटबुक को लॉन्च करके scared का एक इंटरैक्टिव परिचय भी प्राप्त कर सकते हैं।
सभी योगदान, प्रतिक्रिया से शुरू करके, स्वागत योग्य हैं। यदि आप परियोजना में योगदान देना चाहते हैं तो कृपया CONTRIBUTING.md पढ़ें।
यह लाइब्रेरी LGPL V3 लाइसेंस के तहत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।
यह मुख्य रूप से गैर-व्यावसायिक उपयोग के लिए है, शिक्षाविदों, छात्रों या पेशेवरों द्वारा जो साइड-चैनल विश्लेषण की मूल बातें सीखने के इच्छुक हैं।
यदि आप इस लाइब्रेरी का उपयोग व्यावसायिक या औद्योगिक संदर्भ में करना चाहते हैं, तो eShard शुल्क के तहत वाणिज्यिक लाइसेंस प्रदान करता है। हमसे संपर्क करें!
परियोजना में योगदानकर्ताओं की सूची के लिए AUTHORS देखें।
निम्नलिखित प्लेटफार्मों और Python संस्करण के लिए बाइनरी बिल्ड (pypi पर व्हील्स और conda बिल्ड) उपलब्ध हैं।
प्लेटफार्म:
Python संस्करण: