गुप्त कोड और अंतरिक्ष संचार के पीछे मूल बीजगणित

गुप्त कोड और अंतरिक्ष संचार के पीछे मूल बीजगणित

गुप्त कोड और अंतरिक्ष संचार प्लेटोब्लॉकचेन डेटा इंटेलिजेंस के पीछे मूल बीजगणित। लंबवत खोज. ऐ.

परिचय

अंतरिक्ष अन्वेषण के लिए जबरदस्त सटीकता की आवश्यकता होती है। जब आप निकटतम सर्विस स्टेशन से 70 मिलियन मील दूर मंगल ग्रह पर एक रोवर उतार रहे हों, तो आपको दक्षता को अधिकतम करने और अप्रत्याशित के लिए तैयार करने की आवश्यकता होती है। यह अंतरिक्ष यान के डिजाइन से लेकर डेटा ट्रांसमिशन तक हर चीज पर लागू होता है: 0 और 1 की स्थिर धारा के रूप में पृथ्वी पर लौटने वाले संदेशों में कुछ त्रुटियां होती हैं, इसलिए आपको बहुमूल्य समय और ऊर्जा बर्बाद किए बिना उन्हें पहचानने और सही करने में सक्षम होना चाहिए।

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

सुश्री अल-जबर की गणित कक्षा में दो छात्र, कला और ज़ेके, गुप्त संदेशों का आदान-प्रदान कर रहे हैं। आर्ट ने ज़ेके के नवीनतम नोट को 57 और 99 की संख्या प्रकट करने के लिए खोल दिया। वह जानता है कि उसे आपूर्ति करनी है x-अंक (3, 6) और (3, 57) बनाने के लिए 6 और 99 का समन्वय करता है। कला प्रत्येक बिंदु को रैखिक समीकरण में प्लग करती है y = Ax + B और निम्नलिखित समीकरणों की प्रणाली का उत्पादन करता है:

57 = 3A + B

99 = 6A + B

संदेश को डिकोड करने के लिए, कला को हल करना होगा A और B. वह पहले समीकरण को दूसरे से घटाकर शुरू करता है:

परिचय

यह समाप्त करता है B. इस नए समीकरण के दोनों पक्षों को 3 से विभाजित करने पर कला बताती है कि A = 14, और फिर इसे वापस पहले समीकरण में प्रतिस्थापित करने पर, 57 = 3 × 14 + Bदेता है B = 15.

कला अब जानती है कि (3, 57) और (6, 99) से गुजरने वाली रेखा को समीकरण द्वारा वर्णित किया गया है y = 14x + 15. लेकिन वह यह भी जानता है कि रीड-सोलोमन कोड में, गुणांक में गुप्त संदेश छुपा हुआ है। वह ज़ेके के संदेश को उनके सरल सहमत-वर्णमाला सिफर का उपयोग करके डिकोड करता है: 14 "एन" है और 15 "ओ" है, जो कला को बताता है कि नहीं, ज़ेके आज स्कूल के बाद वीडियो गेम नहीं खेल सकता है।

इस सरल रीड-सोलोमन कोड का रहस्य ज्यामिति के दो बुनियादी तथ्यों से शुरू होता है। सबसे पहले, किन्हीं दो बिन्दुओं से होकर जाने वाली एक अद्वितीय रेखा होती है। दूसरा, गुणांक के लिए A और B, प्रत्येक (गैर-ऊर्ध्वाधर) रेखा को रूप में लिखा जा सकता है y = Ax + B. साथ में, ये दो तथ्य इस बात की गारंटी देते हैं कि यदि आप एक रेखा पर दो बिंदुओं को जानते हैं तो आप पा सकते हैं A और B, और यदि आप जानते हैं A और B, आप रेखा के सभी बिंदुओं को जानते हैं। संक्षेप में, जानकारी का कोई भी सेट रखना रेखा को जानने के बराबर है।

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

ज़ेके के टुकड़े 57 और 99 की संख्या थे, जिन्हें उन्होंने कला को भेजा था। ये नंबर संदेश का सार्वजनिक हिस्सा हैं। कला ने अंक (3, 6) और (3, 57) को फिर से बनाने के लिए उन्हें अपने स्वयं के टुकड़ों, 6 और 99 के साथ रखा। यहां, 3 और 6 संदेश के निजी भाग का गठन करते हैं, जिस पर कला और ज़ेके पहले से सहमत थे।

