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

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

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

कोड और सिफर के बीच एक और तुलना यह है कि एक कोड सामान्यतः गणित के यूज़ के बिना सीधे एक वर्ड या वर्ड ग्रुप का रिप्रजेंटेशन करता है। इस प्रकार नंबरओं को इन तीन वैल्यू का रिप्रजेंटेशन करने के लिए कॉन्फ़िगर किया गया है: 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
 * ज़िम्मरमैन टेलीग्राम
 * कोड वार्ताकार

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

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