अवलोकन
यह दस्तावेज़ हमारे एल-गामल असममित एन्क्रिप्शन के प्रतिस्थापन या अतिरिक्त जोड़ के प्रस्ताव के समय विचार करने योग्य महत्वपूर्ण मुद्दों का वर्णन करता है।
यह एक सूचनात्मक दस्तावेज़ है।
प्रेरणा
एल-गामल पुराना और धीमा है, और इसके बेहतर विकल्प मौजूद हैं।
हालांकि, किसी भी नए एल्गोरिथ्म में जोड़ या परिवर्तन करने से पहले कई मुद्दों को संबोधित करना आवश्यक है।
यह दस्तावेज़ इन अनसुलझे मुद्दों पर प्रकाश डालता है।
पृष्ठभूमि अनुसंधान
नई क्रिप्टो का प्रस्ताव देने वाले प्रत्येक व्यक्ति को निम्नलिखित दस्तावेज़ों से पहले से परिचित होना चाहिए:
- प्रस्ताव 111 NTCP2
- प्रस्ताव 123 LS2
- प्रस्ताव 136 प्रायोगिक हस्ताक्षर प्रकार
- प्रस्ताव 137 वैकल्पिक हस्ताक्षर प्रकार
- ऊपर दिए गए प्रत्येक प्रस्ताव के लिए चर्चा थ्रेड्स, भीतर लिंक किए गए
- 2018 प्रस्ताव प्राथमिकताएँ
- ECIES प्रस्ताव
- नई असममित क्रिप्टो का अवलोकन
- लो-लेवल क्रिप्टो का अवलोकन
असममित क्रिप्टो के उपयोग
समीक्षा के रूप में, हम एल-गामल का उपयोग निम्नलिखित के लिए करते हैं:
टनल बिल्ड संदेश (कुंजी RouterIdentity में होती है)
राउटर-से-राउटर एन्क्रिप्शन नेटडीबी और अन्य I2NP संदेशों के लिए (कुंजी RouterIdentity में होती है)
क्लाइंट एंड-टू-एंड एल-गामल+AES/सेशनटैग (कुंजी LeaseSet में होती है, Destination कुंजी का उपयोग नहीं होता)
NTCP और SSU के लिए क्षणिक DH
डिज़ाइन
एल-गामल को किसी अन्य चीज़ से बदलने के किसी भी प्रस्ताव में निम्नलिखित विवरण प्रदान करने होंगे।
विनिर्देश
नई असममित क्रिप्टो के लिए कोई भी प्रस्ताव निम्नलिखित चीज़ों को पूरी तरह से विनिर्दिष्ट करना चाहिए।
1. सामान्य
अपने प्रस्ताव में निम्नलिखित प्रश्नों के उत्तर दें। ध्यान दें कि यह नीचे 2) में विनिर्देशों से एक अलग प्रस्ताव होने की आवश्यकता हो सकती है, क्योंकि यह मौजूदा प्रस्तावों 111, 123, 136, 137 या अन्य के साथ टकराव में हो सकता है।
- ऊपर दिए गए मामलों 1-4 में से आप नई क्रिप्टो का उपयोग किसके लिए प्रस्तावित करते हैं?
- यदि 1) या 2) (राउटर) के लिए, सार्वजनिक कुंजी कहाँ जाएगी, RouterIdentity या RouterInfo props में? क्या आप कुंजी प्रमाणपत्र में क्रिप्टो प्रकार का उपयोग करने की योजना बना रहे हैं? पूरी तरह से विनिर्दिष्ट करें। अपने निर्णय को तर्कसंगत बनाएं।
- यदि 3) (क्लाइंट) के लिए, क्या आप सार्वजनिक कुंजी को डेस्टिनेशन में संग्रहीत करने और कुंजी प्रमाणपत्र में क्रिप्टो प्रकार का उपयोग करने की योजना बना रहे हैं (जैसा कि ECIES प्रस्ताव में है), या इसे LS2 में संग्रहीत करने की योजना है (जैसा कि प्रस्ताव 123 में है), या कुछ और? पूरी तरह से विनिर्दिष्ट करें, और अपने निर्णय को तर्कसंगत बनाएं।
- सभी उपयोगों के लिए, समर्थन को कैसे प्रचारित किया जाएगा? यदि 3) के लिए, क्या यह LS2 में जाएगा, या कहीं और? यदि 1) और 2) के लिए, क्या यह प्रस्ताव 136 और/या 137 के समान है? पूरी तरह से विनिर्दिष्ट करें, और अपने निर्णयों को तर्कसंगत बनाएं। इसके लिए शायद एक अलग प्रस्ताव की आवश्यकता होगी।
- पूरी तरह से विनिर्दिष्ट करें कि यह कैसे और क्यों पिछड़े संगत है, और प्रवासन योजना को पूरी तरह से विनिर्दिष्ट करें।
- कौन से अनुपलब्ध प्रस्ताव आपके प्रस्ताव के लिए पूर्वापेक्षा हैं?
2. विशिष्ट क्रिप्टो प्रकार
अपने प्रस्ताव में निम्नलिखित प्रश्नों के उत्तर दें:
- सामान्य क्रिप्टो जानकारी, विशिष्ट वक्र/पैरामीटर, अपनी पसंद को पूरी तरह से तर्कसंगत बनाएं। विनिर्देश और अन्य जानकारी के लिंक प्रदान करें।
- एलजी और अन्य विकल्पों की तुलना में गति परीक्षण परिणाम (यदि लागू हो)। एन्क्रिप्ट, डिक्रिप्ट और कुंजी उत्पन्न करना शामिल करें।
- C++ और जावा (दोनों OpenJDK, BouncyCastle, और तृतीय-पक्ष) में पुस्तकालय की उपलब्धता
तृतीय-पक्ष या गैर-जावा के लिए, लिंक और लाइसेंस प्रदान करें - प्रस्तावित क्रिप्टो प्रकार संख्या(एँ) (प्रायोगिक सीमा या नहीं)