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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

स्रोत

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

यह भी देखें

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

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

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