सिफ़र

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

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

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

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

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

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

सिफर शब्द का उपयोग बाद में किसी भी अरबी अंक को संदर्भित करने के लिए, या उनका उपयोग करके गणना करने के लिए भी किया गया था, इसलिए अरबी अंकों के रूप में पाठ्य भाग(टेक्स्ट) को एन्कोडिंग शाब्दिक पाठ्य भाग को सिफर में परिवर्तित कर रहा है।

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

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

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

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

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

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

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

ऐतिहासिक
अतीत में उपयोग किए जाने वाले ऐतिहासिक पेन और पेपर सिफर को कभी-कभी प्राचीन सिफर के रूप में जाना जाता है। इनमें सरल प्रतिस्थापन सिफर (जैसे आर ओ टी 13) और पक्षांतरण सिफर (जैसे रेल बाड़ सिफर) शामिल हैं। उदाहरण के लिए, "गुड डॉग" को "पी एल एल एक्स  एक्स एल पी(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