
Project Wycheproof ज्ञात हमलों के विरुद्ध क्रिप्टो लाइब्रेरी का परीक्षण करता है।
प्रोजेक्ट Wycheproof एक समुदाय द्वारा प्रबंधित टेस्ट वेक्टर का रिपॉज़िटरी है, जिसका उपयोग क्रिप्टोग्राफी लाइब्रेरी डेवलपर्स ज्ञात हमलों, विशिष्टता असंगतियों, और अन्य विभिन्न कार्यान्वयन बग्स के विरुद्ध परीक्षण करने के लिए कर सकते हैं।
टेस्ट वेक्टर JSON टेस्ट वेक्टर डेटा के रूप में बनाए रखे जाते हैं, साथ में JSON स्कीमा फ़ाइलें होती हैं जो टेस्ट वेक्टर डेटा की संरचना का दस्तावेज़ीकरण करती हैं।
आपके लिए यह देखना सहायक हो सकता है कि अन्य प्रोजेक्ट जैसे pyca/cryptography ने Wycheproof के टेस्ट वेक्टर को कैसे एकीकृत किया है।
प्रोजेक्ट Wycheproof में सबसे लोकप्रिय क्रिप्टो एल्गोरिदम के लिए टेस्ट वेक्टर हैं, जिनमें शामिल हैं
टेस्ट वेक्टर यह पता लगाते हैं कि कोई लाइब्रेरी कई हमलों के प्रति संवेदनशील है या नहीं, जिनमें शामिल हैं
हम नए टेस्ट वेक्टर डेटा और एल्गोरिदम के योगदान का स्वागत करते हैं।
यदि आप योगदान देना चाहते हैं, तो कृपया CONTRIBUTING पढ़ें और हमें पुल रिक्वेस्ट भेजें। आप बग रिपोर्ट कर सकते हैं या नए परीक्षणों का अनुरोध GitHub issues के रूप में कर सकते हैं।
हम प्रोजेक्ट Wycheproof के विकास और रखरखाव को एक C2SP प्रोजेक्ट के रूप में पुनर्जीवित करने की प्रक्रिया में हैं, जिसमें टेस्ट वेक्टर डेटा पर नए सिरे से ध्यान केंद्रित किया गया है।
हमारी तत्काल प्राथमिकता टेस्ट वेक्टर डेटा में अतिरिक्त एल्गोरिदम और टेस्ट केस कवरेज जोड़ना है।
प्रोजेक्ट Wycheproof का नाम माउंट Wycheproof के नाम पर रखा गया है, जो दुनिया का सबसे छोटा पर्वत है। इसके निर्माण के समय प्रोजेक्ट का मुख्य उद्देश्य एक ऐसा लक्ष्य रखना था जो प्राप्त करने योग्य हो। पर्वत जितना छोटा होगा, उस पर चढ़ना उतना ही संभव होगा।
Wycheproof टेस्ट वेक्टर किसी न किसी रूप में कई महत्वपूर्ण क्रिप्टोग्राफी प्रोजेक्ट और लाइब्रेरी द्वारा उपयोग किए जाते हैं। किसी विशेष क्रम के बिना, इनमें शामिल हैं:
यदि आपका प्रोजेक्ट Wycheproof के टेस्ट वेक्टर का उपयोग करता है, तो बेझिझक एक PR खोलें और इसे उपरोक्त सूची में जोड़ें!
Wycheproof के टेस्ट हार्नेस या टेस्ट वेक्टर डेटा का उपयोग करके पाए गए कुछ उल्लेखनीय ऐतिहासिक बग के लिए doc/bugs.md देखें।
testvectors/ डायरेक्टरी कहाँ है?हमने हाल ही में testvectors/ और testvectors_v1/ डायरेक्टरी को स्कीमा के प्रति एक सुसंगत दृष्टिकोण के साथ एक एकीकृत डायरेक्टरी में संयोजित किया है।
मूल ("v0") टेस्ट वेक्टर डेटा की आवश्यकता वाले उपयोगकर्ता इस रिपॉज़िटरी को wycheproof-v0-vectors टैग से क्लोन कर सकते हैं, लेकिन भविष्य के अपडेट से लाभ उठाने के लिए testvectors_v1/ का उपयोग करने पर विचार करने के लिए प्रोत्साहित किया जाता है। यदि testvectors/ से कोई सुविधाएं/टेस्ट कवरेज testvectors_v1/ में अनुपलब्ध हैं, या आपके अपडेट को रोकने वाली कोई अन्य समस्या है, तो कृपया अपनी आवश्यकताओं का वर्णन करते हुए एक issue खोलें।
फ़ाइलों, प्रारूपों और प्रकारों के लिए कुछ लीगेसी दस्तावेज़ उपलब्ध हैं, लेकिन ये वर्तमान टेस्ट वेक्टर स्थिति के साथ आवश्यक रूप से समन्वित नहीं हैं।
सामान्य तौर पर, स्कीमा फ़ाइलों को संदर्भित करना बेहतर है क्योंकि इनका परीक्षण CI में किया जाता है ताकि यह सुनिश्चित हो सके कि वेक्टर फ़ाइल की सामग्री उनके घोषित स्कीमा से मेल खाती है।
ऐतिहासिक रूप से Wycheproof में टेस्ट हार्नेस भी शामिल थे (जैसे Java और Javascript क्रिप्टोग्राफी कार्यान्वयन के लिए) जो सीधे कार्यान्वयन के विरुद्ध विभिन्न हमलों का परीक्षण करते थे। समुदाय समर्थन में परिवर्तन के बाद से ये हार्नेस [हटा दिए गए हैं][harness-rm] (लेकिन इच्छुक पक्षों के लिए git इतिहास में [cd27d64] पर अभी भी मौजूद हैं)। हमारा वर्तमान फोकस कार्यान्वयन-अज्ञेय टेस्ट वेक्टर पर है।