दो बिंदु एक रेखा पर स्थित हैं, और संदेश को डिकोड करने के लिए, आपको केवल उस रेखा के समीकरण को खोजने की आवश्यकता है। प्रत्येक बिंदु में प्लगिंग y = Ax + B आपको उस रेखा के बारे में दो समीकरणों की एक प्रणाली देता है जो दोनों को सत्य होना चाहिए। अब रणनीति सीधी है: सिस्टम को हल करें, लाइन निर्धारित करें और संदेश को डिकोड करें।

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

अन्य एन्क्रिप्शन योजनाओं की तरह, यह सार्वजनिक और निजी जानकारी का चतुर संयोजन है जो संदेशों को सुरक्षित रखता है। ज़ेके कक्षा में अपनी संख्या 57 और 99 चिल्ला सकता है और यह कला के लिए अपने संदेश की सुरक्षा को खतरे में नहीं डालेगा (हालांकि यह उसे सुश्री अल-जबर के साथ परेशानी में डाल सकता है)। ऐसा इसलिए है क्योंकि संबंधित निजी जानकारी के बिना — the x-निर्देशांक 3 और 6 — रेखा के समीकरण की पहचान करना असंभव है। जब तक वे उन मूल्यों को अपने पास रखते हैं, वे सार्वजनिक रूप से अपने गुप्त संदेशों को सुरक्षित रूप से प्रसारित कर सकते हैं।

रेखा y = 14x + 15 दो-अक्षर के शब्द "नहीं" को प्रसारित करने के लिए ठीक है, लेकिन क्या होगा यदि छात्र एक लंबा रहस्य साझा करना चाहते हैं? यहीं पर बीजगणित, ज्यामिति और रैखिक समीकरणों की प्रणालियों की पूरी शक्ति काम आती है।

मान लीजिए ज़ेके जानना चाहता है कि आर्ट को क्या लगता है कि वह कल की अंग्रेजी परीक्षा में क्या करेगा। कला अपने तीन-अक्षर के उत्तर को 14, 59 और 82 की संख्या में परिवर्तित करती है और उन्हें ज़ेके के पास भेजती है। छात्र पहले से सहमत थे कि लंबाई 3 के रीड-सोलोमन कोड का उपयोग करते समय, उनकी निजी संख्याएं 2, 5 और 6 होती हैं, इसलिए ज़ेके बिंदुओं (2, 14), (5, 59) और (6, 82).

अब, इन तीन बिंदुओं से गुजरने वाला कोई रैखिक फलन नहीं है। लेकिन एक अनोखा द्विघात कार्य है जो करता है। और चूँकि प्रत्येक द्विघात फलन को रूप में लिखा जा सकता है y = Ax2 + Bx + C, वही सामान्य विधि लागू की जा सकती है। अंतर केवल सिस्टम के आकार का है।

प्रत्येक बिंदु में प्लगिंग y = Ax2 + Bx + C एक समीकरण उत्पन्न करता है, इसलिए तीन बिंदु तीन समीकरणों की निम्नलिखित प्रणाली का उत्पादन करते हैं:

(2, 14): 14 = 4A + 2B + C

(5, 59): 59 = 25A + 5B + C

(6, 82): 82 = 36A + 6B + C

दो अज्ञात के साथ दो समीकरणों की प्रणाली की तुलना में तीन अज्ञात के साथ तीन समीकरणों की एक प्रणाली को हल करने के लिए थोड़ा अधिक काम की आवश्यकता होती है, लेकिन लक्ष्य एक ही है: चर को खत्म करने के लिए चतुराई से समीकरणों के जोड़े को मिलाएं।

उदाहरण के लिए, यदि आप पहले समीकरण को दूसरे से घटाते हैं, तो आपको नया समीकरण 45 = 21 मिलता हैA + 3B. इसी तरह, यदि आप दूसरे समीकरण को तीसरे से घटाते हैं, तो आपको 23 = 11 मिलता हैA + B. ये बीजगणितीय जोड़तोड़ एक नई प्रणाली का उत्पादन करते हैं:

