कोड (क्रिप्टोग्राफी)

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

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

कोड और सिफर के बीच एक और तुलना यह है कि एक कोड सामान्यतः गणित के उपयोग के बिना सीधे एक वर्ड या वर्ड ग्रुप का प्रतिनिधित्व करता है। इस प्रकार संख्याओं को इन तीन वैल्यू का प्रतिनिधित्व करने के लिए कॉन्फ़िगर किया गया है: 1001 = A, 1002 = B, 1003 = C, ...। रीसलटिंग मैसेज, एबीसी को कम्यूनिकेट करने के लिए 1001 1002 1003 होगा। हालाँकि, सिफर वर्ड या वर्ड के ग्रुप को रिप्रेजेंट करने के लिए मैथमेटिकल फार्मूला का उपयोग करते हैं। उदाहरण के लिए, A = 1, B = 2, C = 3, ....। इस प्रकार प्रत्येक वर्ड के ग्रुप को 13 से मल्टिप्लाय करने पर मैसेज एबीसी प्राप्त होता है। तब मैसेज एबीसी 13 26 39 होगा।

कोड में कई तरह की ड्रॉबैक हैं, जिनमें क्रिप्ट एनालिसिस के प्रति ससेप्टिबिलिटी और क्युम्बरसम कोडबुक को प्रबंधित करने की कठिनाई सम्मिलित है, इसलिए सिफर अब मॉडर्न क्रिप्टोग्राफी में डोमिनेंट तकनीक है।

इसके विपरीत, क्योंकि कोड रीप्रेसेंटेशनल होते हैं, वे व्यक्तिगत कोडबुक एलिमेंट के मैथमेटिकल एनालिसिस के लिए सससेपटिबल नहीं होते हैं। उदाहरण में, मैसेज 13 26 39 को प्रत्येक संख्या को 13 से विभाजित करके और फिर उन्हें वर्णानुक्रम में क्रमबद्ध करके क्रैक किया जा सकता है। हालाँकि, कोडबुक क्रिप्टोएनालिसिस का फोकस आवृत्ति एनालिसिस का उपयोग करके प्लेन टेक्स्ट मैसेजों के भीतर वर्ड की समान आवृत्ति से मेल खाने वाले व्यक्तिगत कोड एलिमेंट की तुलनात्मक आवृत्ति है। उपरोक्त उदाहरण में, कोड समूह, 1001, 1002, 1003, एक से अधिक बार आ सकता है और वह आवृत्ति प्लेन पाठ मैसेजों में एबीसी होने की संख्या से मेल खा सकती है।

(अतीत में, या नॉन-टेक्निकल कॉन्टेक्स्ट में, कोड और सिफर का उपयोग प्रायः एन्क्रिप्शन के किसी भी रूप को संदर्भित करने के लिए किया जाता है)।

