ChaCha20-Poly1305 एन्क्रिप्ट और डिक्रिप्ट
मुफ़्त ऑनलाइन ChaCha20-Poly1305 एन्क्रिप्ट और डिक्रिप्ट टूल। 100% स्थानीय प्रसंस्करण — आपका डेटा कभी आपके डिवाइस से नहीं जाता।
परिणाम यहां प्रदर्शित होगा...
इनपुट → एन्क्रिप्ट
Usage Guide
ChaCha20-Poly1305 के बारे में
ChaCha20-Poly1305 एक प्रमाणित एन्क्रिप्शन विथ एसोसिएटेड डेटा (AEAD) सिफर है, जो ChaCha20 स्ट्रीम सिफर को Poly1305 मैसेज ऑथेंटिकेशन कोड के साथ जोड़ता है। Daniel J. Bernstein द्वारा डिज़ाइन किया गया, यह RFC 8439 में मानकीकृत है और TLS 1.3, SSH और WireGuard में प्राथमिक सिफर सूट के रूप में अपनाया गया है। यह एकल ऑपरेशन में गोपनीयता (एन्क्रिप्शन) और अखंडता (प्रमाणीकरण) दोनों प्रदान करता है, जो जासूसी और सिफरटेक्स्ट छेड़छाड़ दोनों को रोकता है। ChaCha20-Poly1305 को हार्डवेयर AES त्वरण के बिना प्लेटफ़ॉर्म के लिए AES-GCM के सॉफ़्टवेयर-अनुकूल विकल्प के रूप में विकसित किया गया था।
उपयोग के चरण
यह टूल एन्क्रिप्शन और डिक्रिप्शन दोनों का समर्थन करता है। कुंजी आवश्यक है; नॉन्स खाली छोड़ने पर स्वतः जनरेट होता है:
कुंजी और नॉन्स प्रारूप
ChaCha20-Poly1305 निश्चित आकार के पैरामीटर का उपयोग करता है:
ChaCha20-Poly1305 बनाम AES-GCM
दोनों TLS 1.3 में AEAD सिफर हैं। प्रत्येक को कब चुनें:
FAQ
Q: आउटपुट इनपुट से लंबा क्यों है?
A: एन्क्रिप्टेड आउटपुट base64-एनकोडेड है और इसमें शामिल है: 12 बाइट नॉन्स + प्लेनटेक्स्ट लंबाई + 16 बाइट Poly1305 प्रमाणीकरण टैग। इसलिए बाइनरी ओवरहेड 28 बाइट (12 नॉन्स + 16 टैग) है, और base64 एनकोडिंग लगभग 33% अतिरिक्त लंबाई जोड़ता है।
Q: यदि मैं सिफरटेक्स्ट में छेड़छाड़ करूं तो क्या होता है?
A: ChaCha20-Poly1305 छेड़छाड़ किए गए सिफरटेक्स्ट को डिक्रिप्ट करने से इनकार करेगा। Poly1305 टैग पूरे सिफरटेक्स्ट पर गणना किया गया एक मैसेज ऑथेंटिकेशन कोड है। कोई भी संशोधन — यहां तक कि एक बिट — टैग सत्यापन विफलता का कारण बनता है, और डिक्रिप्शन फ़ंक्शन दूषित प्लेनटेक्स्ट उत्पन्न करने के बजाय एक त्रुटि लौटाता है।
Q: ChaCha20-Poly1305 सादे ChaCha20 से कैसे अलग है?
A: सादा ChaCha20 केवल गोपनीयता प्रदान करता है — यह डेटा एन्क्रिप्ट करता है लेकिन छेड़छाड़ का पता नहीं लगाता। ChaCha20-Poly1305 ChaCha20 एन्क्रिप्शन को Poly1305 प्रमाणीकरण टैग के साथ जोड़ता है, जो गोपनीयता और अखंडता दोनों प्रदान करता है। किसी भी व्यावहारिक उपयोग के लिए हमेशा सादे ChaCha20 की बजाय ChaCha20-Poly1305 पसंद करें।
Q: क्या मैं कई संदेशों के लिए एक ही कुंजी का उपयोग कर सकता हूं?
A: हां, लेकिन प्रत्येक संदेश को एक अनूठे नॉन्स का उपयोग करना होगा। (कुंजी, नॉन्स) जोड़ा कभी भी पुनः उपयोग नहीं किया जाना चाहिए। 12-बाइट नॉन्स के साथ, यादृच्छिक नॉन्स जनरेशन लगभग 1 में 296 की जन्मदिन-सीमा टकराव संभावना देता है — अरबों संदेशों के लिए सुरक्षित।
Q: क्या ChaCha20-Poly1305 क्वांटम कंप्यूटरों के प्रति प्रतिरोधी है?
A: सभी सममित सिफर की तरह, ChaCha20-Poly1305 ग्रोवर के एल्गोरिदम से प्रभावित है, जो 256-बिट सुरक्षा को 128-बिट समकक्ष तक कम करता है। 128-बिट पोस्ट-क्वांटम सुरक्षा अधिकांश अनुप्रयोगों के लिए पर्याप्त मानी जाती है। इसलिए 256-बिट कुंजी के साथ ChaCha20-Poly1305 को 128-बिट सुरक्षा स्तर पर क्वांटम-प्रतिरोधी माना जाता है, वैसे ही जैसे AES-256-GCM।
Q: 'अमान्य कुंजी, नॉन्स, या सिफरटेक्स्ट' से डिक्रिप्शन क्यों विफल होता है?
A: इस त्रुटि का अर्थ है कि प्रमाणीकरण टैग सत्यापन विफल हो गया। सामान्य कारण:
गलत कुंजी: कुंजी एन्क्रिप्शन के लिए उपयोग की गई कुंजी से मेल नहीं खाती।
दूषित सिफरटेक्स्ट: base64 स्ट्रिंग को बदला गया, काटा गया, या गलत तरीके से पेस्ट किया गया।
गैर-ChaCha20-Poly1305 डेटा डिक्रिप्ट करना: इनपुट किसी अन्य एल्गोरिदम या टूल से एन्क्रिप्ट किया गया था।
Use Cases
अनुशंसित: सममित फ़ाइल और संदेश एन्क्रिप्शन
ChaCha20-Poly1305 एक उत्कृष्ट सामान्य-उद्देश्य सममित एन्क्रिप्शन विकल्प है। इसका उपयोग WireGuard VPN में सभी टनल ट्रैफ़िक के लिए किया जाता है और TLS 1.3 में दो प्राथमिक सिफर सूट में से एक है। प्रत्येक संदेश के लिए हमेशा एक नया यादृच्छिक नॉन्स उत्पन्न करें (यह टूल इसे स्वचालित रूप से आगे जोड़ता है)।
- ✅ ChaCha20-Poly1305 (मोबाइल, क्रॉस-प्लेटफ़ॉर्म, केवल सॉफ़्टवेयर के लिए अनुशंसित)
- ✅ AES-256-GCM (AES-NI हार्डवेयर उपलब्ध होने पर अनुशंसित)
- ✅ XChaCha20-Poly1305 (विस्तारित 24-बाइट नॉन्स, बड़े-वॉल्यूम मैसेजिंग के लिए)
- ❌ नए प्रोजेक्ट के लिए अप्रमाणित सिफर (AES-CBC, सादा ChaCha20) का उपयोग न करें
अनुशंसित: मोबाइल और IoT एन्क्रिप्शन
हार्डवेयर AES त्वरण के बिना प्लेटफ़ॉर्म पर, ChaCha20-Poly1305 AES-GCM से बेहतर प्रदर्शन करता है। क्योंकि ChaCha20 सॉफ़्टवेयर-अनुकूल है, यह टाइमिंग साइड-चैनल जोखिमों के बिना सभी प्लेटफ़ॉर्म पर निरंतर समय में चलता है। Google ने इसी कारण Android TLS ट्रैफ़िक के लिए पसंदीदा सिफर के रूप में ChaCha20-Poly1305 चुना।
- ✅ ChaCha20-Poly1305 (हार्डवेयर AES के बिना सर्वश्रेष्ठ प्रदर्शन)
- ✅ AES-256-GCM (AES हार्डवेयर वाले डिवाइसों पर स्वीकार्य)
- 💡 TLS 1.3 स्वचालित रूप से बातचीत करता है — दोनों सिफर सूट अनिवार्य हैं
- ❌ प्रतिबंधित डिवाइसों पर AES-CBC का उपयोग न करें (कोई प्रमाणीकरण नहीं, धीमा)
स्वीकार्य: एन्क्रिप्टेड स्थानीय भंडारण
ChaCha20-Poly1305 स्थानीय रूप से संग्रहीत संवेदनशील डेटा की सुरक्षा कर सकता है। पासवर्ड को सीधे उपयोग करने के बजाय Argon2id का उपयोग करके उपयोगकर्ता पासवर्ड से कुंजी प्राप्त करें।
- ✅ ChaCha20-Poly1305 + Argon2id कुंजी व्युत्पत्ति (पासवर्ड-आधारित एन्क्रिप्शन)
- ✅ AES-256-GCM + PBKDF2 (FIPS-अनुपालन वातावरण)
- 💡 स्टोर करें: Argon2id पैरामीटर + नमक + ChaCha20 नॉन्स + सिफरटेक्स्ट
- ❌ स्थानीय भंडारण के लिए ECB मोड या अप्रमाणित सिफर का उपयोग न करें
अनुशंसित नहीं: बड़ी फ़ाइल एन्क्रिप्शन
मानक ChaCha20-Poly1305 प्रमाणीकरण से पहले पूरे सिफरटेक्स्ट को बफर करता है, जो बड़ी फ़ाइलों के लिए मेमोरी-गहन है। कुछ मेगाबाइट से अधिक फ़ाइलों के लिए, एक समर्पित टूल या लाइब्रेरी का उपयोग करें जो खंडित एन्क्रिप्शन को संभालती है (जैसे libsodium secretstream, age)।
- 💡 कुछ MB से बड़ी फ़ाइलों के लिए खंडित AEAD का उपयोग करें
- ✅ libsodium secretstream (स्ट्रीमिंग ChaCha20-Poly1305)
- ✅ age एन्क्रिप्शन टूल (फ़ाइल-उन्मुख, आंतरिक रूप से ChaCha20-Poly1305 का उपयोग करता है)
- ✅ स्ट्रीमिंग मोड में AES-256-GCM (हार्डवेयर-त्वरित वातावरण के लिए)
अनुशंसित नहीं: कुंजी विनिमय या प्रमाणीकरण
ChaCha20-Poly1305 एक सममित सिफर है — दोनों पक्षों को पहले से एक ही गुप्त कुंजी साझा करनी होगी। यह कुंजी वितरण समस्या को हल नहीं करता। सुरक्षित कुंजी विनिमय के लिए, एक असममित प्रोटोकॉल या TLS 1.3 जैसे पूर्ण प्रोटोकॉल का उपयोग करें। साझा रहस्यों के बिना प्रमाणीकरण के लिए, RSA या ECDSA डिजिटल हस्ताक्षर का उपयोग करें।
- ❌ ChaCha20-Poly1305 कुंजी वितरण को हल नहीं करता
- ✅ TLS 1.3 (कुंजी विनिमय + ChaCha20-Poly1305 डेटा एन्क्रिप्शन संभालता है)
- ✅ X25519 + ChaCha20-Poly1305 (Noise प्रोटोकॉल पैटर्न)
- ✅ डिजिटल हस्ताक्षर और पहचान सत्यापन के लिए RSA / ECDSA
अनुशंसित नहीं: पासवर्ड हैशिंग
सर्वोत्तम अभ्यास सारांश
- जहां AES हार्डवेयर त्वरण उपलब्ध नहीं है — मोबाइल, IoT और क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर — वहां सममित एन्क्रिप्शन के लिए ChaCha20-Poly1305 का उपयोग करें।
- प्रत्येक एन्क्रिप्शन के लिए हमेशा एक अनूठे यादृच्छिक नॉन्स का उपयोग करें। नॉन्स फ़ील्ड खाली छोड़ने पर टूल स्वचालित रूप से एक उत्पन्न करता है।
- सिफरटेक्स्ट आउटपुट में 12-बाइट नॉन्स और 16-बाइट प्रमाणीकरण टैग एम्बेडेड है — डिक्रिप्शन के लिए केवल एकल base64 स्ट्रिंग संग्रहीत करना होगा।
- (कुंजी, नॉन्स) जोड़े का कभी पुनः उपयोग न करें। नॉन्स पुनः उपयोग ChaCha20-Poly1305 सुरक्षा को पूरी तरह तोड़ देता है।
- पासवर्ड-आधारित एन्क्रिप्शन के लिए, पहले Argon2id से कुंजी प्राप्त करें — पासवर्ड को सीधे ChaCha20-Poly1305 कुंजी के रूप में कभी उपयोग न करें।