
Wycheproof 프로젝트는 알려진 공격에 대해 암호화 라이브러리를 테스트합니다.
Project Wycheproof는 암호화 라이브러리 개발자가 알려진 공격, 명세 불일치 및 기타 다양한 구현 버그에 대해 테스트하는 데 사용할 수 있는 테스트 벡터의 커뮤니티 관리 저장소입니다.
테스트 벡터는 JSON 테스트 벡터 데이터로 유지 관리되며, 테스트 벡터 데이터의 구조를 문서화하는 JSON 스키마 파일이 함께 제공됩니다.
pyca/cryptography와 같은 다른 프로젝트가 Wycheproof의 테스트 벡터를 통합한 방식을 살펴보면 도움이 될 수 있습니다.
Project Wycheproof는 가장 널리 사용되는 암호화 알고리즘에 대한 테스트 벡터를 보유하고 있으며, 여기에는 다음이 포함됩니다.
테스트 벡터는 라이브러리가 다음을 포함한 다양한 공격에 취약한지 여부를 감지합니다.
새로운 테스트 벡터 데이터와 알고리즘의 기여를 환영합니다.
기여하고 싶다면 CONTRIBUTING을 읽고 풀 리퀘스트를 보내주세요. 버그를 보고하거나 새로운 테스트를 요청하려면 GitHub 이슈를 이용할 수도 있습니다.
우리는 테스트 벡터 데이터에 중점을 두고 Project Wycheproof의 개발과 유지 관리를 C2SP 프로젝트로 재활성화하는 과정에 있습니다.
당장의 우선순위는 테스트 벡터 데이터에 추가적인 알고리즘 및 테스트 케이스 커버리지를 추가하는 것입니다.
Project Wycheproof는 세계에서 가장 작은 산인 Mount Wycheproof의 이름을 따서 명명되었습니다. 프로젝트가 만들어질 당시의 주된 동기는 달성 가능한 목표를 갖는 것이었습니다. 산이 작을수록 등반할 가능성이 더 높아집니다.
Wycheproof 테스트 벡터는 여러 중요한 암호화 프로젝트와 라이브러리에서 어떤 형태로든 사용됩니다. 특별한 순서 없이 다음과 같습니다.
프로젝트에서 Wycheproof의 테스트 벡터를 사용한다면, 위 목록에 추가할 수 있도록 PR을 자유롭게 열어주세요!
Wycheproof의 테스트 하네스 또는 테스트 벡터 데이터를 사용하여 발견된 몇 가지 주목할 만한 과거 버그는 doc/bugs.md를 참조하세요.
testvectors/ 디렉터리는 어디에 있나요?최근에 testvectors/와 testvectors_v1/ 디렉터리를 일관된 스키마 접근 방식을 가진 단일 통합 디렉터리로 통합했습니다.
원본("v0") 테스트 벡터 데이터가 필요한 사용자는 wycheproof-v0-vectors 태그에서 이 저장소를 클론할 수 있지만, 향후 업데이트의 이점을 누리려면 testvectors_v1/을 사용하도록 업데이트하는 것을 권장합니다. testvectors/의 기능/테스트 커버리지가 testvectors_v1/에 누락되어 있거나, 업데이트를 막는 다른 문제가 있다면 필요한 사항을 설명하는 이슈를 열어주세요.
파일, 형식 및 유형에 대한 일부 레거시 문서가 있지만, 현재 테스트 벡터 상태와 반드시 동기화되어 있지는 않습니다.
일반적으로 스키마 파일을 참조하는 것이 좋습니다. 이 파일들은 벡터 파일 내용이 명시된 스키마와 일치하는지 확인하기 위해 CI에서 테스트되기 때문입니다.
역사적으로 Wycheproof는 다양한 공격을 구현체에 직접 테스트하는 테스트 하네스(예: Java 및 Javascript 암호화 구현용)도 포함했습니다. 커뮤니티 지원으로 전환한 이후 이러한 하네스는 제거되었지만 (git 히스토리에는 관심 있는 분들을 위해 cd27d64에 여전히 존재합니다). 현재 우리의 초점은 구현에 독립적인 테스트 벡터입니다.
서드파티 암호화 라이브러리를 직접 테스트한다는 것은 결함이 테스트 대상 프로젝트에 의해 커밋되고 잠재적으로 릴리스된 후에야 발견된다는 것을 의미합니다. 대신, 우리는 다운스트림 프로젝트가 개발 과정의 일부로 Wycheproof 테스트 벡터를 사용하여 정기적으로 코드를 테스트할 것을 권장합니다. 이 접근 방식은 결함이 CVE가 되기 전에 잡을 수 있도록 돕고, 새로운 기능이 즉시 테스트되도록 하며, 유지 관리 부담을 분산시키는 데 도움이 됩니다. 이를 통해 Wycheproof 유지 관리자는 계속 증가하는 언어 및 프로젝트별 테스트 하네스를 유지 관리하면서 여러 프로젝트의 다운스트림 개발을 추적하는 대신 테스트 벡터에 집중할 수 있습니다.
테스트 하네스에 관심이 있는 분들은 Daniel Bleichenbacher가 Rooterberg에서 계속하는 작업에 관심을 가질 수 있습니다.
Copyright 2016-2026 The Wycheproof Authors, Apache License 2.0에 따라 제공됩니다.
Project Wycheproof는 원래 다음 사람들이 만들고 유지 관리했습니다.