एक-और दो-भाग कोड
कोड को कोडबुक (भौतिक या काल्पनिक) द्वारा परिभाषित किया जाता है, जो उनके करेस्पोंडिंग प्लेनटेक्सट के साथ सूचीबद्ध कोडग्रुप के वर्डकोश होते हैं। कोड में मूल रूप से डिज़ाइन किए गए कोड या एनकोडर की कन्वीनिएंस के लिए 'प्लेनटेक्स्ट ऑर्डर' में कोडग्रूप निर्दिष्ट किए गए थे। उदाहरण के लिए, संख्यात्मक कोडग्रुप का उपयोग करने वाले कोड में, a से प्रारम्भ होने वाले प्लेन टेक्स्ट वर्ड में लो-वैल्यू वाला समूह होगा, जबकि z से प्रारम्भ होने वाले वर्ड में हाई-वैल्यू वाला समूह होगा। एक ही कोडबुक का उपयोग एक प्लेनटेक्स्ट मैसेज को एक कोडित मैसेज या कोडटेक्स्ट में एनकोड करने के लिए किया जा सकता है, और एक कोडटेक्स्ट को वापस प्लेनटेक्स्ट मैसेज में डीकोड करने के लिए किया जा सकता है।

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

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


 * बाइबिल में, जोनाथन (1 सैमुअल) राजा डेविड के साथ एक कोड को प्रीअर्रेंज करता है, जो जोनाथन के पिता, राजा शाऊल से छिप रहा है। यदि, आर्चरी प्रैक्टिस के दौरान, जोनाथन तीर निकाल रहे नौकर से कहता है कि तीर तुम्हारे इस तरफ हैं, तो डेविड के लिए कोर्ट में लौटना सेफ है, यदि आदेश है कि तीर तुम्हारे पार हैं, तो डेविड को भागना होगा।
 * वन इफ बी लैंड; टू इफ बाई सी (पोएम) हेनरी वड्सवर्थ लॉन्गफेलो की पोएम में पॉल रीवेरे राइड प्रसिद्ध हुई
 * क्लाइंब माउंट नियतका नीताका - जापानी विवैल्यू को पर्ल हार्बर परअटैक प्रारम्भ करने का संकेत
 * वर्ल्ड वॉर II के दौरान ब्रिटिश ब्रॉडकास्टिंग कॉर्पोरेशन की विदेशी सर्विस में प्रायः रेडियो लॉन्ड्रेस कोडित मैसेजों को अपने रेग्युलर ब्रॉडकास्ट कार्यक्रम के हिस्से के रूप में सम्मिलित किया जाता था। एनाउंसर द्वारा पढ़े जाने वाले मैसेजों की प्रतीत होने वाली नोंसेंसिकल स्ट्रीम वास्तव में एनिमी लाइन के पीछे काम करने वाले स्पेशल ऑपरेशन्स एग्जीक्यूटिव (एसओई) एजेंटों के लिए एक बार के कोड थे। एक उदाहरण यह हो सकता है कि "द प्रिंसेस वेअर्स रेड शूज" या "मिमी कैट इज़ अस्लीप अंडर द टेबल"। प्रत्येक कोड मैसेज को दो बार पढ़ा गया। ऐसे तरीकों से, फ्रांसीसी रेजिस्टेंस को डी-डे से एक रात पहले रेल और अन्य ट्रांसपोर्ट लिंक में सबोटैगिंग प्रारम्भ करने का निर्देश दिया गया था।
 * पूरे स्पेन में, आसमान साफ ​​है, यह 17 जुलाई, 1936 को स्पेनिश वॉर के फैलने का संकेत था (रेडियो पर प्रसारित)।

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

वन-टाइम पैड, एक अनरिलेटेड साइफर एल्गोरिथम भी देखें

इडियट कोड
इडियट कोड एक ऐसा कोड है जो इसका उपयोग करने वाली पार्टियों द्वारा बनाया जाता है। इस प्रकार का संचार क्षेत्र में सेनाओं द्वारा उपयोग किए जाने वाले हैंड सिग्नल के समान है।

उदाहरण: कोई भी वाक्य जहां 'डे' और 'नाईट' का उपयोग किया जाता है उसका अर्थ 'अटैक' है। निम्नलिखित वाक्य में उल्लिखित स्थान अटैक किए जाने वाले स्थान को निर्दिष्ट करता है।
 * प्लेन टेक्स्ट: अटैक एक्स।
 * कोडटेक्स्ट: हम दिन-रात सड़कों पर घूमते रहे लेकिन वह नहीं मिला! कल हम एक्स में जाएंगे।

ऐसा प्रतीत होता है कि इस वर्ड का प्रारंभिक उपयोग साइंस फिक्शन बुक शुक्रवार (उपन्यास) के एक पात्र जॉर्ज पेरौल्ट द्वारा किया गया था। रॉबर्ट ए. हेनलेन द्वारा:


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

