
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 wheel은 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를 참조하세요.
바이너리 빌드(pypi의 wheel 및 conda 빌드)는 다음 플랫폼 및 Python 버전에서 사용할 수 있습니다.
플랫폼:
Python 버전: