हिल सिफर लेस्टर एस द्वारा आविष्कार किया गया एक बहु-अक्षर वाला बहु-अक्षर वाला सिफर है। हिल सिफर एक मैट्रिक्स की धारणा को रेखीय सर्वांगसमता के दृष्टिकोण के साथ जोड़कर एक कोडिंग प्रणाली है जो एक प्लेन टेक्स्ट को एक सिफरटेक्स्ट में एन्क्रिप्ट करने और एक सिफरटेक्स्ट को एक प्लेनटेक्स्ट में डिक्रिप्ट करने के चरण में है।पी>
हिल सिफर प्लेन टेक्स्ट में समान अक्षरों में से प्रत्येक को सिफरटेक्स्ट में समान वर्णमाला के साथ पुनर्स्थापित नहीं करता है क्योंकि यह एन्क्रिप्शन और डिक्रिप्शन द्वारा मैट्रिक्स गुणन में मदद करता है। हिल सिफर जो कि एक बहु-वर्णमाला सिफर है, को ब्लॉक सिफर के रूप में वर्गीकृत किया जा सकता है क्योंकि जिस टेक्स्ट को हैंडल किया जाना है उसे एक विशिष्ट आकार के ब्लॉकों में विभाजित किया जाएगा।
एक ब्लॉक में प्रत्येक वर्ण एन्क्रिप्शन और डिक्रिप्शन प्रक्रिया में अन्य वर्णों को प्रभावित करेगा ताकि समान वर्ण समान वर्ण से मैप न हो।
हिल सिफर शास्त्रीय क्रिप्टोग्राफ़िक एल्गोरिदम में समाहित है, जिसे केवल सिफरटेक्स्ट फ़ाइल को समझकर ही पूरा किया जा सकता है, जिसे हल करने के लिए क्रिप्टैनालिस्ट बहुत जटिल हैं। हालाँकि, इस दृष्टिकोण को काफी सरलता से हल किया जा सकता है यदि क्रिप्टैनालिस्ट के पास सिफरटेक्स्ट फ़ाइल और प्लेनटेक्स्ट फ़ाइल का एक तत्व है। इस क्रिप्टोएनालिसिस तकनीक को एक ज्ञात-सादा पाठ हमला कहा जाता है।
हिल सिफर के आधार पर मैट्रिक्स गुणन तकनीक और मैट्रिक्स के लिए उलटा तकनीक की आवश्यकता होती है। हिल सिफर के लिए आवश्यक मैट्रिक्स n x n है जिसमें n ब्लॉक आकार है।
यह कुंजी बनने वाला K मैट्रिक्स एक उलटा मैट्रिक्स होना चाहिए, जिसमें उलटा K-1 हो, इसलिए कुंजी का उलटा होना चाहिए क्योंकि K-1 मैट्रिक्स डिक्रिप्ट करने के लिए उपयोग की जाने वाली कुंजी है।
हिल सिफर के चरण इस प्रकार हैं -
-
हिल सिफर में, प्लेन टेक्स्ट को समान आकार के ब्लॉकों में विभाजित किया जाता है।
-
ब्लॉकों को एक बार में इस तरह से एन्क्रिप्ट किया जाता है कि ब्लॉक में प्रत्येक वर्ण ब्लॉक में नए वर्णों के एन्क्रिप्शन को प्रदान करता है।
-
हिल सिफर में, कुंजी m x m आकार का एक वर्ग मैट्रिक्स है जहां m ब्लॉक के आकार को परिभाषित करता है यदि यह कुंजी मैट्रिक्स K को कॉल कर सकता है, जिसे -
के रूप में वर्णित किया गया है$$\mathrm{K=\begin{bmatrix} K_{11} &K_{12} &K_{1m} \\ K_{21}&K_{22}&K_{2m}\\ K_{31} और K_ {32}&K_{3m}\\ \end{bmatrix}}$$
-
यदि प्लेनटेक्स्ट ब्लॉक में m अक्षर हैं, तो वह है P1 ,प<उप>2उप> ... अपराह्न, सिफरटेक्स्ट ब्लॉक में संबंधित वर्ण C1 . हैं ,सी<उप>2उप> ... सी<उप>एमउप> निम्नलिखित समीकरणों द्वारा परिभाषित किया जाएगा -
$$\mathrm{C_{1}=P_{1}\, K_{11}+P_{2}\, K_{12}+P_{3}\, K_{13}\:mod\:26}$ $
$$\mathrm{C_{2}=P_{1}\, K_{21}+P_{2}\, K_{22}+P_{3}\, K_{23}\:mod\:26}$ $
$$\mathrm{C_{3}=P_{1}\, K_{31}+P_{2}\, K_{32}+P_{3}\, K_{33}\:mod\:26}$ $
-
इन समीकरणों को कॉलम मैट्रिक्स के रूप में परिभाषित किया जा सकता है -
$$\mathrm{\begin{pmatrix} C_{1} \\ C_{2} \\ C_{3} \end{pmatrix}=\begin{pmatrix} K_{11} &K_{12} &K_{13} \\ K_{21} और K_{22} और K_{23} \\ K_{31} और K_{32} और K_{33} \\ \end{pmatrix} \begin{pmatrix} P_{1} \\ P_{2} \\ P_{3} \end{pmatrix} \:mod\:26}$$
-
सामान्य पहाड़ी सिफर में, समीकरणों को -
. के रूप में परिभाषित किया जा सकता है$$\mathrm{C\:=\:K\, P\:mod\:26}$$
$$\mathrm{P\:=\:K^{-1}\, C\:mod\:26}$$
-
हिल सिफर को एक ज्ञात प्लेनटेक्स्ट हमले से आसानी से नष्ट किया जा सकता है। मान लें कि इसमें m प्लेनटेक्स्ट सिफरटेक्स्ट जोड़े हो सकते हैं, जिनमें से प्रत्येक की लंबाई m ऐसी हो कि
$$\mathrm{C_{i}\, =\, K\, P_{i}\:for\:1\leq i\leq m}$$
-
अज्ञात कुंजी मैट्रिक्स K की गणना −
. के रूप में की जा सकती है$$\mathrm{K=C_{i}\:P_{i}^{-1}}$$
और एक बार कुंजी की गणना करने के बाद इसे आसानी से तोड़ा जा सकता है।