टेररिज्म विशेषज्ञ मैग्नस रैनस्टॉर्प ने कहा कि संयुक्त राज्य अमेरिका पर 11 सितंबर के अटैक को अंजाम देने वाले लोगों ने अपनी योजनाओं पर चर्चा करने के लिए बुनियादी ई-मेल और जिसे वह इडियट कोड कहते हैं, उसका उपयोग किया था।

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

एक सिंपल कोड पर फिंगरहोल्ड तथ्य यह है कि कुछ वर्ड दूसरों की तुलना में अधिक सामान्य हैं, जैसे कि अंग्रेजी में या। टेलीग्राफिक मैसेजों में, STOP (यानी, वाक्य या पैराग्राफ का अंत) के लिए कोडग्रुप आमतौर पर बहुत आम होता है। यह मैसेज की संरचना को वाक्यों के संदर्भ में परिभाषित करने में मदद करता है, न कि उनके अर्थ के रूप में, और यह क्रिप्टोएनालिटिक रूप से उपयोगी है।

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

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

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

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


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

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

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

इसके विपरीत, सिफर की सुरक्षा सामान्यतः सिफर कुंजियों की सुरक्षा पर निर्भर होती है। सिफर कुंजियाँ चुराई जा सकती हैं और लोग उनके साथ विश्वासघात कर सकते हैं, लेकिन उन्हें बदलना और डिस्ट्रीब्यूट करना बहुत आसान है।

सुपरएन्सिफ़ेरमेंट
क्रिप्टोएनालिसिस की कठिनाई को बढ़ाने के लिए किसी मैसेज को पहले एन्कोड करने के बाद उसे एन्क्रिप्ट करना आम बात थी। एक संख्यात्मक कोड के साथ, यह आमतौर पर एक एडिटिव के साथ किया जाता था - बस एक लंबी कुंजी संख्या जिसे कोड ग्रुप में नंबर-दर-नंबर जोड़ा जाता था, मॉड्यूलो 10। कोडबुक के विपरीत, एडिटिव्स को बार-बार बदला जाएगा। प्रसिद्ध जापानी नौसेना कोड, जेएन-25, इसी डिज़ाइन का था।

स्रोत

 * प्रथम विश्व युद्ध के दौरान अमेरिकी अभियान बलों में अमेरिकी सेना फील्ड कोड, विलियम फ्रीडमैन, अमेरिकी युद्ध विभाग, जून 1942। अपने ऐप में कई उदाहरण प्रदर्शित करता है एंडिक्स, बेसबॉल कोड सहित (पृष्ठ 254)
 * प्रथम विश्व युद्ध के दौरान अमेरिकी अभियान बलों में अमेरिकी सेना फील्ड कोड, विलियम फ्रीडमैन, अमेरिकी युद्ध विभाग, जून 1942। अपने ऐप में कई उदाहरण प्रदर्शित करता है एंडिक्स, बेसबॉल कोड सहित (पृष्ठ 254)
 * प्रथम विश्व युद्ध के दौरान अमेरिकी अभियान बलों में अमेरिकी सेना फील्ड कोड, विलियम फ्रीडमैन, अमेरिकी युद्ध विभाग, जून 1942। अपने ऐप में कई उदाहरण प्रदर्शित करता है एंडिक्स, बेसबॉल कोड सहित (पृष्ठ 254)
 * प्रथम विश्व युद्ध के दौरान अमेरिकी अभियान बलों में अमेरिकी सेना फील्ड कोड, विलियम फ्रीडमैन, अमेरिकी युद्ध विभाग, जून 1942। अपने ऐप में कई उदाहरण प्रदर्शित करता है एंडिक्स, बेसबॉल कोड सहित (पृष्ठ 254)

यह भी देखें

 * सिफ़र
 * कोड, इसका अधिक सामान्य संचार अर्थ है
 * ट्रेंच कोड
 * जेएन-25
 * ज़िम्मरमैन टेलीग्राम
 * कोड वार्ताकार

श्रेणी:क्रिप्टोग्राफ़ी

यह:क्रिटोग्राफिया