दीर्घवृत्ताकार-वक्र डिफी-हेलमैन

एलिप्टिक-कर्व डिफी-हेलमैन (ईसीडीएच) एक प्रमुख समझौता प्रोटोकॉल है जो दो पक्षों को, जिनमें से प्रत्येक के पास अण्डाकार वक्र | एलिप्टिक-वक्र सार्वजनिक-निजी कुंजी जोड़ी है, एक असुरक्षित चैनल पर एक साझा रहस्य स्थापित करने की अनुमति देता है।  इस साझा रहस्य को सीधे कुंजी के रूप में या कुंजी व्युत्पत्ति फ़ंक्शन के लिए उपयोग किया जा सकता है। कुंजी, या व्युत्पन्न कुंजी, का उपयोग सममित-कुंजी एल्गोरिथ्म|सिमेट्रिक-कुंजी सिफर का उपयोग करके पश्चात के संचार को एन्क्रिप्ट करने के लिए किया जा सकता है। यह अण्डाकार-वक्र क्रिप्टोआलेखी का उपयोग करते हुए डिफी-हेलमैन कुंजी एक्सचेंज | डिफी-हेलमैन प्रोटोकॉल का एक प्रकार है।

मुख्य स्थापना प्रोटोकॉल
निम्नलिखित उदाहरण दिखाता है कि साझा कुंजी कैसे स्थापित की जाती है। मान लीजिए कि ऐलिस और बॉब ऐलिस और बॉब के साथ एक साझा कुंजी स्थापित करना चाहते हैं, लेकिन उनके लिए उपलब्ध एकमात्र चैनल किसी तीसरे पक्ष द्वारा गुप्त रखा जा सकता है। प्रारंभ में, एलिप्टिक वक्र क्रिप्टोआलेखी#डोमेन पैरामीटर (अर्थात्, $$(p, a, b, G, n, h)$$ मुख्य स्थिति में या $$(m, f(x), a, b, G, n, h)$$ बाइनरी स्थिति में) पर सहमति होनी चाहिए। साथ ही, प्रत्येक पक्ष के पास अण्डाकार वक्र क्रिप्टोआलेखी के लिए उपयुक्त एक कुंजी जोड़ी होनी चाहिए, जिसमें एक निजी कुंजी सम्मिलित हो $$d$$ (अंतराल में एक यादृच्छिक रूप से चयनित पूर्णांक $$[1, n-1]$$) और एक सार्वजनिक कुंजी जिसे एक बिंदु द्वारा दर्शाया गया है $$Q$$ (कहाँ $$Q = d \cdot G$$, अर्थात् अण्डाकार वक्र बिंदु गुणन का परिणाम $$G$$ खुद को $$d$$ बार)। बता दें कि ऐलिस की मुख्य जोड़ी है $$(d_\text{A}, Q_\text{A})$$ और बॉब की मुख्य जोड़ी हो $$(d_\text{B}, Q_\text{B})$$. प्रोटोकॉल के निष्पादन से पहले प्रत्येक पक्ष को दूसरे पक्ष की सार्वजनिक कुंजी पता होनी चाहिए।

ऐलिस बिंदु की गणना करती है $$(x_k, y_k) = d_\text{A} \cdot Q_\text{B}$$. बॉब बिंदु की गणना करता है $$(x_k, y_k) = d_\text{B} \cdot Q_\text{A}$$. साझा रहस्य है $$x_k$$ (बिंदु का x निर्देशांक)। ECDH पर आधारित अधिकांश मानकीकृत प्रोटोकॉल एक सममित कुंजी प्राप्त करते हैं $$x_k$$ कुछ हैश-आधारित कुंजी व्युत्पत्ति फ़ंक्शन का उपयोग करना।

दोनों पक्षों द्वारा गणना किया गया साझा रहस्य समतुल्य है, क्योंकि $$d_\text{A} \cdot Q_\text{B} = d_\text{A} \cdot d_\text{B} \cdot G = d_\text{B} \cdot d_\text{A} \cdot G = d_\text{B} \cdot Q_\text{A}$$.

