सिफ़र

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

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

एक बड़ी कोडबुक के अनुसार प्रतिस्थापन द्वारा संचालित संकेत लिपिजो वर्णों या संख्याओं के एक यादृच्छिक स्ट्रिंग को एक शब्द या वाक्यांश से जोड़ते हैं। उदाहरण के लिए, UQJHSE निम्नलिखित निर्देशांकों की ओर बढ़ने के लिए संकेत लिपिहो सकता है। सिफर का उपयोग करते समय मूल जानकारी को प्लेनटेक्स्ट और एन्क्रिप्टेड रूप को सिफरटेक्स्ट के रूप में जाना जाता है। सिफरटेक्स्ट संदेश में सादे पाठ संदेश की सभी जानकारी होती है, लेकिन इसे डिक्रिप्ट करने के लिए उचित तंत्र के बिना किसी मानव या कंप्यूटर द्वारा पढ़ने योग्य प्रारूप में नहीं है।

एक सिफर का संचालन प्रायःपर सहायक जानकारी के एक टुकड़े पर निर्भर करता है, जिसे कुंजी (क्रिप्टोग्राफी) कहा जाता है (या, पारंपरिक एनएसए भाषा में, एक क्रिप्टोवेरिएबल)। कुंजी के आधार पर एन्क्रिप्ट करने की प्रक्रिया भिन्न होती है, जो कलन विधि के विस्तृत संचालन को बदलती है। किसी संदेश को एन्क्रिप्ट करने के लिए सिफर का उपयोग करने से पहले एक कुंजी का चयन किया जाना चाहिए। कुंजी के ज्ञान के बिना, परिणामी सिफरटेक्स्ट को पठनीय प्लेनटेक्स्ट में डिक्रिप्ट करना, यदि असंभव नहीं है, तो अत्यंत कठिन होना चाहिए।

अधिकांश आधुनिक सिफर को कई तरीकों से वर्गीकृत किया जा सकता है
 * चाहे वे प्रायःपर एक निश्चित आकार (ब्लॉक सिफर) के प्रतीकों के ब्लॉक पर काम करते हैं, या प्रतीकों की एक सतत धारा (स्ट्रीम सिफर) पर काम करते हैं।
 * गूढ़लेखन और विकोडन (सममित कुंजी एल्गोरिदम) दोनों के लिए एक ही कुंजी का उपयोग किया जाता है, या यदि प्रत्येक के लिए एक अलग कुंजी का उपयोग किया जाता है (असममित कुंजी एल्गोरिदम)। यदि कलन विधि सममित है, तो कुंजी को प्राप्तकर्ता और प्रेषक को पता होना चाहिए और किसी और को नहीं। यदि कलन विधि एक असममित है, तो कूटलेखन कुंजी कूटलेखन कुंजी से भिन्न है, लेकिन निकट से संबंधित है। यदि एक कुंजी को दूसरे से नहीं निकाला जा सकता है, तो असममित कुंजी एल्गोरिदम में सार्वजनिक/निजी कुंजी संपत्ति होती है और गोपनीयता की हानि के बिना कुंजियों में से एक को सार्वजनिक किया जा सकता है।

व्युत्पत्ति
रोमन अंक बहुत बोझिल थे, आंशिक रूप से क्योंकि शून्य की कोई अवधारणा नहीं थी। अरबी अंक प्रणाली मध्य युग में अरबी दुनिया से यूरोप तक फैल गई। इस परिवर्तन में, शून्य صفر (सिफर) के लिए अरबी शब्द मध्यकालीन लैटिन में सिफ्रा के रूप में अपनाया गया था, और फिर मध्य फ्रेंच मेंcifre. यह अंततः अंग्रेजी शब्द सिफर (अल्पसंख्यक वर्तनी साइफर) का कारण बना। एन्कोडिंग को संदर्भित करने के लिए शब्द कैसे आया, इसके लिए एक सिद्धांत यह है कि शून्य की अवधारणा यूरोपीय लोगों को भ्रमित कर रही थी, और इसलिए यह शब्द एक संदेश या संचार को संदर्भित करने के लिए आया था जिसे आसानी से समझा नहीं गया था। सिफर शब्द का उपयोग बाद में किसी भी अरबी अंक को संदर्भित करने के लिए, या उनका उपयोग करके गणना करने के लिए भी किया गया था, इसलिए अरबी अंकों के रूप में टेक्स्ट को एन्कोडिंग शाब्दिक रूप से टेक्स्ट को सिफर में परिवर्तित कर रहा है।

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

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

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

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

ऐतिहासिक रूप से, कूटलेखनको संकेत लिपिऔर सिफर के द्विभाजन में विभाजित किया गया था; और कोडिंग की अपनी शब्दावली थी, सिफर के समान: एन्कोडिंग, कोडटेक्स्ट, डिकोडिंग और इसी तरह।

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

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

