एकाधिक एन्क्रिप्शन

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

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

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

उस जोखिम को रोकने के लिए, कोई कुंजी का उपयोग कर सकता है जो प्रत्येक परत के लिए सांख्यिकीय स्वतंत्रता है (उदाहरण के लिए स्वतंत्र यादृच्छिक संख्या जनरेटर)।

आदर्श रूप से प्रत्येक कुंजी में अलग और अलग पीढ़ी, साझाकरण और प्रबंधन प्रक्रियाएं होनी चाहिए।

स्वतंत्र प्रारंभिक वैक्टर
एन/डिक्रिप्शन प्रक्रियाओं के लिए जिन्हें प्रारंभिक वेक्टर (IV)क्रिप्टोग्राफ़िक अस्थायी को साझा करने की आवश्यकता होती है, ये आमतौर पर, खुले तौर पर साझा किए जाते हैं या प्राप्तकर्ता (और बाकी सभी) को ज्ञात किए जाते हैं। इसकी अच्छी सुरक्षा नीति कभी भी एक ही कुंजी और IV का उपयोग करते समय प्लेनटेक्स्ट और सिफरटेक्स्ट दोनों में समान डेटा प्रदान नहीं करती है। इसलिए, एन्क्रिप्शन की प्रत्येक परत के लिए अलग-अलग IVs का उपयोग करने के लिए इसकी अनुशंसा की जाती है (हालांकि इस समय विशिष्ट साक्ष्य के बिना)।

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

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

इस तरह के हमले को रोकने के लिए, ब्रूस श्नेयर द्वारा प्रदान की गई विधि का उपयोग किया जा सकता है:
 * प्लेनटेक्स्ट के समान आकार का एक यादृच्छिक पैड आर उत्पन्न करें।
 * पहले सिफर और कुंजी का उपयोग करके R को एन्क्रिप्ट करें।
 * पैड के साथ प्लेनटेक्स्ट को XOR करें, फिर दूसरे सिफर और एक अलग (!) कुंजी का उपयोग करके परिणाम को एन्क्रिप्ट करें।
 * अंतिम सिफरटेक्स्ट बनाने के लिए दोनों सिफरटेक्स्ट को जोड़ें।

एक क्रिप्ट एनालिस्ट को कोई भी जानकारी प्राप्त करने के लिए दोनों सिफर को तोड़ना चाहिए। हालाँकि, इसमें सिफरटेक्स्ट को मूल प्लेनटेक्स्ट के रूप में दो बार लंबा करने की खामी होगी।

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

दो का नियम
दो का नियम राष्ट्रीय सुरक्षा एजेंसी का एक डेटा सुरक्षा सिद्धांत है | NSA का वाणिज्यिक समाधान वर्गीकृत कार्यक्रम (CSfC) के लिए। यह डेटा की सुरक्षा के लिए क्रिप्टोग्राफी की दो पूरी तरह से स्वतंत्र परतों को निर्दिष्ट करता है। उदाहरण के लिए, डेटा को निम्नतम स्तर पर हार्डवेयर एन्क्रिप्शन और एप्लिकेशन स्तर पर सॉफ़्टवेयर एन्क्रिप्शन दोनों द्वारा संरक्षित किया जा सकता है। इसका मतलब डेटा को एन/डिक्रिप्ट करने के लिए विभिन्न विक्रेताओं से दो संघीय सूचना प्रसंस्करण मानकों-मान्य सॉफ़्टवेयर क्रिप्टोमॉड्यूल का उपयोग करना हो सकता है।

घटकों की परतों के बीच विक्रेता और / या मॉडल विविधता का महत्व इस संभावना को दूर करने के आसपास केंद्रित है कि निर्माता या मॉडल एक भेद्यता साझा करेंगे। इस तरह यदि एक घटक से छेड़छाड़ की जाती है तो अभी भी एन्क्रिप्शन की एक पूरी परत शेष या पारगमन में जानकारी की सुरक्षा करती है। CSfC प्रोग्राम दो तरह से विविधता प्राप्त करने के लिए समाधान प्रदान करता है। पहला विभिन्न निर्माताओं द्वारा उत्पादित घटकों का उपयोग करके प्रत्येक परत को लागू करना है। दूसरा उसी निर्माता से घटकों का उपयोग करना है, जहां वह निर्माता ने NSA को पर्याप्त साक्ष्य प्रदान किया है कि दो घटकों का कार्यान्वयन एक दूसरे से स्वतंत्र है। NSA के सुरक्षित मोबाइल फोन जिसे फिशबाउल कहा जाता है, में इस सिद्धांत का पालन किया जाता है। आवाज संचार की सुरक्षा के लिए फोन एन्क्रिप्शन प्रोटोकॉल, IPsec और सुरक्षित वास्तविक समय परिवहन प्रोटोकॉल (SRTP) की दो परतों का उपयोग करते हैं। सैमसंग गैलेक्सी ज़िया सामरिक संस्करण भी एक स्वीकृत CSfC घटक है।