ऐलिस ने अपनी कुंजी के बारे में जो एकमात्र जानकारी आरंभ में उजागर की, वह उसकी सार्वजनिक कुंजी है। इसलिए, ऐलिस को छोड़कर कोई भी पक्ष ऐलिस की निजी कुंजी निर्धारित नहीं कर सकता है (ऐलिस निश्चित रूप से इसे चयनित करके जानता है), जब तक कि वह पक्ष अण्डाकार वक्र असतत लघुगणक समस्या को हल नहीं कर सकता। बॉब की निजी कुंजी भी इसी प्रकार सुरक्षित है। ऐलिस या बॉब के अतिरिक्त कोई भी पक्ष साझा रहस्य की गणना नहीं कर सकता, जब तक कि वह पक्ष अण्डाकार वक्र डिफी-हेलमैन समस्या को हल नहीं कर सकता।

सार्वजनिक कुंजियाँ या तो स्थिर होती हैं (और विश्वसनीय होती हैं, जैसे किसी प्रमाण पत्र के माध्यम से) या अल्पकालिक होती हैं (इसे ईसीडीएचई के रूप में भी जाना जाता है, जहां अंतिम 'ई' का अर्थ अल्पकालिक होता है)। अल्पकालिक कुंजी अस्थायी होती है और आवश्यक रूप से प्रमाणित नहीं होती है, इसलिए यदि प्रमाणीकरण वांछित है, तो प्रामाणिकता का आश्वासन अन्य माध्यमों से प्राप्त किया जाना चाहिए। बीच में आदमी का हमला|मैन-इन-द-मिडिल हमलों से बचने के लिए प्रमाणीकरण आवश्यक है। यदि ऐलिस या बॉब की सार्वजनिक कुंजियों में से कोई एक स्थिर है, तो बीच-बीच में होने वाले हमलों को विफल कर दिया जाता है। अन्य उन्नत सुरक्षा गुणों के बीच, स्थिर सार्वजनिक कुंजियाँ न तो आगे की गोपनीयता और न ही कुंजी-समझौता प्रतिरूपण लचीलापन प्रदान करती हैं। स्थिर निजी कुंजी के धारकों को अन्य सार्वजनिक कुंजी को मान्य करना चाहिए, और स्थिर निजी कुंजी के बारे में जानकारी लीक होने से बचने के लिए कच्चे डिफी-हेलमैन साझा रहस्य पर एक सुरक्षित कुंजी व्युत्पत्ति फ़ंक्शन लागू करना चाहिए। अन्य सुरक्षा गुणों वाली योजनाओं के लिए, MQV देखें।

यदि ऐलिस दुर्भावनापूर्ण रूप से अपनी कुंजी के लिए अमान्य वक्र बिंदुओं को चुनती है और बॉब यह पुष्टि नहीं करता है कि ऐलिस के अंक चयनित समूह का भाग हैं, तो वह अपनी निजी कुंजी प्राप्त करने के लिए बॉब की कुंजी के पर्याप्त अवशेष एकत्र कर सकती है। कई परिवहन परत सुरक्षा  लाइब्रेरीज़ को इस हमले के प्रति संवेदनशील पाया गया। साझा रहस्य समान रूप से उपसमूह पर वितरित किया जाता है $$[0, p)$$ बनावट का $$(n+1)/2$$. इस कारण से, रहस्य को सीधे सममित कुंजी के रूप में उपयोग नहीं किया जाना चाहिए, लेकिन इसे कुंजी व्युत्पत्ति फ़ंक्शन के लिए एन्ट्रापी के रूप में उपयोग किया जा सकता है।

सॉफ्टवेयर

 * कर्व25519 सी भाषा में डेनियल जे. बर्नस्टीन द्वारा अण्डाकार वक्र मापदंडों और संदर्भ कार्यान्वयन का एक लोकप्रिय सेट है। भाषा बंधन और वैकल्पिक कार्यान्वयन भी उपलब्ध हैं।
 * लाइन (सॉफ्टवेयर) ने अक्टूबर 2015 से उक्त ऐप के माध्यम से भेजे गए सभी संदेशों के लेटर सीलिंग एंड-टू-एंड एन्क्रिप्शन के लिए ईसीडीएच प्रोटोकॉल का उपयोग किया है।
 * सिग्नल प्रोटोकॉल समझौता के पश्चात सुरक्षा प्राप्त करने के लिए ईसीडीएच का उपयोग करता है। इस प्रोटोकॉल का कार्यान्वयन सिग्नल (सॉफ्टवेयर), व्हाट्सप्प,  फेसबुक संदेशवाहक  और स्काइप में पाया जाता है।

यह भी देखें

 * डिफी-हेलमैन कुंजी विनिमय
 * आगे की गोपनीयता