
Voron मैसेंजर क्रिप्टो/प्रोटोकॉल लाइब्रेरी (X3DH-lite + Double Ratchet, group sender-keys, onion transport) — बाहरी समीक्षा का अनुरोध किया गया
यह एक छोटे E2EE मैसेंजर प्रोजेक्ट का क्रिप्टो और मैसेजिंग-प्रोटोकॉल कोर है, जिसे बाहरी समीक्षा के लिए अलग से निकाला गया है। यह संपूर्ण उत्पाद नहीं है — Android क्लाइंट और डिप्लॉयमेंट कॉन्फ़िगरेशन को जानबूझकर बाहर रखा गया है; यह केवल वह हिस्सा है जिस पर नज़र रखने की आवश्यकता है।
common/ — लाइब्रेरी स्वयं:
e2ee/ — X3DH-लाइट (अतुल्यकालिक कुंजी समझौता) + उसके ऊपर एक डबल रैचेट, जो Curve25519/ChaCha20-Poly1305/Ed25519/HKDF (JDK-प्रदत्त प्राइमिटिव, उस स्तर पर कुछ भी हाथ से नहीं बनाया गया) पर बना है।crypto/ — उन JDK प्राइमिटिव पर पतले रैपर।group/ — सेंडर-की योजना (प्री-MLS दृष्टिकोण जो प्रारंभिक WhatsApp/Signal समूह उपयोग करते थे) के माध्यम से समूह मैसेजिंग, साथ ही सदस्यता/भूमिकाओं के लिए क्लाइंट-साइड साइन की गई हैश-चेन इवेंट लॉग, क्योंकि रिले में समूहों की कोई अवधारणा नहीं है।onion/ — एक वैकल्पिक लेयर्ड-एन्क्रिप्शन ट्रांसपोर्ट (निश्चित हॉप काउंट, साइज़-बकेट पैडिंग) ताकि रिले कनेक्शन के IP को उसकी आइडेंटिटी की से सीधे लिंक न कर सके।client/, transport/, backup/ — वायर प्रोटोकॉल, Noise_IK ट्रांसपोर्ट हैंडशेक, और एक एन्क्रिप्टेड-बैकअप प्रारूप।server/ — एक संदर्भ रिले कार्यान्वयन: स्टोर-एंड-फॉरवर्ड रूटिंग, प्रीकी निर्देशिका, ऑफलाइन मेलबॉक्स, ऑनियन-हॉप भूमिका। जानबूझकर न्यूनतम विश्वास: रिले कभी भी प्लेनटेक्स्ट नहीं देखता, संदेश को डिलीवरी में लगने वाले समय से अधिक समय तक नहीं रखता, और (डिज़ाइन द्वारा) समूह सदस्यता के बारे में शून्य जागरूकता रखता है।client/ — एक सादा JVM कंसोल टेस्ट हार्नेस (कोई वास्तविक ऐप नहीं) जिसका उपयोग common/server को इंटीग्रेशन परीक्षणों में एक-दूसरे के विरुद्ध चलाने के लिए किया जाता है, साथ ही कुछ स्वतंत्र एक्सप्लॉइट PoCs (नीचे देखें)।security-audit/ — पिछले आंतरिक समीक्षा पास के लेख, उनमें मिले बग, और पहले से ठीक किए गए बग। कुछ रिपोर्ट करने से पहले इसे पढ़ें — एक वास्तविक संभावना है कि यह पहले से यहाँ है। REPORT.md मुख्य है; ADVERSARIAL_REVIEW_PAVEL.md बाद का, संकीर्ण पास है; fuzz/ और client/.../exploit/ में चलने योग्य PoCs हैं, केवल विवरण नहीं।security-audit/ में कई ठीक किए गए बग वास्तव में "एक शत्रुतापूर्ण रिले क्या कर सकता है?" हैं।group/GroupCryptoSession.kt में दस्तावेजित)।security-audit/REPORT.md और ADVERSARIAL_REVIEW_PAVEL.md में स्पष्ट रूप से बताया गया है, कुछ छुपाया नहीं जा रहा है।common/src/main/kotlin/messenger/common/e2ee/) — यह यहाँ एकमात्र वास्तविक बेस्पोक क्रिप्टोग्राफिक निर्माण है, इसके नीचे सब कुछ ऑफ-द-शेल्फ है। इसकी आंतरिक रूप से कई बार समीक्षा की गई है (security-audit/ देखें) लेकिन इस प्रोजेक्ट के बाहर किसी ने कभी नहीं।common/src/main/kotlin/messenger/common/group/GroupControlLog.kt) — एक क्लाइंट-साइड साइन की गई हैश-चेन जिसमें कोई सर्वर प्रवर्तन नहीं है।./gradlew test
मानक Gradle/Kotlin प्रोजेक्ट, JDK 17+। यूनिट-स्तरीय सूट के लिए किसी नेटवर्क एक्सेस या चल रही सेवाओं की आवश्यकता नहीं है। security-audit/README.md में लाइव रिले-फ़ज़िंग और ऑनियन-सहसंबंध PoCs के लिए निर्देश हैं, जिनके लिए स्थानीय प्रक्रियाओं को चलाने की आवश्यकता होती है (इसे कभी भी प्रोडक्शन होस्ट पर इंगित न करें)।
इस पर कोई स्वतंत्र क्रिप्टोग्राफिक ऑडिट नहीं किया गया है। security-audit/ में सब कुछ आंतरिक इंजीनियरिंग समीक्षा है — सावधान, लेकिन स्व-समीक्षा, जिसमें कोई औपचारिक-प्रमाण समर्थन नहीं है और इसके पीछे कोई पेशेवर/संस्थागत ट्रैक रिकॉर्ड नहीं है। इसे समीक्षा के लिए एक प्रारंभिक बिंदु के रूप में मानें, प्रमाणीकरण के रूप में नहीं।