उदाहरण
सॉफ्टवेयर एप्लिकेशन गोल्डबग मैसेंजर द्वारा उपयोग किए जाने वाले इको प्रोटोकॉल के संदर्भ में एन्क्रिप्टेड कैप्सूल कैसे बनता है, यह आंकड़ा अंदर से बाहर की प्रक्रिया को दिखाता है। गोल्डबग ने प्रामाणिकता और गोपनीयता के लिए एक हाइब्रिड सिस्टम लागू किया है। एन्क्रिप्शन की पहली परत: मूल पठनीय संदेश का सिफरटेक्स्ट हैशेड है, और बाद में सममित कुंजियों को असममित कुंजी के माध्यम से एन्क्रिप्ट किया जाता है - उदा। एल्गोरिथ्म आरएसए की तैनाती। एक मध्यवर्ती चरण में सिफरटेक्स्ट और सिफरटेक्स्ट के हैश डाइजेस्ट को एक कैप्सूल में संयोजित किया जाता है, और एक साथ पैक किया जाता है। यह दृष्टिकोण का अनुसरण करता है: w:Authenticated encryption#Encrypt-then-MAC|Encrypt-then-MAC। रिसीवर के लिए यह सत्यापित करने के लिए कि सिफरटेक्स्ट के साथ छेड़छाड़ नहीं की गई है, सिफरटेक्स्ट के डिक्रिप्ट होने से पहले डाइजेस्ट की गणना की जाती है।

एन्क्रिप्शन की दूसरी परत: वैकल्पिक रूप से यह अभी भी संभव है, इसलिए w:Advanced Encryption Standard|AES-256 के साथ पहली परत के कैप्सूल को एन्क्रिप्ट करना - सामान्य रूप से साझा किए जाने वाले, 32-वर्ण लंबे सममित पासवर्ड के बराबर है। हाइब्रिड एन्क्रिप्शन को फिर कई एन्क्रिप्शन में जोड़ा जाता है।

एन्क्रिप्शन की तीसरी परत: फिर, यह कैप्सूल एक सुरक्षित w:Transport Layer Security|SSL/TLS कनेक्शन के माध्यम से संचार भागीदार को प्रेषित किया जाता है

अग्रिम पठन

 * "Multiple encryption" in "Ritter's Crypto Glossary and Dictionary of Technical Cryptography"
 * Confidentiality through Multi-Encryption, in: Adams, David / Maier, Ann-Kathrin (2016): BIG SEVEN Study, open source crypto-messengers to be compared - or: Comprehensive Confidentiality Review & Audit of GoldBug, Encrypting E-Mail-Client & Secure Instant Messenger, Descriptions, tests and analysis reviews of 20 functions of the application GoldBug based on the essential fields and methods of evaluation of the 8 major international audit manuals for IT security investigations including 38 figures and 87 tables., URL: https://sf.net/projects/goldbug/files/bigseven-crypto-audit.pdf - English / German Language, Version 1.1, 305 pages, June 2016 (ISBN: DNB 110368003X - 2016B14779).
 * A "way to combine multiple block algorithms" so that "a cryptanalyst must break both algorithms" in §15.8 of Applied Cryptography, Second Edition: Protocols, Algorithms, and Source Code in C by Bruce Schneier. Wiley Computer Publishing, John Wiley & Sons, Inc.
 * S. Even and O. Goldreich, On the power of cascade ciphers, ACM Transactions on Computer Systems, vol. 3, pp. 108–116, 1985.
 * M. Maurer and J. L. Massey, Cascade ciphers: The importance of being first, Journal of Cryptology, vol. 6, no. 1, pp. 55–61, 1993.