एलगमाल एन्क्रिप्शन

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

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

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

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


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

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


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

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

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

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

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

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

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

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

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

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

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

यह भी देखें

 * ताहेर एल्गामल, इस और अन्य क्रिप्टोसिस्टम के डिजाइनर
 * एलगमाल हस्ताक्षर योजना
 * होमोमोर्फिक एन्क्रिप्शन