प्लेफेयर (Playfair) एक सब्स्टीट्यूशन सिफर (Substitution Cipher) है। प्लेफेयर सिफर मूल रूप से 1854 में चार्ल्स व्हीटस्टोन द्वारा आविष्कृत किया गया था लेकिन इसका नाम लॉर्ड प्लेफेयर के नाम पर है क्योंकि उन्होंने इस पद्धति के उपयोग को बढ़ावा दिया।
प्लेफेयर सिफर की विशेषताएं
- प्लेफेयर सिफर ब्लॉक सिफर (Block Cipher) की एक विधि है और एन्क्रिप्शन में एक विशिष्ट प्लेनटेक्स्ट वर्ण को प्रतिस्थापित करने वाला सिफरटेक्स्ट वर्ण प्लेनटेक्स्ट में आसन्न वर्ण पर भाग में निर्भर करता है।
- एन्क्रिप्शन एन्क्रिप्शन कुंजी से बने वर्णों के एक वर्ग सरणी (Square Array) का उपयोग करके किया जाता है।
- चूंकि प्लेनटेक्स्ट वर्णों का समूह 26-अक्षर वाला अंग्रेजी वर्णमाला है, यह सरणी 5 × 5 होगी, जिसमें 26 वर्णों में से 2 एक ही स्थान पर कब्जा करेंगे।
- आमतौर पर ये दो वर्ण I और J होते हैं, क्योंकि आमतौर पर संदर्भ से यह निर्धारित करना आसान होता है कि इन दो अक्षरों में से कौन सा प्लेनटेक्स्ट में पूर्व-निर्धारित था।
- प्लेफेयर सिफर के लिए एन्क्रिप्शन कुंजी प्लेनटेक्स्ट वर्णों के समूह से लिए गए वर्णों के एक सीमित क्रम वाला एक शब्द है।
एन्क्रिप्शन प्रक्रिया
- 5×5 मैट्रिक्स: प्लेफेयर एक डाइग्राफ सब्स्टीट्यूशन सिफर (Digraph Substitution Cipher) है जिसे 5×5 मैट्रिक्स की आवश्यकता होती है, जिसमें कीवर्ड पहले लिखा जाता है और मैट्रिक्स के शेष सेल्स को I और J को एक ही सेल में लेकर वर्णमाला के शेष अक्षरों से भरा जाता है।
- डाइग्राफ में विभाजन: संदेश को डाइग्राफ में विभाजित किया जाता है, जिसमें एक ही जोड़े में आने वाले अक्षरों को फिलर अक्षर X से अलग किया जाता है।
- पैडिंग: यदि संदेश में विषम संख्या में अक्षर हैं, तो जोड़ी पूरी करने के लिए एक अतिरिक्त अक्षर X शब्द के साथ पैड किया जाता है।
क्रिप्टएनालिसिस (Cryptanalysis) - तोड़ने के तरीके
- आवृत्ति विश्लेषण (Frequency Analysis): प्लेफेयर सिफर को तोड़ने का सामान्य तरीका अक्षरों के जोड़े का आवृत्ति विश्लेषण लागू करना है। किसी भाषा के लिए अनुमानित आवृत्तियों को जानकर, जो संदेश में उपयोग की गई थी, कोई व्यक्ति लगातार सिफरटेक्स्ट जोड़े को भाषा में लगातार अक्षर समूहों से मिलान करने का प्रयास कर सकता है।
- विशेषताएं जो इसे तोड़ना आसान बनाती हैं:
- अक्षरों के जोड़े और उनके व्युत्क्रम जोड़े (जैसे AC और CA) सिफरटेक्स्ट में समान जोड़े उत्पन्न करते हैं।
- सिफरटेक्स्ट में एक साथ रखे गए समान दोहराए गए अक्षरों की कमी होती है।
- यादृच्छिक टेबल भरना (Random Table Filling): टेबल को यादृच्छिक रूप से भरना और उसके वर्तमान मूल्यों के आधार पर सिफरटेक्स्ट को डिकोड करने का प्रयास करना। फिर टेबल को थोड़ा संशोधित करना और फिर से डिकोड करने का प्रयास करना। परिवर्तनों को स्वीकार करना जो प्रस्तावित प्लेनटेक्स्ट की गुणवत्ता को बढ़ाते हैं। यह अपेक्षाकृत सरल विधि है, लागू करना काफी आसान है।
- प्लेनटेक्स्ट टुकड़ों का अनुमान (Guessing Plaintext Fragments): प्लेफेयर सिफर को तोड़ने का तीसरा बहुत कुशल तरीका प्लेनटेक्स्ट टुकड़ों का अनुमान लगाना है, उदाहरण के लिए प्रेषक को अभिवादन, या संदेश भेजने की तारीखें और स्थान।