फोर-स्क्वायर सिफर आज़माएं

नीचे दिए गए उपकरणों का उपयोग करके एक संदेश को एन्क्रिप्ट या डिक्रिप्ट करें:

एन्क्रिप्ट

परिणाम:

डिक्रिप्ट

परिणाम:

जनरेट की गई मैट्रिसेस

इतिहास में अद्भुत क्षण

फोर-स्क्वायर सिफर: ऐतिहासिक पृष्ठभूमि और एन्क्रिप्शन के सिद्धांत

फोर-स्क्वायर सिफर एक सममित एन्क्रिप्शन विधि है जिसे फ्रांसीसी फेलिक्स डेलास्टेल (1840–1902) द्वारा आविष्कार किया गया था और यह आधुनिक क्रिप्टोग्राफी का हिस्सा है। इस एन्क्रिप्शन विधि में चार 5×5 मैट्रिसेस का उपयोग करके अक्षरों को युग्मों में एन्क्रिप्ट किया जाता है, जिनमें से प्रत्येक में 25 अक्षर होते हैं। आमतौर पर, अक्षर Q को छोड़ दिया जाता है, या I और J को एक ही अक्षर माना जाता है। वैकल्पिक रूप से, इस विधि को 6×6 मैट्रिसेस का उपयोग करके 10 अंकों को शामिल करने के लिए अनुकूलित किया जा सकता है।

एन्क्रिप्शन प्रक्रिया के दौरान, "example" और "keyword" जैसे दो अंग्रेजी शब्दों को कुंजी के रूप में चुना जाता है। डुप्लिकेट अक्षरों को हटाने के बाद, शेष अक्षरों को क्रम में मैट्रिसेस में रखा जाता है। इन दो मैट्रिसेस को ऊपरी दाएं और निचले बाएं कोनों में रखा जाता है, जबकि ऊपरी बाएं और निचले दाएं कोनों में A से Z तक के क्रम का उपयोग करके मैट्रिसेस बनाई जाती हैं, जिससे फोर-स्क्वायर सिफर मैट्रिक्स का निर्माण होता है।

संदेश को एन्क्रिप्ट करने के लिए, अक्षरों को युग्मों में विभाजित किया जाता है, जैसे "hello world" को "he ll ow or ld" में बदल दिया जाता है। मैट्रिसेस में स्थितियों के आधार पर, संबंधित एन्क्रिप्टेड अक्षरों को खोजा जाता है। उदाहरण के लिए, "he" के एन्क्रिप्शन प्रक्रिया में, "h" की स्थिति को ऊपरी बाएं मैट्रिक्स में और "e" की स्थिति को निचले दाएं मैट्रिक्स में खोजा जाता है। फिर, ऊपरी दाएं मैट्रिक्स में, "h" की पंक्ति और "e" के स्तंभ में स्थित अक्षर को पाया जाता है, और निचले बाएं मैट्रिक्स में, "h" के स्तंभ और "e" की पंक्ति में स्थित अक्षर को खोजा जाता है। ये दो अक्षर एन्क्रिप्टेड सिफरटेक्स्ट बनाते हैं।

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

क्लासिकल क्रिप्टोग्राफी का हिस्सा होने के नाते, हालांकि फोर-स्क्वायर सिफर आधुनिक एन्क्रिप्शन एल्गोरिदम की सुरक्षा के अनुरूप नहीं है, इसकी सरलता और ऐतिहासिक महत्व ने आधुनिक एन्क्रिप्शन विधियों के लिए प्रेरणा प्रदान की है।

फोर-स्क्वायर सिफर एन्क्रिप्शन स्टेप-बाय-स्टेप गाइड

नीचे दिए गए स्टेप-बाय-स्टेप गाइड मेंफोर-स्क्वायर सिफर का उपयोग करके एन्क्रिप्शन की विधि बताई गई है, जिसमें "Four" और "Cipher" कीवर्ड और "Hello World" प्लेनटेक्स्ट का उपयोग किया गया है।