ऐतिहासिक
अतीत में उपयोग किए जाने वाले ऐतिहासिक पेन और पेपर सिफर को कभी-कभी शास्त्रीय सिफर के रूप में जाना जाता है। इनमें सरल प्रतिस्थापन सिफर (जैसे ROT13) और ट्रांसपोजिशन सिफर (जैसे रेल बाड़ सिफर) शामिल हैं। उदाहरण के लिए, GOOD DOG को PLLX XLP के रूप में एन्क्रिप्ट किया जा सकता है जहां संदेश में O के लिए L, G के लिए P और D के लिए X को प्रतिस्थापित किया जाता है। GOOD DOG अक्षरों के स्थानान्तरण का परिणाम DGOGDOO हो सकता है। इन सरल सिफर और उदाहरणों को बिना प्लेनटेक्स्ट-सिफरटेक्स्ट जोड़े के भी आसानी से क्रैक किया जा सकता है। सरल सिफर को पॉलीअल्फाबेटिक प्रतिस्थापन सिफर द्वारा प्रतिस्थापित किया गया (जैसे कि विगेनेयर सिफर | विगेनेयर) जिसने प्रत्येक अक्षर के लिए प्रतिस्थापन वर्णमाला को बदल दिया। उदाहरण के लिए, GOOD DOG को PLSX TWF के रूप में एन्क्रिप्ट किया जा सकता है जहां L, S , और W O की जगह लेते हैं। ज्ञात या अनुमानित सादे पाठ की थोड़ी मात्रा के साथ, पेन और पेपर गूढ़लेखन के लिए डिज़ाइन किए गए सरल बहुवर्णी प्रतिस्थापन सिफर और पत्र ट्रांसपोज़िशन सिफर क्रैक करना आसान है। हालांकि एक बार के पैड के आधार पर एक सुरक्षित पेन और पेपर सिफर बनाना संभव है, लेकिन एक बार के पैड#समस्याएं|एक बार के पैड के सामान्य नुकसान लागू होते हैं।

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

आधुनिक
आधुनिक गूढ़लेखन विधियों को दो मानदंडों द्वारा विभाजित किया जा सकता है: उपयोग की जाने वाली कुंजी के प्रकार और इनपुट डेटा के प्रकार से।

प्रयुक्त कुंजी के प्रकार से सिफर को इसमें विभाजित किया गया है:
 * सममित कुंजी एल्गोरिदम (निजी-कुंजी क्रिप्टोग्राफी), जहां गूढ़लेखन और विकोडन के लिए एक ही कुंजी का उपयोग किया जाता है, और
 * असममित कुंजी एल्गोरिदम (सार्वजनिक कुंजी क्रिप्टोग्राफी), जहां गूढ़लेखन और विकोडन के लिए दो अलग-अलग कुंजियों का उपयोग किया जाता है।

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

इनपुट डेटा के प्रकार से सिफर को दो प्रकारों में विभाजित किया जा सकता है:
 * ब्लॉक सिफर, जो निश्चित आकार के डेटा के ब्लॉक को एन्क्रिप्ट करता है, और
 * स्ट्रीम सिफर, जो डेटा की निरंतर धाराओं को एन्क्रिप्ट करता है।

कुंजी आकार और भेद्यता
एक शुद्ध गणितीय हमले में, (अर्थात्, किसी सिफर को तोड़ने में मदद करने के लिए किसी अन्य जानकारी की कमी) सभी गणनाओं के ऊपर दो कारक:

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

इस प्रक्रिया का एक उदाहरण की लेंथ पर पाया जा सकता है, जो 128 बाइनरी अंकों के साथ एक सममित सिफर, 3072 बिट कुंजियों के साथ एक असममित सिफर, और एक अंडाकार वक्र का सुझाव देने के लिए कई रिपोर्टों का उपयोग करता है। कूटलेखन256 बिट्स के साथ, सभी को वर्तमान में समान कठिनाई है।

क्लाउड शैनन ने सूचना सिद्धांत के विचारों का उपयोग करते हुए साबित किया कि किसी भी सैद्धांतिक रूप से अटूट सिफर में कुंजियाँ होनी चाहिए जो कम से कम प्लेनटेक्स्ट जितनी लंबी हों, और केवल एक बार उपयोग की गई हों: एक बार का पैड।

यह भी देखें

 * ऑटोकी सिफर
 * कवर-कोडिंग
 * गूढ़लेखन सॉफ्टवेयर
 * सिफरटेक्स्ट की सूची
 * स्टेग्नोग्राफ़ी
 * टेलीग्राफ कोड

संदर्भ

 * Richard J. Aldrich, GCHQ: The Uncensored Story of Britain's Most Secret Intelligence Agency, HarperCollins July 2010.
 * Helen Fouché Gaines, "Cryptanalysis", 1939, Dover. ISBN 0-486-20097-3
 * Ibrahim A. Al-Kadi, "The origins of cryptology: The Arab contributions", Cryptologia, 16(2) (April 1992) pp. 97–126.
 * David Kahn, The Codebreakers - The Story of Secret Writing (ISBN 0-684-83130-9) (1967)
 * David A. King, The ciphers of the monks - A forgotten number notation of the Middle Ages, Stuttgart: Franz Steiner, 2001 (ISBN 3-515-07640-9)
 * Abraham Sinkov, Elementary Cryptanalysis: A Mathematical Approach, Mathematical Association of America, 1966. ISBN 0-88385-622-0
 * William Stallings, ''Cryptography and Network Security, principles and practices, 4th Edition

इस पेज में लापता आंतरिक लिंक की सूची

 * सममित कुंजी कलन विधि
 * असममित कुंजी कलन विधि
 * कूटलेखनका इतिहास
 * एक समय पैड
 * उच्च गूढ़लेखन मानक
 * विस्तृत भाषण
 * बाइनरी संख्या
 * अण्डाकार वक्र क्रिप्टोग्राफी

बाहरी संबंध

 * Kish cypher