45 = 21A + 3B

23 = 11A + B

अब आपके पास "दो बटा दो" प्रणाली है: दो अज्ञात के साथ दो समीकरण। इसे हल करने के लिए, आप दूसरे समीकरण को -3 से गुणा कर सकते हैं और इसे पहले समीकरण में जोड़ सकते हैं:

परिचय

ध्यान दें कि कैसे बार-बार उन्मूलन ने तीन समीकरणों की मूल प्रणाली को एक समीकरण में बदल दिया है जिसे आसानी से हल किया जा सकता है: A = 2. पीछे की ओर काम करते हुए, आप प्लग लगा सकते हैं A = 2 को दो-दो-दो प्रणाली में समीकरणों में से एक में खोजने के लिए B = 1, और फिर प्राप्त करने के लिए दोनों मानों को मूल समीकरणों में से एक में रखें C = 4. 2, 1 और 4 पर सरल वर्णमाला सिफर का उपयोग करने के बाद, ज़ेके जानता है कि कला कल की अंग्रेजी परीक्षा में "खराब" करने जा रही है। कम से कम वह बीजगणित का बहुत अभ्यास कर रहा है।

बहुपद कार्यों के बारे में एक विशेष तथ्य के लिए धन्यवाद, आप रीड-सोलोमन कोड का उपयोग करके किसी भी लम्बाई के संदेश को प्रसारित कर सकते हैं। कुंजी यह है: किसी को भी दिया n विमान में विभिन्न बिंदुओं के साथ x-निर्देशांक, "डिग्री" का एक अनूठा बहुपद है n - 1 जो उनसे होकर गुजरता है। एक बहुपद की डिग्री अभिव्यक्ति में एक चर की उच्चतम शक्ति है, इसलिए एक द्विघात कार्य पसंद है Ax2 + Bx + C की उच्चतम शक्ति के बाद से डिग्री 2 है x 2 है। और एक रैखिक फ़ंक्शन की डिग्री 1 है, क्योंकि समीकरण में y = Ax + B, की उच्चतम शक्ति x एक्सएनएनएक्स है।

पहले उदाहरण में हमने इस तथ्य का उपयोग किया कि दो बिंदु एक अद्वितीय रैखिक, या डिग्री-1, बहुपद निर्धारित करते हैं। दूसरे में, हमने इस तथ्य पर भरोसा किया कि तीन बिंदु एक अद्वितीय डिग्री -2, या द्विघात, बहुपद निर्धारित करते हैं। और अगर आप लंबाई 10 का संदेश भेजना चाहते हैं, तो बस संदेश को डिग्री-10 बहुपद समारोह के 9 गुणांक के रूप में एन्कोड करें। एक बार जब आपका कार्य पूरा हो जाए, तो 10 जनता की गणना करें y-मान पहले से सहमत 10 निजी पर समारोह का मूल्यांकन करके x-मूल्य। एक बार जब आप ऐसा कर लेते हैं, तो आप उन्हें सुरक्षित रूप से पास कर सकते हैं y-आपके रिसीवर को डीकोड करने के लिए सार्वजनिक रूप से निर्देशांक करता है। व्यवहार में, रीड-सोलोमन कोड इससे थोड़ा अधिक जटिल हैं, अधिक परिष्कृत प्रकार के गुणांक और अनुवाद योजनाओं का उपयोग करते हुए, लेकिन मौलिक विचार समान है।

आपके संदेश को सुरक्षित रखने के अलावा, रीड-सोलोमन कोड त्रुटियों को पकड़ने और यहां तक ​​कि सही करने के सरल और कुशल तरीके भी प्रदान करते हैं। यह महत्वपूर्ण है जब भी डेटा प्रसारित या संग्रहीत किया जाता है, क्योंकि हमेशा एक मौका होता है कि कुछ जानकारी खो जाएगी या दूषित हो जाएगी।

इस समस्या का एक समाधान केवल डेटा की अतिरिक्त प्रतियां भेजना होगा। उदाहरण के लिए, ज़ेके [14, 14] के बजाय [14, 15, 15, 15, 14, 15] संदेश भेज सकता है। जब तक कला जानती है कि संदेश का प्रत्येक भाग तीन प्रतियों में भेजा जाता है, वह संदेश को डिकोड कर सकता है और त्रुटियों की जांच कर सकता है। वास्तव में, यदि उसे कोई त्रुटि मिलती है, तो उसके पास उन्हें सुधारने का एक अच्छा अवसर होता है। यदि कला [14, 14, 24, 15, 15, 15] प्राप्त करती है, तो तथ्य यह है कि पहले तीन नंबर अलग-अलग हैं जो उसे एक त्रुटि के प्रति सचेत करते हैं, और चूंकि उनमें से दो 14 हैं, वह अनुमान लगा सकता है कि 24 शायद एक होना चाहिए 14 भी। संदेश को नाराज करने के लिए कहने के बजाय, कला अपने डिकोडिंग के साथ आगे बढ़ सकती है। यह एक प्रभावी लेकिन महंगी रणनीति है। भेजने के लिए जो भी समय, ऊर्जा और प्रयास की आवश्यकता होती है n जानकारी के टुकड़े, इसके लिए तीन गुना अधिक की आवश्यकता होती है।

लेकिन रीड-सोलोमन कोड के पीछे का गणित एक कुशल विकल्प प्रदान करता है। डेटा के हर टुकड़े की कई प्रतियाँ भेजने के बजाय, आप केवल एक अतिरिक्त बिंदु भेज सकते हैं! यदि वह अतिरिक्त बिंदु आपके बहुपद से मेल खाता है, तो जानकारी सही है। यदि ऐसा नहीं होता है, तो कोई त्रुटि हुई है।

यह कैसे काम करता है यह देखने के लिए, मान लीजिए कि आप पहले उदाहरण में "नहीं" संदेश की जांच करना चाहते हैं। ज़ेके सिर्फ अतिरिक्त भेज सकता है y-कोऑर्डिनेट 155। यह मानते हुए कि वह और कला एक तीसरे निजी पर सहमत हुए x-पहले से समन्वय करें, कहते हैं x = 10, कला इस तीसरे बिंदु को उस रेखा के विरुद्ध जाँच सकती है जिसे उसने डिकोड किया था। जब वह प्लग करता है x = 10 में y = 14x + 15 और देखता है कि परिणाम 155 है, वह जानता है कि संचरण में कोई त्रुटि नहीं थी।

यह सिर्फ लाइनों के लिए काम नहीं करता है। ज़ेके को दूसरे उदाहरण में "खराब" की जाँच करने में सक्षम करने के लिए, कला भेज सकती है y = 25. यदि वे सहमत हैं कि 3 अतिरिक्त निजी है x-कोऑर्डिनेट, ज़ेके प्लग कर सकता है x = 3 उसके द्विघात फलन में y = 2x2 + x + 4 और सत्यापित करें कि बिंदु (3, 25) फिट बैठता है, फिर से एक और बिंदु के साथ एक त्रुटि मुक्त संचरण की पुष्टि करता है।

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

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

अभ्यास

1. कक्षा में उपयोग की जाने वाली उसी योजना का उपयोग करते हुए, आर्ट सार्वजनिक संख्या 33 और 57 को ज़ेके को डिकोड करने के लिए पोस्ट करता है। संदेश क्या है?

2. कला और ज़ेके कैसे सुनिश्चित कर सकते हैं कि समीकरणों की प्रणाली जो उनके निजी नंबरों से उत्पन्न होती है x = एक्सएनएनएक्स और x = 6 का हमेशा एक हल होगा?

3. अंग्रेजी परीक्षा के बारे में "खराब" के कला के संदेश के जवाब में, ज़ेके वापस [90, 387, 534] भेजता है। यह मानते हुए कि वे उसी योजना का उपयोग करते हैं जिसका उपयोग उन्होंने कक्षा में किया था, उनका संदेश क्या है?