चरण 1: तैयारी

  • कीवर्ड चुनें
    • key1 = "Four"
    • key2 = "Cipher"
  • प्लेनटेक्स्ट तैयार करें
    • प्लेनटेक्स्ट है "Hello World"।
  • प्लेनटेक्स्ट को एन्क्रिप्शन के लिए उपयुक्त प्रारूप में बदलें
    • अक्षरों को अपरकेस में बदलें और J को I से बदलें: Hello World -> HELLOWORLD
    • गैर-अक्षर वर्णों को हटा दें: HELLOWORLD
    • यदि प्लेनटेक्स्ट की लंबाई विषम है, तो अंत में अक्षर X जोड़ें।

चरण 2: लेटर स्क्वायर जनरेट करें

कीवर्ड का उपयोग करके चार 5x5 लेटर स्क्वायर जनरेट करें। आमतौर पर, वर्णमाला में अक्षर J को छोड़ दिया जाता है और I का उपयोग किया जाता है।

लेटर स्क्वायर जनरेट करने का फंक्शन

            
            function createSquare(keyword) {
                let alphabet = "ABCDEFGHIKLMNOPQRSTUVWXYZ";
                let used = {};
                let square = "";
                keyword = keyword.toUpperCase().replace(/J/g, 'I');
                for (let i = 0; i < keyword.length; i++) {
                    if (!used[keyword[i]]) {
                        used[keyword[i]] = true;
                        square += keyword[i];
                    }
                }
                for (let i = 0; i < alphabet.length; i++) {
                    if (!used[alphabet[i]]) {
                        square += alphabet[i];
                    }
                }
                return square;
            }
            
            

4 लेटर स्क्वायर जनरेट करें

Square 1 (square1) और Square 4 (square4) key1 = "FOUR" का उपयोग करके:

            
            F O U R A
            B C D E G
            H I K L M
            N P Q S T
            V W X Y Z
            
            

Square 2 (square2) और Square 3 (square3) key2 = "CIPHER" का उपयोग करके:

            
            C I P H E 
            R A B D F
            G K L M N
            O Q S T U
            V W X Y Z
            
            

चरण 3: एन्क्रिप्शन प्रक्रिया

प्लेनटेक्स्ट को अक्षरों के युग्मों में विभाजित करें और प्रत्येक युग्म को एन्क्रिप्ट करें। उदाहरण प्लेनटेक्स्ट: HELLOWORLD।

प्लेनटेक्स्ट को विभाजित करें

HELLOWORLD -> HE LL OW OR LD

प्रत्येक अक्षर युग्म को एन्क्रिप्ट करें

अक्षरों की स्थिति को स्क्वायर में खोजने के लिए निम्नलिखित फंक्शन का उपयोग करें:

            
            function findPosition(square, char) {
                let index = square.indexOf(char);
                let row = Math.floor(index / 5);
                let col = index % 5;
                return [row, col];
            }
            
            

प्रत्येक अक्षर युग्म को स्टेप-बाय-स्टेप एन्क्रिप्ट करें:

  • अक्षर युग्म "HE" को एन्क्रिप्ट करें
    • H स्क्वायर1 में स्थिति (2, 0) पर है
    • E स्क्वायर4 में स्थिति (1, 3) पर है
    • स्क्वायर2 से (2, 3) लें -> M
    • स्क्वायर3 से (1, 0) लें -> R
    • परिणाम: HE -> MR
  • अक्षर युग्म "LL" को एन्क्रिप्ट करें
    • L स्क्वायर1 में स्थिति (2, 3) पर है
    • L स्क्वायर4 में स्थिति (2, 3) पर है
    • स्क्वायर2 से (2, 3) लें -> M
    • स्क्वायर3 से (2, 3) लें -> M
    • परिणाम: LL -> MM
  • अक्षर युग्म "OW" को एन्क्रिप्ट करें
    • O स्क्वायर1 में स्थिति (0, 1) पर है
    • W स्क्वायर4 में स्थिति (4, 1) पर है
    • स्क्वायर2 से (0, 1) लें -> I
    • स्क्वायर3 से (4, 1) लें -> W
    • परिणाम: OW -> IW
  • अक्षर युग्म "OR" को एन्क्रिप्ट करें
    • O स्क्वायर1 में स्थिति (0, 1) पर है
    • R स्क्वायर4 में स्थिति (0, 3) पर है
    • स्क्वायर2 से (0, 3) लें -> H
    • स्क्वायर3 से (0, 1) लें -> I
    • परिणाम: OR -> HI
  • अक्षर युग्म "LD" को एन्क्रिप्ट करें
    • L स्क्वायर1 में स्थिति (2, 3) पर है
    • D स्क्वायर4 में स्थिति (1, 2) पर है
    • स्क्वायर2 से (2, 2) लें -> L
    • स्क्वायर3 से (1, 3) लें -> D
    • परिणाम: LD -> LD

अंतिम सिफरटेक्स्ट

एन्क्रिप्टेड अक्षर युग्मों को मिलाएं। HELLOWORLD के लिए सिफरटेक्स्ट है: MRMMIWHILD

फोर-स्क्वायर सिफर, डबल प्लेफेयर सिफर, और प्लेफेयर सिफर की तुलना

समानताएँ

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

अंतर

फोर-स्क्वायर सिफर

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

डबल प्लेफेयर सिफर

  • लेटर मैट्रिसेस: दो 5x5 लेटर मैट्रिसेस का उपयोग करता है।
  • एन्क्रिप्शन यूनिट: एक समय में दो अक्षरों को प्रोसेस करता है।
  • चरण:
    • दो लेटर मैट्रिसेस अलग-अलग कीवर्ड से जनरेट की जाती हैं।
    • प्लेनटेक्स्ट को अक्षर युग्मों में विभाजित करें।
    • पहले अक्षर की स्थिति पहली मैट्रिक्स में और दूसरे अक्षर की स्थिति दूसरी मैट्रिक्स में खोजें, फिर नियमों के अनुसार अक्षरों का सब्स्टिट्यूशन करें।
  • जटिलता: एकल प्लेफेयर सिफर की तुलना में दूसरी मैट्रिक्स को जोड़कर जटिलता और सुरक्षा बढ़ाता है।

प्लेफेयर सिफर

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

तुलना तालिका

विशेषता फोर-स्क्वायर सिफर डबल प्लेफेयर सिफर प्लेफेयर सिफर
लेटर मैट्रिसेस की संख्या 4 2 1
एन्क्रिप्शन यूनिट एक समय में दो अक्षर एक समय में दो अक्षर एक समय में दो अक्षर
कीवर्ड्स दो कीवर्ड्स दो कीवर्ड्स एक कीवर्ड
जटिलता उच्च मध्यम कम
एन्क्रिप्शन नियम सब्स्टिट्यूशन खोजने के लिए चार मैट्रिसेस का उपयोग करता है सब्स्टिट्यूशन खोजने के लिए दो मैट्रिसेस का उपयोग करता है सब्स्टिट्यूशन खोजने के लिए एक मैट्रिक्स का उपयोग करता है

ट्रांसपोज़िशन और सब्स्टिट्यूशन

