ऐलिस और पीटर कहें कि प्रत्येक में 4GB USB फ्लैश मेमोरी स्टिक है। वे दोनों alice_to_peter.key
(2GB) और peter_to_alice.key
(2GB) नाम की दो स्टिक्स पर मिलते हैं और सहेजते हैं जिनमें बेतरतीब ढंग से उत्पन्न बिट्स होते हैं। वे फिर कभी नहीं मिलते हैं, लेकिन इलेक्ट्रॉनिक रूप से संवाद करते हैं। ऐलिस नामक एक चर को alice_pointer
बनाए रखता है और पीटर नामक चर को बनाए रखता है peter_pointer
, दोनों शुरू में शून्य पर सेट होते हैं।
जब ऐलिस को पीटर को एक संदेश भेजने की आवश्यकता होती है, तो वह करती है ( n
संदेश का दूसरा बाइट कहां है):
encrypted_message_to_peter[n] = message_to_peter[n] XOR alice_to_peter.key[alice_pointer + n]
encrypted_payload_to_peter = alice_pointer + encrypted_message_to_peter
alice_pointer += length(encrypted_message_to_peter)
(और अधिकतम सुरक्षा के लिए, कुंजी का उपयोग किया गया भाग मिटाया जा सकता है)
पीटर ने संदेश की शुरुआत में संग्रहित किया encrypted_payload_to_peter
, पढ़ता है alice_pointer
और करता है:
message_to_peter[n] = encrypted_message_to_peter[n] XOR alice_to_peter.key[alice_pointer + n]
और अधिकतम सुरक्षा के लिए, संदेश को पढ़ने के बाद कुंजी का उपयोग किया गया भाग भी मिटा दें।
- संपादित करें: वास्तव में इस सरल एल्गोरिथ्म (अखंडता की जांच और प्रमाणीकरण के बिना) के साथ यह कदम सुरक्षा कम हो जाती है, नीचे पाओलो एम्बरमैन देखें।
जब पीटर को ऐलिस को एक संदेश भेजने की आवश्यकता होती है, तो वे इस बार के साथ peter_to_alice.key
और उल्टा करते हैं peter_pointer
।
इस तुच्छ स्कीमा के साथ वे प्रत्येक दिन अगले 50 वर्षों के लिए 2GB / (50 * 365) = ~ 115kB दोनों दिशाओं में एन्क्रिप्टेड डेटा भेज सकते हैं। यदि उन्हें भेजने के लिए अधिक डेटा की आवश्यकता होती है, तो वे बड़ी कुंजी का उपयोग कर सकते हैं, उदाहरण के लिए आज के 2TB HD (1TB कुंजी) के साथ अगले 50 वर्षों के लिए 60MB / दिन का आदान-प्रदान करना संभव होगा! यह व्यवहार में बहुत अधिक डेटा है; उदाहरण के लिए, संपीड़न का उपयोग करके यह उच्च गुणवत्ता वाले आवाज संचार के घंटे से अधिक है।
मुझे ऐसा लगता है कि एक हमलावर के पास बिना चाबी के एन्क्रिप्टेड संदेशों को पढ़ने का कोई तरीका नहीं है, क्योंकि भले ही उनके पास असीम रूप से तेज कंप्यूटर हो, लेकिन क्रूरता के बल पर वे सीमा के तहत हर संभव संदेश प्राप्त कर सकते हैं, लेकिन यह एक खगोलीय संख्या है संदेशों और हमलावर को पता नहीं है कि उनमें से कौन सा वास्तविक संदेश है।
क्या मैं सही हू? क्या यह संचार योजना वास्तव में बिल्कुल सुरक्षित है? और अगर यह सुरक्षित है, तो क्या इसका अपना नाम है? XOR एन्क्रिप्शन अच्छी तरह से जाना जाता है, लेकिन मैं इस ठोस व्यावहारिक अनुप्रयोग के नाम की तलाश कर रहा हूं, जिसमें दोनों तरफ बड़ी चाबियां हों? मैं विनम्रतापूर्वक उम्मीद कर रहा हूं कि इस एप्लिकेशन का आविष्कार मुझसे पहले किसी ने किया है। :-)
नोट: यदि यह पूरी तरह से सुरक्षित है, तो यह आश्चर्यजनक है, क्योंकि आज की कम लागत वाले बड़े भंडारण उपकरणों के साथ, यह महंगा क्वांटम क्रिप्टोग्राफी की तुलना में सुरक्षित संचार करने के लिए बहुत सस्ता होगा, और इसके बराबर सुरक्षा है!
संपादित करें:
मुझे लगता है कि यह भविष्य में अधिक व्यावहारिक होगा क्योंकि भंडारण लागत में कमी आती है।यह हमेशा के लिए सुरक्षित संचार को हल कर सकता है।आज आपके पास कोई निश्चितता नहीं है अगर कोई एक साल बाद भी मौजूदा सिफर पर सफलतापूर्वक हमला करता है और इसकी अक्सर महंगी कार्यान्वयन असुरक्षित बनाता है। संचार से पहले कई मामलों में, जब दोनों पक्ष व्यक्तिगत रूप से मिलते हैं, तो यह कुंजी उत्पन्न करने का समय होता है। मुझे लगता है कि यह सैन्य संचार के लिए एकदम सही है, उदाहरण के लिए पनडुब्बियों के बीच जिसमें बड़ी चाबियाँ के साथ एचडी हो सकते हैं, और सैन्य केंद्रीय में प्रत्येक पनडुब्बी के लिए एक एचडी हो सकता है। यह रोजमर्रा की जिंदगी में भी व्यावहारिक हो सकता है, उदाहरण के लिए अपने बैंक खाते को नियंत्रित करना, क्योंकि जब आप अपना खाता बनाते हैं तो आप बैंक से मिलते हैं आदि।