चाचा20-पॉली1305 (ChaCha20-Poly1305)

चाचा20-पॉली1305 अतिरिक्त डेटा (AEAD) एल्गोरिदम के साथ प्रमाणित एन्क्रिप्शन है, जो चाचा20 स्ट्रीम सिफर को पॉली1305 संदेश अभिप्रमाणन    कोड के साथ जोड़ता है। IETF प्रोटोकॉल में इसका उपयोग RFC 8439 में मानकीकृत है। इसमें तीव्र सॉफ्टवेयर प्रदर्शन है, और हार्डवेयर त्वरण के बिना, आमतौर पर AES-GCM से तीव्रतर है।

इतिहास
निर्माण के दो मूलभूत अंग, एल्गोरिदम पॉली1305 और चाचा20, दोनों स्वतंत्र रूप से 2005 और 2008 में, डैनियल जे बर्नस्टीन द्वारा रूपांकित किए गए थे |

2013-2014 में, मूल चाचा20 एल्गोरिथ्म के एक प्रकार (वैरियंट) (32-बिट काउंटर और 96-बिट नॉन का उपयोग करके) और मूल पॉली1305 (2 शृंखलाओं को प्रमाणित करना) के एक प्रकार को TLS और DTLS में उपयोग किए जाने वाले IETF प्रारूप में संयुक्त किया गया था, और गूगल द्वारा सुरक्षा और प्रदर्शन कारणों से एक नए समर्थित सिफर के रूप में चुना गया है। TLS के लिए गूगल के स्वीकरण के तुरंत बाद, चाचा20, पॉली1305 और संयुक्त AEAD मोड को chacha20-poly1305@openssh.com प्रमाणित एन्क्रिप्शन सिफर के माध्यम से OpenSSH में जोड़ा गया, लेकिन चाचा20 एल्गोरिथम के लिए मूल 64-बिट काउंटर और 64-बिट नॉन को रखा गया है।

2015 में, AEAD एल्गोरिथ्म को RFC 7539 और RFC 7905 में TLS 1.2 और DTLS 1.2 में और RFC 7634 में IPsec में उपयोग करने के लिए मानकीकृत किया गया है। उसी वर्ष, यह क्लाउडफ्लेयर में एक वैकल्पिक सिफरसुइट के रूप में एकीकृत है।

जून 2018 में, RFC 7539 को अद्यतन किया गया और RFC 8439 द्वारा प्रतिस्थापित किया गया था।

विवरण
RFC 8439 में वर्णित चाचा20-पॉली1305 एल्गोरिथ्म 128-बिट (अंकितक आकार) के सिफरटेक्स्ट विस्तार के साथ एक सादे पाठ (प्लेनटेक्स्ट) को एन्क्रिप्ट करने के लिए इनपुट के रूप में 256-बिट मुख्य और 96-बिट अस्थायी रूप से लेता है। चाचा20-पॉली1305 निर्माण में, चाचा20 का उपयोग काउंटर मोड में एक प्रमुख धारा को प्राप्त करने के लिए किया जाता है जो सादे पाठ के साथ XORed है। सिफरटेक्स्ट और संबंधित डेटा को तब पॉली1305 के एक प्रकार का उपयोग करके प्रमाणित किया जाता है जो पहले दो श्रृंखलाओं को एक में कोडन करता है।

Xचाचा20-पॉली1305 - विस्तारित गैर संस्करण
Xचाचा20-पॉली1305 निर्माण चाचा20-पॉली1305 निर्माण का एक विस्तारित 192-बिट नॉन वेरिएंट है, जिसमें साल्सा20#चाचा संस्करण के बजाय साल्सा20#XChaCha का उपयोग किया गया है। बेतरतीब ढंग से गैर चुनते समय, Xचाचा20-पॉली1305 निर्माण मूल निर्माण की तुलना में बेहतर सुरक्षा की अनुमति देता है। निर्माण के मानकीकरण का मसौदा प्रयास जुलाई 2020 में समाप्त हो गया।

साल्सा20-पॉली1305 और एक्ससालसा20-पॉली1305
Salsa20-पॉली1305 और XSalsa20-पॉली1305 चाचा20-पॉली1305 और #Xचाचा20-पॉली1305 - विस्तारित नॉन वैरिएंट के वेरिएंट हैं। Xचाचा20-पॉली1305 एल्गोरिदम, चाचा20 और XChaCha के स्थान पर 192-बिट नॉन के साथ Salsa20 और Salsa20#XSalsa20 का उपयोग करते हुए 20. वे NaCl (सॉफ्टवेयर) में लागू होते हैं और लिबसोडियम लेकिन मानकीकृत नहीं। अभ्यास में चाचा का उपयोग करने वाले रूपों को प्राथमिकता दी जाती है क्योंकि वे सालसा की तुलना में बेहतर भ्रम और प्रसार # प्रसार प्रति दौर प्रदान करते हैं।

प्रयोग
चाचा20-पॉली1305 इप्सेक्ट्रेस में प्रयोग किया जाता है, एसएसएच, ट्रांसपोर्ट लेयर सिक्योरिटी#TLS 1.2|TLS 1.2, डेटाग्राम ट्रांसपोर्ट लेयर सिक्योरिटी 1.2, ट्रांसपोर्ट लेयर सिक्योरिटी#TLS 1.3|TLS 1.3,, वायरगार्ड, एस/माइम|एस/माइम 4.0, -द-रिकॉर्ड मैसेजिंग v4 और कई अन्य प्रोटोकॉल। इसका उपयोग Borg_(backup_software)|.0 जैसे सॉफ्टवेयर में किया जाता है मानक डेटा एन्क्रिप्शन के रूप में। दूसरों के बीच, इसे ओपनएसएसएल और लिबसोडियम में लागू किया गया है।

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

सुरक्षा
चाचा20-पॉली1305 निर्माण एकल और बहु-उपयोगकर्ता सेटिंग के लिए मानक मॉडल (क्रिप्टोग्राफी) और रैंडम ऑरेकल#आदर्श क्रमपरिवर्तन में सुरक्षित साबित हुआ है। हालाँकि, गैलोज़/काउंटर मोड के समान, सुरक्षा एन्क्रिप्टेड प्रत्येक संदेश के लिए एक अद्वितीय क्रिप्टोग्राफ़िक नॉन चुनने पर निर्भर करती है। AES-GCM की तुलना में, चाचा20-पॉली1305 का क्रियान्वयन समय के हमलों के प्रति कम संवेदनशील है।

यह भी देखें

 * प्रमाणित एन्क्रिप्शन
 * गाल्वा / काउंटर मोड
 * सालसा20
 * पॉली1305

बाहरी संबंध

 * RFC 8439: चाचा20 and पॉली1305 for IETF Protocols
 * RFC 7634: चाचा20, पॉली1305, and Their Use in the Internet Key Exchange Protocol (IKE) and IPsec
 * RFC 7905: चाचा20-पॉली1305 Cipher Suites for Transport Layer Security (TLS)
 * RFC 8103: Using चाचा20-पॉली1305 Authenticated Encryption in the Cryptographic Message Syntax (CMS)