Felix Delastelle की पुस्तक Traité Élémentaire de Cryptographie में क्रिप्टोग्राफी में ट्रांसपोज़िशन और सब्स्टिट्यूशन की विधियों का गहन विश्लेषण किया गया है। ट्रांसपोज़िशन में संदेश को एन्क्रिप्ट करने के लिए प्लेनटेक्स्ट में अक्षरों की स्थितियों को बदलना शामिल है। उदाहरण के लिए, अक्षरों के क्रम को उलटना, जैसा कि "Paul est parti pour Lyon" के मामले में होता है, जो "NOYLRUOPITRAPTSELUAP" बन जाता है। एक अन्य विधि समूह बनाना है, जहां प्लेनटेक्स्ट को एक पूर्वनिर्धारित आकार में व्यवस्थित किया जाता है, और फिर अक्षरों को एक निर्धारित क्रम में निकाला जाता है ताकि सिफरटेक्स्ट का निर्माण हो सके।

फ्रेंच में मूल पाठ:
"L'inversion consiste à transposer ou déplacer les lettres du texte clair suivant une méthode convenue entre les correspondants, de telle sorte qu'il soit facile aux initiés de rétablir l'ordre primitif."

अंग्रेजी में अनुवाद:
"इनवर्शन में स्पष्ट पाठ के अक्षरों को पत्राचारियों के बीच एक सहमत विधि के अनुसार स्थानांतरित या बदलना शामिल है ताकि इसे जानने वालों के लिए मूल क्रम को पुनः स्थापित करना आसान हो।"

फ्रेंच में मूल पाठ:
Le renversement s'effectue en écrivant les lettres du clair en sens inverse de l'ordre normal, la dernière lettre devenant la première, l'avant-dernière la seconde, l'antépénultième la troisième, etc. Exemple: "Paul est parti pour Lyon" s'écrira "NOYLRUOPITRAPTSELUAP". Le renversement peut s'appliquer soit au texte entier, soit successivement à chaque mot ou à des groupes d'un nombre de lettres convenu. La phrase ci-dessus, divisée en deux groupes de dix lettres, donnerait: "RAPTSELUAPNOYLRUOPIT". Et en quatre groupes de cinq lettres: "ELUAPRAPTSUOPITNOYLR".

अंग्रेजी में अनुवाद:
उलटफेर को सामान्य क्रम के विपरीत दिशा में स्पष्ट पाठ के अक्षरों को लिखकर किया जाता है, जिसमें अंतिम अक्षर पहला बन जाता है, दूसरा अंतिम दूसरा बन जाता है, तीसरा अंतिम तीसरा बन जाता है, आदि। उदाहरण: "Paul est parti pour Lyon" को "NOYLRUOPITRAPTSELUAP" लिखा जाएगा। उलटफेर को पूरे पाठ पर, या क्रमिक रूप से प्रत्येक शब्द पर या एक निश्चित संख्या में अक्षरों के समूहों पर लागू किया जा सकता है। ऊपर दिए गए वाक्य को दस अक्षरों के दो समूहों में विभाजित करके, यह मिलेगा: "RAPTSELUAPNOYLRUOPIT"। और पांच अक्षरों के चार समूहों में: "ELUAPRAPTSUOPITNOYLR"।

फ्रेंच में मूल पाठ:
"De nombreux systèmes ont été imaginés dans ce but: 1 Renversement des lettres; 2 Groupements divers; 3 Carrés et grilles; 4 Méthodes diverses."

अंग्रेजी में अनुवाद:
"इस उद्देश्य के लिए कई प्रणालियों की कल्पना की गई है: 1 अक्षरों का उलटफेर; 2 विभिन्न समूह; 3 वर्ग और ग्रिड; 4 विभिन्न विधियाँ।"

फ्रेंच में मूल पाठ:
"Il est évident que le renversement ne donne aucune sécurité au point de vue du secret, les dépêches écrites dans ce système ne résistant pas à un examen un peu sérieux."

अंग्रेजी में अनुवाद:
"यह स्पष्ट है कि गोपनीयता के दृष्टिकोण से उलटफेर कोई सुरक्षा प्रदान नहीं करता है; इस प्रणाली में लिखे गए संदेश थोड़ी भी गंभीर जांच का सामना नहीं कर सकते।"