एलगमाल एन्क्रिप्शन: Difference between revisions

From Vigyanwiki
(Created page with "{{Short description|Public-key cryptosystem}} {{Redirect|ElGamal|signature algorithm|ElGamal signature scheme}} क्रिप्टोग्राफी में, ए...")
 
No edit summary
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Short description|Public-key cryptosystem}}
{{Short description|Public-key cryptosystem}}
{{Redirect|ElGamal|signature algorithm|ElGamal signature scheme}}
{{Redirect|एलगमाल|सिग्नेचर एल्गोरिथ्म|एलगमाल सिग्नेचर योजना}}


[[क्रिप्टोग्राफी]] में, एलगैमल एन्क्रिप्शन सिस्टम [[सार्वजनिक-कुंजी क्रिप्टोग्राफी]] के लिए एक [[असममित कुंजी एन्क्रिप्शन एल्गोरिदम]] है जो डिफी-हेलमैन कुंजी एक्सचेंज पर आधारित है। इसका वर्णन 1985 में [[ताहेर एल्गामल]] द्वारा किया गया था।<ref>{{cite journal |author=Taher ElGamal |title=एक सार्वजनिक-कुंजी क्रिप्टोसिस्टम और असतत लघुगणक पर आधारित एक हस्ताक्षर योजना|journal=IEEE Transactions on Information Theory |volume=31 |issue=4 |year=1985 |pages=469–472 |doi=10.1109/TIT.1985.1057074 |url=https://caislab.kaist.ac.kr/lecture/2010/spring/cs548/basic/B02.pdf|citeseerx=10.1.1.476.4791 |s2cid=2973271 }} (conference version appeared in [[CRYPTO]]'84, pp. 10–18)</ref> ElGamal एन्क्रिप्शन का उपयोग मुफ़्त [[जीएनयू गोपनीयता गार्ड]] सॉफ़्टवेयर, [[काफ़ी अच्छी गोपनीयता]] के हाल के संस्करणों और अन्य [[क्रिप्टो]]सिस्टम में किया जाता है। [[ डिजिटल हस्ताक्षर एल्गोरिदम ]] (डीएसए) [[एलगमाल हस्ताक्षर योजना]] का एक प्रकार है, जिसे एल्गैमल एन्क्रिप्शन के साथ भ्रमित नहीं किया जाना चाहिए।
[[क्रिप्टोग्राफी]] में, एलगैमल एन्क्रिप्शन सिस्टम [[सार्वजनिक-कुंजी क्रिप्टोग्राफी|पब्लिक-की क्रिप्टोग्राफी]] के लिए एक [[असममित कुंजी एन्क्रिप्शन एल्गोरिदम|असिमेट्रिक की-एन्क्रिप्शन एल्गोरिदम]] है जो डिफी-हेलमैन की एक्सचेंज पर आधारित है। इसका वर्णन 1985 में [[ताहेर एल्गामल]] द्वारा किया गया था।<ref>{{cite journal |author=Taher ElGamal |title=एक सार्वजनिक-कुंजी क्रिप्टोसिस्टम और असतत लघुगणक पर आधारित एक हस्ताक्षर योजना|journal=IEEE Transactions on Information Theory |volume=31 |issue=4 |year=1985 |pages=469–472 |doi=10.1109/TIT.1985.1057074 |url=https://caislab.kaist.ac.kr/lecture/2010/spring/cs548/basic/B02.pdf|citeseerx=10.1.1.476.4791 |s2cid=2973271 }} (conference version appeared in [[CRYPTO]]'84, pp. 10–18)</ref>एलगमाल एन्क्रिप्शन का उपयोग मुफ़्त [[जीएनयू गोपनीयता गार्ड]] सॉफ़्टवेयर, [[काफ़ी अच्छी गोपनीयता]] के हाल के संस्करणों और अन्य [[क्रिप्टो]]सिस्टम में किया जाता है। [[ डिजिटल हस्ताक्षर एल्गोरिदम ]] (डीएसए) [[एलगमाल हस्ताक्षर योजना]] का एक प्रकार है, जिसे एल्गैमल एन्क्रिप्शन के साथ भ्रमित नहीं किया जाना चाहिए।


एल्गैमल एन्क्रिप्शन को किसी भी [[चक्रीय समूह]] पर परिभाषित किया जा सकता है <math>G</math>, जैसे पूर्णांकों का गुणक समूह modulo n|पूर्णांकों का गुणक समूह modulo n। इसकी सुरक्षा किसी निश्चित समस्या की कठिनाई पर निर्भर करती है <math>G</math> [[असतत लघुगणक]] की गणना से संबंधित।
एल्गैमल एन्क्रिप्शन को किसी भी [[चक्रीय समूह]] <math>G</math> पर परिभाषित किया जा सकता है, जैसे पूर्णांकों मॉड्यूलो n पूर्णांकों का गुणक समूह इसकी सुरक्षा [[असतत लघुगणक]] की गणना से संबंधित <math>G</math> में एक निश्चित समस्या की कठिनाई पर निर्भर करती है  ।


== एल्गोरिथ्म ==
== एल्गोरिथ्म ==
एल्गोरिदम को एक साझा रहस्य स्थापित करने के लिए पहली बार डिफी-हेलमैन कुंजी एक्सचेंज करने के रूप में वर्णित किया जा सकता है <math>s</math>, फिर संदेश को एन्क्रिप्ट करने के लिए इसे वन-टाइम पैड के रूप में उपयोग करें। एल्गैमल एन्क्रिप्शन तीन चरणों में किया जाता है: कुंजी पीढ़ी, एन्क्रिप्शन और डिक्रिप्शन। पहला विशुद्ध रूप से कुंजी विनिमय है, जबकि बाद वाले दो कुंजी विनिमय गणनाओं को संदेश गणनाओं के साथ मिलाते हैं।
एल्गोरिदम को पहली बार एक साझा गुप्त <math>s</math> स्थापित करने के लिए डिफी-हेलमैन की एक्सचेंज करने के रूप में वर्णित किया जा सकता है, फिर संदेश को एन्क्रिप्ट करने के लिए इसे एक बार पैड के रूप में उपयोग किया जा सकता है। एल्गैमल एन्क्रिप्शन तीन चरणों में किया जाता है: की-पीढ़ी, एन्क्रिप्शन और डिक्रिप्शन। पहला विशुद्ध रूप से की-विनिमय है, जबकि बाद वाले दो की विनिमय गणनाओं को संदेश गणनाओं के साथ मिलाते हैं।


=== प्रमुख पीढ़ी ===
=== की जनरेशन ===
पहली पार्टी, ऐलिस, एक कुंजी जोड़ी इस प्रकार उत्पन्न करती है:
पहली पार्टी, ऐलिस, एक की- जोड़ी इस प्रकार उत्पन्न करती है:


* चक्रीय समूह का एक कुशल विवरण तैयार करें <math>G\,</math> क्रम का (समूह सिद्धांत) <math>q\,</math> एक समूह के जनरेटिंग सेट के साथ <math>g</math>. होने देना <math>e</math> के पहचान तत्व का प्रतिनिधित्व करते हैं <math>G</math>.
* जनरेटर <math>g</math> के साथ क्रम <math>q\,</math> के चक्रीय समूह <math>G\,</math> का एक कुशल विवरण तैयार करें। मान लीजिए <math>e</math>, <math>G</math> के पहचान तत्व को दर्शाता है।
*: प्रत्येक नई कुंजी के लिए नए सिरे से समूह और जनरेटर लाना आवश्यक नहीं है। वास्तव में, कोई यह उम्मीद कर सकता है कि एलगैमल के विशिष्ट कार्यान्वयन को किसी विशिष्ट समूह, या किसी विशिष्ट सुइट के समूह का उपयोग करने के लिए हार्डकोड किया जाएगा। समूह का चयन मुख्यतः इस बात पर निर्भर करता है कि आप कितनी बड़ी कुंजियों का उपयोग करना चाहते हैं।
*: प्रत्येक नई की के लिए नए सिरे से एक समूह और जनरेटर के साथ आना आवश्यक नहीं है। वास्तव में, कोई यह उम्मीद कर सकता है कि एलगैमल के विशिष्ट कार्यान्वयन को किसी विशिष्ट समूह, या किसी विशिष्ट सुइट के समूह का उपयोग करने के लिए हार्डकोड किया जाएगा। समूह का चयन मुख्यतः इस बात पर निर्भर करता है कि आप कितनी बड़ी कीज़ का उपयोग करना चाहते हैं।
* एक पूर्णांक चुनें <math>x</math> बेतरतीब ढंग से से <math>\{1, \ldots, q-1\}</math>.
* एक पूर्णांक चुनें <math>x</math> बेतरतीब ढंग से <math>\{1, \ldots, q-1\}</math>.
*गणना करें <math>h := g^x</math>.
*गणना करें <math>h := g^x</math>.
* [[सार्वजनिक कुंजी]] में मान शामिल होते हैं <math>(G,q,g,h)</math>. ऐलिस इस सार्वजनिक कुंजी को प्रकाशित करती है और बनाए रखती है <math>x</math> उसकी निजी कुंजी के रूप में, जिसे गुप्त रखा जाना चाहिए।
* [[सार्वजनिक कुंजी|पब्लिक की]] में मान <math>(G,q,g,h)</math> सम्मिलित होते हैं। ऐलिस इस पब्लिक-की को प्रकाशित करती है और बनाए रखती है <math>x</math> उसकी पब्लिक-की के रूप में, जिसे गुप्त रखा जाना चाहिए।


=== एन्क्रिप्शन ===
=== एन्क्रिप्शन ===
एक दूसरा पक्ष, बॉब, एक संदेश को एन्क्रिप्ट करता है <math>M</math> ऐलिस को उसकी सार्वजनिक कुंजी के अंतर्गत <math>(G,q,g,h)</math> निम्नलिखित नुसार:
एक दूसरा पक्ष, बॉब, एक संदेश को एन्क्रिप्ट करता है <math>M</math> ऐलिस को उसकी पब्लिक-की के अंतर्गत <math>(G,q,g,h)</math> निम्नलिखित अनुसार:


* संदेश को मैप करें <math>M</math> एक तत्व के लिए <math>m</math> का <math>G</math> एक प्रतिवर्ती मैपिंग फ़ंक्शन का उपयोग करना।
* संदेश को मैप करें <math>M</math> एक तत्व के लिए <math>m</math> का <math>G</math> एक प्रतिवर्ती मैपिंग फ़ंक्शन का उपयोग करना।
* एक पूर्णांक चुनें <math>y</math> बेतरतीब ढंग से से <math>\{1, \ldots, q-1\}</math>.
* एक पूर्णांक चुनें <math>y</math> बेतरतीब ढंग से <math>\{1, \ldots, q-1\}</math>.
*गणना करें <math>s := h^y</math>. इसे साझा रहस्य कहा जाता है.
*गणना करें <math>s := h^y</math>. इसे साझा रहस्य कहा जाता है.
*गणना करें <math>c_1 := g^y</math>.
*गणना करें <math>c_1 := g^y</math>.
Line 28: Line 28:
* बॉब सिफरटेक्स्ट भेजता है <math>(c_1,c_2)</math> ऐलिस को.
* बॉब सिफरटेक्स्ट भेजता है <math>(c_1,c_2)</math> ऐलिस को.


ध्यान दें कि यदि कोई दोनों सिफरटेक्स्ट को जानता है <math>(c_1,c_2)</math> और सादा पाठ <math>m</math>, कोई भी साझा रहस्य आसानी से पा सकता है <math>s</math>, तब से <math>c_2 \cdot m^{-1} = s</math>. इसलिए, एक नया <math>y</math> और इसलिए एक नया <math>s</math> सुरक्षा में सुधार के लिए प्रत्येक संदेश के लिए जेनरेट किया जाता है। इस कारण से, <math>y</math> इसे [[क्षणिक कुंजी]] भी कहा जाता है.
ध्यान दें कि यदि कोई सिफरटेक्स्ट <math>(c_1,c_2)</math> और प्लेनटेक्स्ट <math>m</math>, को जानता है  तो वह आसानी से साझा रहस्य का पता लगा सकता है<math>s</math>, क्योंकि <math>c_2 \cdot m^{-1} = s</math>. इसलिए, सुरक्षा में सुधार के लिए प्रत्येक संदेश के लिए एक नया <math>y</math> और इसलिए एक नया <math>s</math> जेनरेट किया जाता है। इस कारण से, <math>y</math> इसे [[क्षणिक कुंजी|क्षणिक की]] भी कहा जाता है.


=== डिक्रिप्शन ===
=== डिक्रिप्शन ===
ऐलिस एक सिफरटेक्स्ट को डिक्रिप्ट करता है <math>(c_1, c_2)</math> उसकी निजी कुंजी के साथ <math>x</math> निम्नलिखित नुसार:
ऐलिस उसकी पब्लिक-की के साथ <math>x</math> एक सिफरटेक्स्ट <math>(c_1, c_2)</math> को डिक्रिप्ट करता है निम्नलिखित अनुसार :
*गणना करें <math>s := c_1^x</math>. तब से <math>c_1 = g^y</math>, <math>c_1^x = g^{xy} = h^y</math>, और इस प्रकार यह वही साझा रहस्य है जिसका उपयोग बॉब ने एन्क्रिप्शन में किया था।
*गणना करें <math>s := c_1^x</math>. चूँकि <math>c_1 = g^y</math>, <math>c_1^x = g^{xy} = h^y</math>, और इस प्रकार यह वही साझा रहस्य है जिसका उपयोग बॉब ने एन्क्रिप्शन में किया था।
*गणना करें <math>s^{-1}</math>, का उलटा <math>s</math> समूह में <math>G</math>. इसकी गणना कई तरीकों में से एक में की जा सकती है। अगर <math>G</math> पूर्णांक मॉड्यूलो के गुणक समूह का एक उपसमूह है<math>n</math>, कहाँ <math>n</math> प्राइम है, [[मॉड्यूलर गुणक व्युत्क्रम]] की गणना [[विस्तारित यूक्लिडियन एल्गोरिथ्म]] का उपयोग करके की जा सकती है। एक विकल्प गणना करना है <math>s^{-1}</math> जैसा <math>c_1^{q-x}</math>. यह इसका उलटा है <math>s</math> लैग्रेंज प्रमेय (समूह सिद्धांत) के कारण|लैग्रेंज प्रमेय, चूंकि <math>s \cdot c_1^{q-x} = g^{xy} \cdot g^{(q-x)y} = (g^{q})^y = e^y = e</math>.
*गणना करें <math>s^{-1}</math>,   समूह  <math>G</math> में <math>s</math>का व्युत्क्रम।  इसकी गणना कई तरीकों में से एक में की जा सकती है। अगर <math>G</math> पूर्णांक मॉड्यूलो <math>n</math> के गुणक समूह का एक उपसमूह है , जहाँ <math>n</math> प्राइम है, [[विस्तारित यूक्लिडियन एल्गोरिथ्म]] का उपयोग करके [[मॉड्यूलर गुणक व्युत्क्रम]] की गणना की जा सकती है। एक विकल्प यह है कि <math>s^{-1}</math> की गणना <math>c_1^{q-x}</math>के रूप में की जाए।  लैग्रेंज प्रमेय (समूह सिद्धांत) के कारण यह <math>s</math> का व्युत्क्रम है, चूंकि <math>s \cdot c_1^{q-x} = g^{xy} \cdot g^{(q-x)y} = (g^{q})^y = e^y = e</math>.
*गणना करें <math>m := c_2 \cdot s^{-1}</math>. यह गणना मूल संदेश उत्पन्न करती है <math>m</math>, क्योंकि <math> c_2 = m \cdot s</math>; इस तरह <math>c_2 \cdot s^{-1} = (m \cdot s) \cdot s^{-1} = m \cdot e = m</math>.
*गणना करें <math>m := c_2 \cdot s^{-1}</math>. यह गणना मूल संदेश <math>m</math> उत्पन्न करती है , क्योंकि <math> c_2 = m \cdot s</math>; इसलिए <math>c_2 \cdot s^{-1} = (m \cdot s) \cdot s^{-1} = m \cdot e = m</math>.
* नक्शा <math>m</math> सादे पाठ संदेश पर वापस जाएँ <math>M</math>.
* नक्शा <math>m</math> सादे पाठ संदेश <math>M</math> पर वापस जाएँ


=== व्यावहारिक उपयोग ===
=== व्यावहारिक उपयोग ===


अधिकांश सार्वजनिक कुंजी प्रणालियों की तरह, एलगैमल क्रिप्टोसिस्टम का उपयोग आमतौर पर [[हाइब्रिड क्रिप्टोसिस्टम]] के हिस्से के रूप में किया जाता है, जहां संदेश स्वयं एक सममित क्रिप्टोसिस्टम का उपयोग करके एन्क्रिप्ट किया जाता है, और एलगैमल का उपयोग केवल सममित कुंजी को एन्क्रिप्ट करने के लिए किया जाता है। ऐसा इसलिए है क्योंकि सुरक्षा के समान स्तर के लिए एलगैमल जैसे असममित क्रिप्टोसिस्टम आमतौर पर सममित क्रिप्टो सिस्टम की तुलना में धीमे होते हैं, इसलिए संदेश को एन्क्रिप्ट करना तेज़ होता है, जो एक सममित सिफर के साथ मनमाने ढंग से बड़ा हो सकता है, और फिर एल्गैमल का उपयोग केवल सममित कुंजी को एन्क्रिप्ट करने के लिए किया जाता है, जो आमतौर पर संदेश के आकार की तुलना में काफी छोटा होता है।
अधिकांश पब्लिक की प्रणालियों की तरह, एलगैमल क्रिप्टोसिस्टम का उपयोग प्रायः [[हाइब्रिड क्रिप्टोसिस्टम]] के हिस्से के रूप में किया जाता है, जहां संदेश स्वयं एक सममित क्रिप्टोसिस्टम का उपयोग करके एन्क्रिप्ट किया जाता है, और एलगैमल का उपयोग केवल सममित की को एन्क्रिप्ट करने के लिए किया जाता है। ऐसा इसलिए है क्योंकि सुरक्षा के समान स्तर के लिए एलगैमल जैसे असिमेट्रिक क्रिप्टोसिस्टम प्रायः सममित क्रिप्टो सिस्टम की तुलना में धीमे होते हैं, इसलिए संदेश को एन्क्रिप्ट करना तेज़ होता है, जो एक सममित सिफर के साथ मनमाने ढंग से बड़ा हो सकता है, और फिर एल्गैमल का उपयोग केवल सममित की को एन्क्रिप्ट करने के लिए किया जाता है, जो प्रायः संदेश के आकार की तुलना में काफी छोटा होता है।


== सुरक्षा ==
== सुरक्षा ==


एल्गैमल योजना की सुरक्षा अंतर्निहित समूह की संपत्तियों पर निर्भर करती है <math>G</math> साथ ही संदेशों पर उपयोग की जाने वाली कोई भी पैडिंग योजना। यदि कम्प्यूटेशनल डिफी-हेलमैन धारणा (सीडीएच) अंतर्निहित चक्रीय समूह में है <math>G</math>, तो एन्क्रिप्शन फ़ंक्शन [[एक तरफ़ा कार्य]]|वन-वे है।<ref name=cryptutor>{{cite web
एलगैमल योजना की सुरक्षा अंतर्निहित समूह <math>G</math> के गुणों के साथ-साथ संदेशों पर उपयोग की जाने वाली किसी भी पैडिंग योजना पर निर्भर करती है। यदि कम्प्यूटेशनल डिफी-हेलमैन धारणा (सीडीएच) अंतर्निहित चक्रीय समूह <math>G</math> में है, तो एन्क्रिप्शन फ़ंक्शन [[एक तरफ़ा कार्य]] है।<ref name="cryptutor">{{cite web
| url=https://crypto.cs.uiuc.edu/wiki/index.php/Elgamal_encryption_scheme
| url=https://crypto.cs.uiuc.edu/wiki/index.php/Elgamal_encryption_scheme
| title=Elgamal encryption scheme
| title=Elgamal encryption scheme
Line 51: Line 51:
| archive-url=https://web.archive.org/web/20160722005050/https://crypto.cs.uiuc.edu/wiki/index.php/Elgamal_encryption_scheme
| archive-url=https://web.archive.org/web/20160722005050/https://crypto.cs.uiuc.edu/wiki/index.php/Elgamal_encryption_scheme
| archive-date=2016-07-22
| archive-date=2016-07-22
| url-status=dead}}</ref>
| url-status=dead}}</ref>  
यदि निर्णयात्मक डिफी-हेलमैन धारणा (डीडीएच) कायम रहती है <math>G</math>, तब
 
एलगमाल सिमेंटिक सुरक्षा हासिल करता है।<ref name=cryptutor/><ref>{{cite journal
यदि निर्णयात्मक डिफी-हेलमैन धारणा (डीडीएच) <math>G</math> स्थायी  है , तो  एलगमाल सिमेंटिक सुरक्षा प्राप्त  करता है।<ref name="cryptutor" /><ref>{{cite journal
| title=On the security of ElGamal based encryption
| title=On the security of ElGamal based encryption
| first1=Yiannis
| first1=Yiannis
Line 68: Line 68:
</ref> सिमेंटिक सुरक्षा अकेले कम्प्यूटेशनल डिफी-हेलमैन धारणा से निहित नहीं है। उन समूहों की चर्चा के लिए डिसीजनल डिफी-हेलमैन धारणा देखें जहां धारणा को मान्य माना जाता है।
</ref> सिमेंटिक सुरक्षा अकेले कम्प्यूटेशनल डिफी-हेलमैन धारणा से निहित नहीं है। उन समूहों की चर्चा के लिए डिसीजनल डिफी-हेलमैन धारणा देखें जहां धारणा को मान्य माना जाता है।


एल्गैमल एन्क्रिप्शन बिना शर्त [[लचीलापन (क्रिप्टोग्राफी)]] है, और इसलिए चुने गए सिफरटेक्स्ट हमले के तहत सुरक्षित नहीं है। उदाहरण के लिए, एक एन्क्रिप्शन दिया गया <math>(c_1, c_2)</math> कुछ (संभवतः अज्ञात) संदेश का <math>m</math>, कोई आसानी से एक वैध एन्क्रिप्शन का निर्माण कर सकता है <math>(c_1, 2 c_2)</math> संदेश का <math>2m</math>.
एल्गैमल एन्क्रिप्शन बिना शर्त [[लचीलापन (क्रिप्टोग्राफी)]] है, और इसलिए चुने गए सिफरटेक्स्ट आक्रमण के तहत सुरक्षित नहीं है। उदाहरण के लिए, एक एन्क्रिप्शन दिया गया <math>(c_1, c_2)</math> कुछ (संभवतः अज्ञात) संदेश का <math>m</math>, कोई आसानी से एक वैध एन्क्रिप्शन का निर्माण कर सकता है <math>(c_1, 2 c_2)</math> संदेश का <math>2m</math>.


चयनित-सिफरटेक्स्ट सुरक्षा प्राप्त करने के लिए, योजना को और संशोधित किया जाना चाहिए, या एक उपयुक्त पैडिंग योजना का उपयोग किया जाना चाहिए। संशोधन के आधार पर, DDH धारणा आवश्यक हो भी सकती है और नहीं भी।
चयनित-सिफरटेक्स्ट सुरक्षा प्राप्त करने के लिए, योजना को और संशोधित किया जाना चाहिए, या एक उपयुक्त पैडिंग योजना का उपयोग किया जाना चाहिए। संशोधन के आधार पर, डीडीएच धारणा आवश्यक हो भी सकती है और नहीं भी।


एलगैमल से संबंधित अन्य योजनाएं जो चुने हुए सिफरटेक्स्ट हमलों के खिलाफ सुरक्षा प्राप्त करती हैं, भी प्रस्तावित की गई हैं। डीडीएच को मानते हुए क्रैमर-शूप क्रिप्टोसिस्टम चुने गए सिफरटेक्स्ट हमले के तहत सुरक्षित है <math>G</math>. इसका प्रमाण [[यादृच्छिक ओरेकल मॉडल]] का उपयोग नहीं करता है। एक अन्य प्रस्तावित योजना [[एकीकृत एन्क्रिप्शन योजना]] है,<ref name=DHIES>{{cite journal
एलगैमल से संबंधित अन्य योजनाएं जो चुने हुए सिफरटेक्स्ट आक्रमणो  के विरुद्ध सुरक्षा प्राप्त करती हैं, भी प्रस्तावित की गई हैं। डीडीएच <math>G</math> को मानते हुए क्रैमर-शूप क्रिप्टोसिस्टम चुने गए सिफरटेक्स्ट आक्रमण के तहत सुरक्षित है, इसका प्रमाण [[यादृच्छिक ओरेकल मॉडल]] का उपयोग नहीं करता है। एक अन्य प्रस्तावित योजना [[एकीकृत एन्क्रिप्शन योजना]] है,<ref name="DHIES">{{cite journal
| title=The Oracle Diffie-Hellman Assumptions and an Analysis of DHIES
| title=The Oracle Diffie-Hellman Assumptions and an Analysis of DHIES
| first1=Michel
| first1=Michel
Line 87: Line 87:
| doi=10.1007/3-540-45353-9_12
| doi=10.1007/3-540-45353-9_12
| isbn=978-3-540-41898-6
| isbn=978-3-540-41898-6
| url=https://link.springer.com/chapter/10.1007/3-540-45353-9_12}}</ref> जिसके प्रमाण के लिए ऐसी धारणा की आवश्यकता होती है जो DDH धारणा से अधिक मजबूत हो।
| url=https://link.springer.com/chapter/10.1007/3-540-45353-9_12}}</ref> जिसके प्रमाण के लिए ऐसी धारणा की आवश्यकता होती है जो डीडीएच धारणा से अधिक मजबूत हो।


== दक्षता ==
== दक्षता ==


ElGamal एन्क्रिप्शन [[संभाव्य एन्क्रिप्शन]] है, जिसका अर्थ है कि एक एकल [[सादे पाठ]] को कई संभावित सिफरटेक्स्ट में एन्क्रिप्ट किया जा सकता है, जिसके परिणामस्वरूप एक सामान्य ElGamal एन्क्रिप्शन प्लेनटेक्स्ट से सिफरटेक्स्ट तक आकार में 1:2 विस्तार उत्पन्न करता है।
एलगमाल एन्क्रिप्शन [[संभाव्य एन्क्रिप्शन]] है, जिसका अर्थ है कि एक एकल [[सादे पाठ]] को कई संभावित सिफरटेक्स्ट में एन्क्रिप्ट किया जा सकता है, जिसके परिणामस्वरूप एक सामान्य एलगमाल एन्क्रिप्शन प्लेनटेक्स्ट से सिफरटेक्स्ट तक आकार में 1:2 विस्तार उत्पन्न करता है।


ElGamal के अंतर्गत एन्क्रिप्शन के लिए दो [[घातांक]] की आवश्यकता होती है; हालाँकि, ये घातांक संदेश से स्वतंत्र हैं और जरूरत पड़ने पर समय से पहले गणना की जा सकती है। डिक्रिप्शन के लिए एक घातांक और समूह व्युत्क्रम की एक गणना की आवश्यकता होती है, जिसे, हालांकि, आसानी से केवल एक घातांक में जोड़ा जा सकता है।
एलगमाल के अंतर्गत एन्क्रिप्शन के लिए दो [[घातांक]] की आवश्यकता होती है; यदपि, ये घातांक संदेश से स्वतंत्र हैं और जरूरत पड़ने पर समय से पहले गणना की जा सकती है। डिक्रिप्शन के लिए एक घातांक और समूह व्युत्क्रम की एक गणना की आवश्यकता होती है, जिसे,यदपि, आसानी से केवल एक घातांक में जोड़ा जा सकता है।


== यह भी देखें ==
== यह भी देखें ==
Line 102: Line 102:
== अग्रिम पठन ==
== अग्रिम पठन ==


* {{cite book |author1=A. J. Menezes |author2=P. C. van Oorschot |author3=S. A. Vanstone |publisher=CRC Press |chapter-url=https://cacr.uwaterloo.ca/hac/about/chap8.pdf |title=Handbook of Applied Cryptography |chapter=Chapter 8.4 ElGamal public-key encryption}}
* {{cite book |author1=ए जे मेनेजेस |author2=पी. सी. वैन ओर्सकोट |author3=एस. . वैनस्टोन |publisher=सीआरसी प्रेस |chapter-url=https://cacr.uwaterloo.ca/hac/about/chap8.pdf |title=एप्लाइड क्रिप्टोग्राफी की हैंडबुक |chapter=अध्याय 8.4 एलगैमल सार्वजनिक-कुंजी एन्क्रिप्शन}}
* {{cite book |author=Dan Boneh |title=The Decision Diffie–Hellman Problem |journal=Lecture Notes in Computer Science |year=1998 |volume=1423 |pages=48–63 |doi=10.1007/BFb0054851 |url=https://crypto.stanford.edu/~dabo/abstracts/DDH.html |isbn=978-3-540-64657-0 |citeseerx=10.1.1.461.9971 |author-link=Dan Boneh}}
* {{cite book |author=डैन बोनेह |title=निर्णय डिफी-हेलमैन समस्या |journal=कंप्यूटर विज्ञान के व्याख्यान नोट्स |year=1998 |volume=1423 |pages=48–63 |doi=10.1007/BFb0054851 |url=https://crypto.stanford.edu/~dabo/abstracts/DDH.html |isbn=978-3-540-64657-0 |citeseerx=10.1.1.461.9971 |author-link=डैन बोनेह}}
 
 
== संदर्भ ==
== संदर्भ ==
{{reflist}}
{{reflist}}
Line 111: Line 109:
{{Cryptography navbox | public-key}}
{{Cryptography navbox | public-key}}


{{DEFAULTSORT:Elgamal Encryption}}[[Category: सार्वजनिक-कुंजी एन्क्रिप्शन योजनाएँ]]
{{DEFAULTSORT:Elgamal Encryption}}
 
 


[[Category: Machine Translated Page]]
[[Category:Articles with hatnote templates targeting a nonexistent page|Elgamal Encryption]]
[[Category:Created On 26/07/2023]]
[[Category:Collapse templates|Elgamal Encryption]]
[[Category:Created On 26/07/2023|Elgamal Encryption]]
[[Category:Lua-based templates|Elgamal Encryption]]
[[Category:Machine Translated Page|Elgamal Encryption]]
[[Category:Missing redirects|Elgamal Encryption]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists|Elgamal Encryption]]
[[Category:Pages with script errors|Elgamal Encryption]]
[[Category:Short description with empty Wikidata description|Elgamal Encryption]]
[[Category:Sidebars with styles needing conversion|Elgamal Encryption]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready|Elgamal Encryption]]
[[Category:Templates generating microformats|Elgamal Encryption]]
[[Category:Templates that add a tracking category|Elgamal Encryption]]
[[Category:Templates that are not mobile friendly|Elgamal Encryption]]
[[Category:Templates that generate short descriptions|Elgamal Encryption]]
[[Category:Templates using TemplateData|Elgamal Encryption]]
[[Category:Wikipedia metatemplates|Elgamal Encryption]]
[[Category:सार्वजनिक-कुंजी एन्क्रिप्शन योजनाएँ|Elgamal Encryption]]

Latest revision as of 09:43, 23 August 2023

क्रिप्टोग्राफी में, एलगैमल एन्क्रिप्शन सिस्टम पब्लिक-की क्रिप्टोग्राफी के लिए एक असिमेट्रिक की-एन्क्रिप्शन एल्गोरिदम है जो डिफी-हेलमैन की एक्सचेंज पर आधारित है। इसका वर्णन 1985 में ताहेर एल्गामल द्वारा किया गया था।[1]एलगमाल एन्क्रिप्शन का उपयोग मुफ़्त जीएनयू गोपनीयता गार्ड सॉफ़्टवेयर, काफ़ी अच्छी गोपनीयता के हाल के संस्करणों और अन्य क्रिप्टोसिस्टम में किया जाता है। डिजिटल हस्ताक्षर एल्गोरिदम (डीएसए) एलगमाल हस्ताक्षर योजना का एक प्रकार है, जिसे एल्गैमल एन्क्रिप्शन के साथ भ्रमित नहीं किया जाना चाहिए।

एल्गैमल एन्क्रिप्शन को किसी भी चक्रीय समूह पर परिभाषित किया जा सकता है, जैसे पूर्णांकों मॉड्यूलो n पूर्णांकों का गुणक समूह । इसकी सुरक्षा असतत लघुगणक की गणना से संबंधित में एक निश्चित समस्या की कठिनाई पर निर्भर करती है ।

एल्गोरिथ्म

एल्गोरिदम को पहली बार एक साझा गुप्त स्थापित करने के लिए डिफी-हेलमैन की एक्सचेंज करने के रूप में वर्णित किया जा सकता है, फिर संदेश को एन्क्रिप्ट करने के लिए इसे एक बार पैड के रूप में उपयोग किया जा सकता है। एल्गैमल एन्क्रिप्शन तीन चरणों में किया जाता है: की-पीढ़ी, एन्क्रिप्शन और डिक्रिप्शन। पहला विशुद्ध रूप से की-विनिमय है, जबकि बाद वाले दो की विनिमय गणनाओं को संदेश गणनाओं के साथ मिलाते हैं।

की जनरेशन

पहली पार्टी, ऐलिस, एक की- जोड़ी इस प्रकार उत्पन्न करती है:

  • जनरेटर के साथ क्रम के चक्रीय समूह का एक कुशल विवरण तैयार करें। मान लीजिए , के पहचान तत्व को दर्शाता है।
    प्रत्येक नई की के लिए नए सिरे से एक समूह और जनरेटर के साथ आना आवश्यक नहीं है। वास्तव में, कोई यह उम्मीद कर सकता है कि एलगैमल के विशिष्ट कार्यान्वयन को किसी विशिष्ट समूह, या किसी विशिष्ट सुइट के समूह का उपयोग करने के लिए हार्डकोड किया जाएगा। समूह का चयन मुख्यतः इस बात पर निर्भर करता है कि आप कितनी बड़ी कीज़ का उपयोग करना चाहते हैं।
  • एक पूर्णांक चुनें बेतरतीब ढंग से स .
  • गणना करें .
  • पब्लिक की में मान सम्मिलित होते हैं। ऐलिस इस पब्लिक-की को प्रकाशित करती है और बनाए रखती है उसकी पब्लिक-की के रूप में, जिसे गुप्त रखा जाना चाहिए।

एन्क्रिप्शन

एक दूसरा पक्ष, बॉब, एक संदेश को एन्क्रिप्ट करता है ऐलिस को उसकी पब्लिक-की के अंतर्गत निम्नलिखित अनुसार:

  • संदेश को मैप करें एक तत्व के लिए का एक प्रतिवर्ती मैपिंग फ़ंक्शन का उपयोग करना।
  • एक पूर्णांक चुनें बेतरतीब ढंग से .
  • गणना करें . इसे साझा रहस्य कहा जाता है.
  • गणना करें .
  • गणना करें .
  • बॉब सिफरटेक्स्ट भेजता है ऐलिस को.

ध्यान दें कि यदि कोई सिफरटेक्स्ट और प्लेनटेक्स्ट , को जानता है तो वह आसानी से साझा रहस्य का पता लगा सकता है, , क्योंकि . इसलिए, सुरक्षा में सुधार के लिए प्रत्येक संदेश के लिए एक नया और इसलिए एक नया जेनरेट किया जाता है। इस कारण से, इसे क्षणिक की भी कहा जाता है.

डिक्रिप्शन

ऐलिस उसकी पब्लिक-की के साथ एक सिफरटेक्स्ट को डिक्रिप्ट करता है निम्नलिखित अनुसार :

  • गणना करें . चूँकि , , और इस प्रकार यह वही साझा रहस्य है जिसका उपयोग बॉब ने एन्क्रिप्शन में किया था।
  • गणना करें , समूह में का व्युत्क्रम। इसकी गणना कई तरीकों में से एक में की जा सकती है। अगर पूर्णांक मॉड्यूलो के गुणक समूह का एक उपसमूह है , जहाँ प्राइम है, विस्तारित यूक्लिडियन एल्गोरिथ्म का उपयोग करके मॉड्यूलर गुणक व्युत्क्रम की गणना की जा सकती है। एक विकल्प यह है कि की गणना के रूप में की जाए। लैग्रेंज प्रमेय (समूह सिद्धांत) के कारण यह का व्युत्क्रम है, चूंकि .
  • गणना करें . यह गणना मूल संदेश उत्पन्न करती है , क्योंकि ; इसलिए .
  • नक्शा सादे पाठ संदेश पर वापस जाएँ

व्यावहारिक उपयोग

अधिकांश पब्लिक की प्रणालियों की तरह, एलगैमल क्रिप्टोसिस्टम का उपयोग प्रायः हाइब्रिड क्रिप्टोसिस्टम के हिस्से के रूप में किया जाता है, जहां संदेश स्वयं एक सममित क्रिप्टोसिस्टम का उपयोग करके एन्क्रिप्ट किया जाता है, और एलगैमल का उपयोग केवल सममित की को एन्क्रिप्ट करने के लिए किया जाता है। ऐसा इसलिए है क्योंकि सुरक्षा के समान स्तर के लिए एलगैमल जैसे असिमेट्रिक क्रिप्टोसिस्टम प्रायः सममित क्रिप्टो सिस्टम की तुलना में धीमे होते हैं, इसलिए संदेश को एन्क्रिप्ट करना तेज़ होता है, जो एक सममित सिफर के साथ मनमाने ढंग से बड़ा हो सकता है, और फिर एल्गैमल का उपयोग केवल सममित की को एन्क्रिप्ट करने के लिए किया जाता है, जो प्रायः संदेश के आकार की तुलना में काफी छोटा होता है।

सुरक्षा

एलगैमल योजना की सुरक्षा अंतर्निहित समूह के गुणों के साथ-साथ संदेशों पर उपयोग की जाने वाली किसी भी पैडिंग योजना पर निर्भर करती है। यदि कम्प्यूटेशनल डिफी-हेलमैन धारणा (सीडीएच) अंतर्निहित चक्रीय समूह में है, तो एन्क्रिप्शन फ़ंक्शन एक तरफ़ा कार्य है।[2]

यदि निर्णयात्मक डिफी-हेलमैन धारणा (डीडीएच) स्थायी है , तो एलगमाल सिमेंटिक सुरक्षा प्राप्त करता है।[2][3] सिमेंटिक सुरक्षा अकेले कम्प्यूटेशनल डिफी-हेलमैन धारणा से निहित नहीं है। उन समूहों की चर्चा के लिए डिसीजनल डिफी-हेलमैन धारणा देखें जहां धारणा को मान्य माना जाता है।

एल्गैमल एन्क्रिप्शन बिना शर्त लचीलापन (क्रिप्टोग्राफी) है, और इसलिए चुने गए सिफरटेक्स्ट आक्रमण के तहत सुरक्षित नहीं है। उदाहरण के लिए, एक एन्क्रिप्शन दिया गया कुछ (संभवतः अज्ञात) संदेश का , कोई आसानी से एक वैध एन्क्रिप्शन का निर्माण कर सकता है संदेश का .

चयनित-सिफरटेक्स्ट सुरक्षा प्राप्त करने के लिए, योजना को और संशोधित किया जाना चाहिए, या एक उपयुक्त पैडिंग योजना का उपयोग किया जाना चाहिए। संशोधन के आधार पर, डीडीएच धारणा आवश्यक हो भी सकती है और नहीं भी।

एलगैमल से संबंधित अन्य योजनाएं जो चुने हुए सिफरटेक्स्ट आक्रमणो के विरुद्ध सुरक्षा प्राप्त करती हैं, भी प्रस्तावित की गई हैं। डीडीएच को मानते हुए क्रैमर-शूप क्रिप्टोसिस्टम चुने गए सिफरटेक्स्ट आक्रमण के तहत सुरक्षित है, इसका प्रमाण यादृच्छिक ओरेकल मॉडल का उपयोग नहीं करता है। एक अन्य प्रस्तावित योजना एकीकृत एन्क्रिप्शन योजना है,[4] जिसके प्रमाण के लिए ऐसी धारणा की आवश्यकता होती है जो डीडीएच धारणा से अधिक मजबूत हो।

दक्षता

एलगमाल एन्क्रिप्शन संभाव्य एन्क्रिप्शन है, जिसका अर्थ है कि एक एकल सादे पाठ को कई संभावित सिफरटेक्स्ट में एन्क्रिप्ट किया जा सकता है, जिसके परिणामस्वरूप एक सामान्य एलगमाल एन्क्रिप्शन प्लेनटेक्स्ट से सिफरटेक्स्ट तक आकार में 1:2 विस्तार उत्पन्न करता है।

एलगमाल के अंतर्गत एन्क्रिप्शन के लिए दो घातांक की आवश्यकता होती है; यदपि, ये घातांक संदेश से स्वतंत्र हैं और जरूरत पड़ने पर समय से पहले गणना की जा सकती है। डिक्रिप्शन के लिए एक घातांक और समूह व्युत्क्रम की एक गणना की आवश्यकता होती है, जिसे,यदपि, आसानी से केवल एक घातांक में जोड़ा जा सकता है।

यह भी देखें

अग्रिम पठन

  • ए जे मेनेजेस; पी. सी. वैन ओर्सकोट; एस. ए. वैनस्टोन. "अध्याय 8.4 एलगैमल सार्वजनिक-कुंजी एन्क्रिप्शन" (PDF). एप्लाइड क्रिप्टोग्राफी की हैंडबुक. सीआरसी प्रेस.
  • डैन बोनेह (1998). निर्णय डिफी-हेलमैन समस्या. pp. 48–63. CiteSeerX 10.1.1.461.9971. doi:10.1007/BFb0054851. ISBN 978-3-540-64657-0. {{cite book}}: |journal= ignored (help)

संदर्भ

  1. Taher ElGamal (1985). "एक सार्वजनिक-कुंजी क्रिप्टोसिस्टम और असतत लघुगणक पर आधारित एक हस्ताक्षर योजना" (PDF). IEEE Transactions on Information Theory. 31 (4): 469–472. CiteSeerX 10.1.1.476.4791. doi:10.1109/TIT.1985.1057074. S2CID 2973271. (conference version appeared in CRYPTO'84, pp. 10–18)
  2. 2.0 2.1 Mike Rosulek (2008-12-13). "Elgamal encryption scheme". University of Illinois at Urbana-Champaign. Archived from the original on 2016-07-22.
  3. Tsiounis, Yiannis; Yung, Moti (2006-05-24). "On the security of ElGamal based encryption". Public Key Cryptography 1998. Lecture Notes in Computer Science. 1431: 117–134. doi:10.1007/BFb0054019. ISBN 978-3-540-69105-1.
  4. Abdalla, Michel; Bellare, Mihir; Rogaway, Phillip (2001-01-01). "The Oracle Diffie-Hellman Assumptions and an Analysis of DHIES". CT-RSA 2001: Topics in Cryptology. Lecture Notes in Computer Science. 2020: 143–158. doi:10.1007/3-540-45353-9_12. ISBN 978-3-540-41898-6.