4. लोला आपको एक रीड-सोलोमन कोड और कला और ज़ेके द्वारा उपयोग किए जाने वाले समान सरल वर्णमाला सिफर का उपयोग करके एक दो-अक्षर संदेश और एक त्रुटि-जांच संख्या भेजता है। आपने गुप्त रूप से इस पर सहमति व्यक्त की है x- 1, 3 और 10 को अग्रिम रूप से निर्देशित करता है, और लोला सार्वजनिक संख्या [27, 43, 90] प्रसारित करता है। क्या संदेश में कोई त्रुटि है?

उत्तर 1 के लिए क्लिक करें:

उसी का उपयोग कर रहे हैं x-निर्देशांक प्रारंभिक उदाहरण के रूप में अंक (3, 33) और (6, 57) उत्पन्न करता है, और इस प्रकार समीकरणों की प्रणाली:

33 = 3A + B

57 = 6A + B

पहले समीकरण को दूसरे समीकरण से घटाने पर 24 = 3 प्राप्त होता हैA, इतना A = 8. प्लगिंग A = 8 पहले समीकरण में 33 = 24 + पैदा करता है B, इतना B = 9। सरल वर्णमाला सिफर संदेश को "HI" के रूप में अनुवादित करता है।

उत्तर 2 के लिए क्लिक करें:

दो अलग-अलग का उपयोग करके x-अपने अंक उत्पन्न करने के लिए निर्देशांक (x1, y1) तथा (x2, y2), कला और ज़ेके सुनिश्चित करते हैं कि सिस्टम

y1 = Ax1 + B

y2 = Ax2 + B

हमेशा एक अनूठा समाधान होगा जो समीकरणों को घटाकर पाया जा सकता है। उदाहरण के लिए, पहले समीकरण को दूसरे से घटाना हमेशा चर को समाप्त कर देगा B और परिणाम के लिए एक समाधान A:

y2 - y1 = Ax2 - Ax1

y2 - y1 = A(x2 - x1)

$लेटेक्स ए = frac{y_2 – y_1} {x_2 – x_1}$

एक बार आपके पास है A, आप इसे खोजने के लिए किसी भी मूल समीकरण में प्लग कर सकते हैं

$लेटेक्स बी = y_1 – x_1 (frac{y_2 – y_1} {x_2 – x_1})$

यह हमेशा काम करेगा, जब तक आप शून्य से विभाजित नहीं करते हैं, इसलिए x1 और x2 भिन्न संख्याएँ होनी चाहिए। यह दिखाने की दिशा में यह पहला कदम है कि समीकरणों की बड़ी प्रणालियों का हमेशा एक अनूठा समाधान भी होगा।

उत्तर 3 के लिए क्लिक करें:

तीन बिंदु समीकरणों की निम्नलिखित प्रणाली की ओर ले जाते हैं:

(2, 90) 90 = 4A + 2B + C

(5, 387) 387 = 25A + 5B + C

(6, 534) 534 = 36A + 6B + C

समीकरणों की प्रणाली को हल करना पैदावार A = 12, B = एक्सएनएनएक्स, और C = 12, या "LOL" सरल वर्णमाला सिफर के माध्यम से अनुवाद के बाद।

उत्तर 4 के लिए क्लिक करें:

हाँ। पहले दो अंक (1, 27) और (3, 43) हैं। समीकरणों की प्रणाली

27 = A + B

43 = 3A + B

समाधान है A = एक्सएनएनएक्स और B = 19, लाइन का उत्पादन y = 8x + 19 और गुप्त संदेश “HN।” लेकिन ध्यान दें कि तीसरा बिंदु रेखा में फिट नहीं बैठता है, क्योंकि 8 × 10 + 19 99 के बराबर है, न कि 90 के। अतिरिक्त बिंदु ने एक त्रुटि प्रकट की है।

त्रुटि को ठीक करने के लिए, एक रेखीय प्रतिगमन चलाएं बिंदुओं (1, 27), (3, 43) और (10, 90) पर। यह 7 के बहुत करीब ढलान वाली एक रेखा उत्पन्न करता है, जो यह बताता है A = 7. के इस मान का उपयोग करना A, तुम खोज सकते हो B 20 होना चाहिए, और संदेश को "जाओ" के रूप में ठीक से डिकोड किया जा सकता है।

समय टिकट:

से अधिक क्वांटमगाज़ी