हिल सिफर: Difference between revisions
No edit summary |
No edit summary |
||
| Line 1: | Line 1: | ||
{{short description|Substitution cipher based on linear algebra}} | {{short description|Substitution cipher based on linear algebra}} | ||
[[File:Hill's message protector.png|thumb|हिल की सिफर मशीन, पेटेंट के चित्र 4 से]][[शास्त्रीय क्रिप्टोग्राफी|मौलिक क्रिप्टोग्राफी]] में, हिल सिफर रैखिक बीजगणित पर आधारित एक पॉलीग्राफिक प्रतिस्थापन है। | [[File:Hill's message protector.png|thumb|हिल की सिफर मशीन, पेटेंट के चित्र 4 से]][[शास्त्रीय क्रिप्टोग्राफी|मौलिक क्रिप्टोग्राफी]] में, '''हिल सिफर''' रैखिक बीजगणित पर आधारित एक पॉलीग्राफिक प्रतिस्थापन है। अतः1929 में लेस्टर एस. हिल द्वारा आविष्कार किया गया, यह प्रथम पॉलीग्राफिक सिफर था जिसमें एक साथ तीन से अधिक प्रतीकों पर कार्य करना व्यावहारिक (चूँकि कठिन से) था। | ||
निम्नलिखित चर्चा आव्यूहों के प्रारंभिक ज्ञान पर आधारित है। | निम्नलिखित चर्चा आव्यूहों के प्रारंभिक ज्ञान पर आधारित है। | ||
| Line 15: | Line 15: | ||
किसी संदेश को एन्क्रिप्ट करने के लिए, ''n'' अक्षरों के प्रत्येक ब्लॉक (''n''-घटक सदिश के रूप में माना जाता है) को मॉड्यूलस 26 के विरुद्ध एक व्युत्क्रम ''n'' × ''n'' आव्यूह द्वारा गुणा किया जाता है। संदेश को डिक्रिप्ट करने के लिए, प्रत्येक ब्लॉक को एन्क्रिप्शन के लिए उपयोग किए गए आव्यूह के व्युत्क्रम से गुणा किया जाता है। | किसी संदेश को एन्क्रिप्ट करने के लिए, ''n'' अक्षरों के प्रत्येक ब्लॉक (''n''-घटक सदिश के रूप में माना जाता है) को मॉड्यूलस 26 के विरुद्ध एक व्युत्क्रम ''n'' × ''n'' आव्यूह द्वारा गुणा किया जाता है। संदेश को डिक्रिप्ट करने के लिए, प्रत्येक ब्लॉक को एन्क्रिप्शन के लिए उपयोग किए गए आव्यूह के व्युत्क्रम से गुणा किया जाता है। | ||
एन्क्रिप्शन के लिए उपयोग किया जाने वाला आव्यूह सिफर कुंजी है, और इसे व्युत्क्रमणीय n × n आव्यूह (मॉड्यूलो 26) के | एन्क्रिप्शन के लिए उपयोग किया जाने वाला आव्यूह सिफर कुंजी है, और इसे व्युत्क्रमणीय n × n आव्यूह (मॉड्यूलो 26) के समुच्चय से यादृच्छिक रूप से चुना जाना चाहिए। निःसंदेह, सिफर को किसी भी संख्या में अक्षरों वाली वर्णमाला के अनुसार अनुकूलित किया जा सकता है; सभी अंकगणित को केवल मॉड्यूलो 26 के अतिरिक्त अक्षरों की संख्या के अनुसार करने की आवश्यकता है। | ||
संदेश 'एसीटी' और नीचे दी गई कुंजी (या अक्षरों में जीवाईबी/एनक्यूके/यूआरपी) पर विचार करें: | संदेश 'एसीटी' और नीचे दी गई कुंजी (या अक्षरों में जीवाईबी/एनक्यूके/यूआरपी) पर विचार करें: | ||
| Line 27: | Line 27: | ||
इस बार, एन्क्रिप्टेड सदिश इस प्रकार दिया गया है: | इस बार, एन्क्रिप्टेड सदिश इस प्रकार दिया गया है: | ||
:<math>\begin{pmatrix} 6 & 24 & 1 \\ 13 & 16 & 10 \\ 20 & 17 & 15 \end{pmatrix} \begin{pmatrix} 2 \\ 0 \\ 19 \end{pmatrix} = \begin{pmatrix} 31 \\ 216 \\ 325 \end{pmatrix} \equiv \begin{pmatrix} 5 \\ 8 \\ 13 \end{pmatrix} \pmod{26}</math> | :<math>\begin{pmatrix} 6 & 24 & 1 \\ 13 & 16 & 10 \\ 20 & 17 & 15 \end{pmatrix} \begin{pmatrix} 2 \\ 0 \\ 19 \end{pmatrix} = \begin{pmatrix} 31 \\ 216 \\ 325 \end{pmatrix} \equiv \begin{pmatrix} 5 \\ 8 \\ 13 \end{pmatrix} \pmod{26}</math> | ||
जो 'एफआईएन' के सिफरटेक्स्ट से मेल खाता है। | जो 'एफआईएन' के सिफरटेक्स्ट से मेल खाता है। सभी अक्षर में परिवर्तन हो गया है. हिल सिफर ने [[क्लाउड एलवुड शैनन]] के [[भ्रम और प्रसार|अस्पष्ट और प्रसार]] को प्राप्त कर लिया है, और एक n -आयामी हिल सिफर एक ही बार में एन प्रतीकों में पूर्ण प्रकार से फैल सकता है। | ||
==डिक्रिप्शन== | ==डिक्रिप्शन== | ||
डिक्रिप्ट करने के लिए, हम सिफरटेक्स्ट को वापस एक सदिश में | डिक्रिप्ट करने के लिए, हम सिफरटेक्स्ट को वापस एक सदिश में परिवर्तन देते हैं, फिर कुंजी आव्यूह के व्युत्क्रम आव्यूह (अक्षरों में आईएफके/वीआईवी/वीएमआई) से गुणा करते हैं। हम पाते हैं कि, मॉड्यूलो 26, पिछले उदाहरण में प्रयुक्त आव्यूह का व्युत्क्रम है: | ||
:<math>\begin{pmatrix} 6 & 24 & 1 \\ 13 & 16 & 10 \\ 20 & 17 & 15 \end{pmatrix}^{-1} \pmod{26}\equiv \begin{pmatrix} 8 & 5 & 10 \\ 21 & 8 & 21 \\ 21 & 12 & 8 \end{pmatrix} </math> | :<math>\begin{pmatrix} 6 & 24 & 1 \\ 13 & 16 & 10 \\ 20 & 17 & 15 \end{pmatrix}^{-1} \pmod{26}\equiv \begin{pmatrix} 8 & 5 & 10 \\ 21 & 8 & 21 \\ 21 & 12 & 8 \end{pmatrix} </math> | ||
'पीओएच' का पिछला उदाहरण सिफरटेक्स्ट लेते हुए, हमें मिलता है: | 'पीओएच' का पिछला उदाहरण सिफरटेक्स्ट लेते हुए, हमें मिलता है: | ||
| Line 40: | Line 40: | ||
# एन्क्रिप्टिंग आव्यूह के निर्धारक में मॉड्यूलर आधार के साथ कोई सामान्य कारक नहीं होना चाहिए। | # एन्क्रिप्टिंग आव्यूह के निर्धारक में मॉड्यूलर आधार के साथ कोई सामान्य कारक नहीं होना चाहिए। | ||
इस प्रकार, यदि हम ऊपर बताए अनुसार मॉड्यूल 26 पर | इस प्रकार, यदि हम ऊपर बताए अनुसार मॉड्यूल 26 पर कार्य करते हैं, तो सारणिक गैर-शून्य होना चाहिए, और 2 या 13 से विभाज्य नहीं होना चाहिए। यदि सारणिक 0 है, या मॉड्यूलर आधार के साथ सामान्य कारक हैं, तो आव्यूह का उपयोग हिल में नहीं किया जा सकता है सिफर, और दूसरा आव्यूह चुना जाना चाहिए (अन्यथा इसे डिक्रिप्ट करना संभव नहीं होगा)। सौभाग्य से, हिल सिफर में उपयोग की जाने वाली नियमों को पूरा करने वाले आव्यूह अधिक सामान्य हैं। | ||
हमारे उदाहरण कुंजी आव्यूह के लिए: | हमारे उदाहरण कुंजी आव्यूह के लिए: | ||
| Line 63: | Line 63: | ||
:<math>\begin{pmatrix} 7 \\ 8 \end{pmatrix}, \begin{pmatrix} 0 \\ 19 \end{pmatrix} \to \begin{pmatrix} H \\ I \end{pmatrix}, \begin{pmatrix} A \\ T \end{pmatrix}</math> | :<math>\begin{pmatrix} 7 \\ 8 \end{pmatrix}, \begin{pmatrix} 0 \\ 19 \end{pmatrix} \to \begin{pmatrix} H \\ I \end{pmatrix}, \begin{pmatrix} A \\ T \end{pmatrix}</math> | ||
| Line 81: | Line 82: | ||
==सुरक्षा== | ==सुरक्षा== | ||
मूल हिल सिफर ज्ञात-प्लेनटेक्स्ट | मूल हिल सिफर ज्ञात-प्लेनटेक्स्ट अटैक के प्रति संवेदनशील है क्योंकि यह पूर्ण प्रकार से रैखिक है। एक प्रतिद्वंद्वी जो <math>n^2</math> प्लेनटेक्स्ट/सिफरटेक्स्ट वर्ण जोड़े को रोकता है, वह एक रैखिक प्रणाली स्थापित कर सकता है जिसे (समान्यत: पर) सरलता से हल किया जा सकता है; यदि ऐसा होता है कि यह प्रणाली अनिश्चित है, तो केवल कुछ और प्लेनटेक्स्ट/सिफरटेक्स्ट जोड़े जोड़ना आवश्यक है। मानक रैखिक बीजगणित एल्गोरिदम द्वारा इस समाधान की गणना करने में बहुत कम समय लगता है। | ||
जबकि आव्यूह गुणन अकेले एक सुरक्षित सिफर में परिणाम नहीं देता है, यह अभी भी अन्य गैर-रेखीय संचालन के साथ संयुक्त होने पर एक उपयोगी कदम है, क्योंकि आव्यूह गुणन अस्पष्ट और प्रसार प्रदान कर सकता है। उदाहरण के लिए, एक उचित रूप से चुना गया आव्यूह यह आश्वासन दे सकता है कि आव्यूह गुणन से पहले छोटे अंतर के परिणामस्वरूप आव्यूह गुणन के | जबकि आव्यूह गुणन अकेले एक सुरक्षित सिफर में परिणाम नहीं देता है, यह अभी भी अन्य गैर-रेखीय संचालन के साथ संयुक्त होने पर एक उपयोगी कदम है, क्योंकि आव्यूह गुणन अस्पष्ट और प्रसार प्रदान कर सकता है। उदाहरण के लिए, एक उचित रूप से चुना गया आव्यूह यह आश्वासन दे सकता है कि आव्यूह गुणन से पहले छोटे अंतर के परिणामस्वरूप आव्यूह गुणन के पश्चात बड़े अंतर होंगे। इसलिए , कुछ आधुनिक सिफर प्रसार प्रदान करने के लिए आव्यूह गुणन चरण का उपयोग करते हैं। उदाहरण के लिए, [[उच्च एन्क्रिप्शन मानक]] में मिक्सकॉलम चरण एक आव्यूह गुणन है। टूफिश में फलन जी सावधानीपूर्वक चुने गए आव्यूह गुणन (एमडीएस) के साथ गैर-रेखीय एस-बॉक्स का एक संयोजन है। | ||
===कुंजी स्थान आकार=== | ===कुंजी स्थान आकार=== | ||
| Line 96: | Line 97: | ||
व्युत्क्रमणीय आव्यूह मॉड्यूलो 26 की संख्या उन दो संख्याओं का गुणनफल है। इसलिए यह है | व्युत्क्रमणीय आव्यूह मॉड्यूलो 26 की संख्या उन दो संख्याओं का गुणनफल है। इसलिए यह है | ||
:<math>26^{n^2}(1-1/2)(1-1/2^2)\cdots(1-1/2^n)(1-1/13)(1-1/13^2)\cdots(1-1/13^n).</math> | :<math>26^{n^2}(1-1/2)(1-1/2^2)\cdots(1-1/2^n)(1-1/13)(1-1/13^2)\cdots(1-1/13^n).</math> | ||
इसके अतिरिक्त, कुंजी आव्यूह में बहुत अधिक शून्य से बचना समझदारी है, क्योंकि वे प्रसार को कम करते हैं। कुल प्रभाव यह है कि मूल हिल सिफर का प्रभावी कुंजी स्थान लगभग <math>4.64n^2 - 1.7</math> है। 5 × 5 हिल सिफर के लिए, यह लगभग 114 बिट्स है। परन्तु , कुंजी खोज | इसके अतिरिक्त, कुंजी आव्यूह में बहुत अधिक शून्य से बचना समझदारी है, क्योंकि वे प्रसार को कम करते हैं। कुल प्रभाव यह है कि मूल हिल सिफर का प्रभावी कुंजी स्थान लगभग <math>4.64n^2 - 1.7</math> है। 5 × 5 हिल सिफर के लिए, यह लगभग 114 बिट्स है। परन्तु , कुंजी खोज अधीक कुशल ज्ञात अटैक नहीं है। | ||
==यांत्रिक कार्यान्वयन == | ==यांत्रिक कार्यान्वयन == | ||
एक साथ 2 प्रतीकों पर काम करते समय, एक हिल सिफर [[प्लेफेयर सिफर]] या [[ द्विभाजित सिफर |द्विभाजित सिफर]] पर कोई विशेष लाभ प्रदान नहीं करता है, और वास्तव में दोनों की तुलना में अशक्त है, और पेंसिल और कागज द्वारा संचालित करने के लिए थोड़ा अधिक श्रमसाध्य है। जैसे-जैसे आयाम बढ़ता है, सिफर | एक साथ 2 प्रतीकों पर काम करते समय, एक हिल सिफर [[प्लेफेयर सिफर]] या [[ द्विभाजित सिफर |द्विभाजित सिफर]] पर कोई विशेष लाभ प्रदान नहीं करता है, और वास्तव में दोनों की तुलना में अशक्त है, और पेंसिल और कागज द्वारा संचालित करने के लिए थोड़ा अधिक श्रमसाध्य है। जैसे-जैसे आयाम बढ़ता है, सिफर तीव्र से मनुष्य के लिए हाथ से संचालित करना असंभव हो जाता है। | ||
आयाम 6 का एक हिल सिफर यंत्रवत् प्रयुक्त किया गया था। हिल और एक साथी को एक [[पेटेंट]] से सम्मानित किया गया ({{US patent |1,845,947}}) इस उपकरण के लिए, जिसने गियर और चेन की एक प्रणाली का उपयोग करके 6 × 6 आव्यूह गुणन मोडुलो 26 का प्रदर्शन किया गया था । | आयाम 6 का एक हिल सिफर यंत्रवत् प्रयुक्त किया गया था। हिल और एक साथी को एक [[पेटेंट]] से सम्मानित किया गया ({{US patent |1,845,947}}) इस उपकरण के लिए, जिसने गियर और चेन की एक प्रणाली का उपयोग करके 6 × 6 आव्यूह गुणन मोडुलो 26 का प्रदर्शन किया गया था । | ||
दुर्भाग्य से किसी भी मशीन के लिए गियरिंग व्यवस्था (और इस प्रकार कुंजी) तय की गई थी, इसलिए सुरक्षा के लिए ट्रिपल एन्क्रिप्शन की पक्षसमर्थन की गई थी: एक गुप्त नॉनलाइनियर चरण, उसके बाद मशीन से व्यापक प्रसार चरण, उसके बाद तीसरा गुप्त नॉनलाइनियर चरण ( | दुर्भाग्य से किसी भी मशीन के लिए गियरिंग व्यवस्था (और इस प्रकार कुंजी) तय की गई थी, इसलिए सुरक्षा के लिए ट्रिपल एन्क्रिप्शन की पक्षसमर्थन की गई थी: एक गुप्त नॉनलाइनियर चरण, उसके बाद मशीन से व्यापक प्रसार चरण, उसके बाद तीसरा गुप्त नॉनलाइनियर चरण (पूर्व के पश्चात का [[सम-मंसूर सिफर|इवन-मंसूर सिफर]] भी एक बिना कुंजी वाले डिफ्यूसिव मध्य चरण का उपयोग करता है)। ऐसा संयोजन वास्तव में 1929 के लिए बहुत शक्तिशाली था, और यह दर्शाता है कि हिल ने स्पष्ट रूप से मध्य में अटैक के साथ-साथ अस्पष्ट और प्रसार की अवधारणाओं को समझा दुर्भाग्य से, उसकी मशीन नहीं बिकी थी। | ||
==यह भी देखें == | ==यह भी देखें == | ||
Revision as of 18:41, 30 July 2023
मौलिक क्रिप्टोग्राफी में, हिल सिफर रैखिक बीजगणित पर आधारित एक पॉलीग्राफिक प्रतिस्थापन है। अतः1929 में लेस्टर एस. हिल द्वारा आविष्कार किया गया, यह प्रथम पॉलीग्राफिक सिफर था जिसमें एक साथ तीन से अधिक प्रतीकों पर कार्य करना व्यावहारिक (चूँकि कठिन से) था।
निम्नलिखित चर्चा आव्यूहों के प्रारंभिक ज्ञान पर आधारित है।
एन्क्रिप्शन
प्रत्येक अक्षर को एक संख्या मॉड्यूलर अंकगणित 26 द्वारा दर्शाया जाता है। चूँकि यह सिफर की एक अनिवार्य विशेषता नहीं है, इस सरल योजना का अधिकांशतः उपयोग किया जाता है:
| लेटर | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| नंबर | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 |
किसी संदेश को एन्क्रिप्ट करने के लिए, n अक्षरों के प्रत्येक ब्लॉक (n-घटक सदिश के रूप में माना जाता है) को मॉड्यूलस 26 के विरुद्ध एक व्युत्क्रम n × n आव्यूह द्वारा गुणा किया जाता है। संदेश को डिक्रिप्ट करने के लिए, प्रत्येक ब्लॉक को एन्क्रिप्शन के लिए उपयोग किए गए आव्यूह के व्युत्क्रम से गुणा किया जाता है।
एन्क्रिप्शन के लिए उपयोग किया जाने वाला आव्यूह सिफर कुंजी है, और इसे व्युत्क्रमणीय n × n आव्यूह (मॉड्यूलो 26) के समुच्चय से यादृच्छिक रूप से चुना जाना चाहिए। निःसंदेह, सिफर को किसी भी संख्या में अक्षरों वाली वर्णमाला के अनुसार अनुकूलित किया जा सकता है; सभी अंकगणित को केवल मॉड्यूलो 26 के अतिरिक्त अक्षरों की संख्या के अनुसार करने की आवश्यकता है।
संदेश 'एसीटी' और नीचे दी गई कुंजी (या अक्षरों में जीवाईबी/एनक्यूके/यूआरपी) पर विचार करें:
चूँकि 'A' 0 है, 'C' 2 है और 'T' 19 है, संदेश सदिश है:
इस प्रकार एन्क्रिप्टेड सदिश इस प्रकार दिया गया है:
जो 'पीओएच' के सिफरटेक्स्ट से मेल खाता है। अब, मान लीजिए कि हमारा संदेश इसके अतिरिक्त 'सीएटी' है, या:
इस बार, एन्क्रिप्टेड सदिश इस प्रकार दिया गया है:
जो 'एफआईएन' के सिफरटेक्स्ट से मेल खाता है। सभी अक्षर में परिवर्तन हो गया है. हिल सिफर ने क्लाउड एलवुड शैनन के अस्पष्ट और प्रसार को प्राप्त कर लिया है, और एक n -आयामी हिल सिफर एक ही बार में एन प्रतीकों में पूर्ण प्रकार से फैल सकता है।
डिक्रिप्शन
डिक्रिप्ट करने के लिए, हम सिफरटेक्स्ट को वापस एक सदिश में परिवर्तन देते हैं, फिर कुंजी आव्यूह के व्युत्क्रम आव्यूह (अक्षरों में आईएफके/वीआईवी/वीएमआई) से गुणा करते हैं। हम पाते हैं कि, मॉड्यूलो 26, पिछले उदाहरण में प्रयुक्त आव्यूह का व्युत्क्रम है: