ChaCha20-Poly1305 एन्क्रिप्ट और डिक्रिप्ट

मुफ़्त ऑनलाइन ChaCha20-Poly1305 एन्क्रिप्ट और डिक्रिप्ट टूल। 100% स्थानीय प्रसंस्करण — आपका डेटा कभी आपके डिवाइस से नहीं जाता।

National Standards
Legacy
आउटपुट

परिणाम यहां प्रदर्शित होगा...

इनपुट एन्क्रिप्ट

Usage Guide

ChaCha20-Poly1305 के बारे में

ChaCha20-Poly1305 एक प्रमाणित एन्क्रिप्शन विथ एसोसिएटेड डेटा (AEAD) सिफर है, जो ChaCha20 स्ट्रीम सिफर को Poly1305 मैसेज ऑथेंटिकेशन कोड के साथ जोड़ता है। Daniel J. Bernstein द्वारा डिज़ाइन किया गया, यह RFC 8439 में मानकीकृत है और TLS 1.3, SSH और WireGuard में प्राथमिक सिफर सूट के रूप में अपनाया गया है। यह एकल ऑपरेशन में गोपनीयता (एन्क्रिप्शन) और अखंडता (प्रमाणीकरण) दोनों प्रदान करता है, जो जासूसी और सिफरटेक्स्ट छेड़छाड़ दोनों को रोकता है। ChaCha20-Poly1305 को हार्डवेयर AES त्वरण के बिना प्लेटफ़ॉर्म के लिए AES-GCM के सॉफ़्टवेयर-अनुकूल विकल्प के रूप में विकसित किया गया था।

आधुनिक TLS मानक: ChaCha20-Poly1305 TLS 1.3 में दो अनिवार्य सिफर सूट में से एक है (AES-256-GCM के साथ)। मोबाइल और IoT डिवाइसों पर यह पसंदीदा विकल्प है, और सभी प्लेटफ़ॉर्म पर AES-256-GCM के समान सुरक्षा स्तर प्रदान करता है।

उपयोग के चरण

यह टूल एन्क्रिप्शन और डिक्रिप्शन दोनों का समर्थन करता है। कुंजी आवश्यक है; नॉन्स खाली छोड़ने पर स्वतः जनरेट होता है:

1. कुंजी जनरेट करें या दर्ज करें'Secret Key' के बगल में रैंडम बटन क्लिक करें एक यादृच्छिक 32-बाइट (256-बिट) कुंजी जनरेट करने के लिए, या अपनी 32-वर्ण की स्ट्रिंग दर्ज करें
2. नॉन्स (वैकल्पिक)प्रत्येक एन्क्रिप्शन के लिए यादृच्छिक 12-बाइट नॉन्स ऑटो-जनरेट करने के लिए खाली छोड़ें। डिक्रिप्शन के लिए, नॉन्स सिफरटेक्स्ट में एम्बेडेड है — यह फ़ील्ड खाली छोड़ें
3. एन्क्रिप्ट करेंइनपुट बॉक्स में प्लेनटेक्स्ट दर्ज करें, 'एन्क्रिप्ट' चुनें और 'एन्क्रिप्ट' क्लिक करें। आउटपुट एक base64 स्ट्रिंग है जिसमें सिफरटेक्स्ट+टैग के आगे 12-बाइट नॉन्स है
4. डिक्रिप्ट करेंbase64 सिफरटेक्स्ट इनपुट बॉक्स में पेस्ट करें, 'डिक्रिप्ट' चुनें, एन्क्रिप्शन के लिए उपयोग की गई समान कुंजी दर्ज करें, और 'डिक्रिप्ट' क्लिक करें
गोपनीयता सुरक्षा: सभी ChaCha20-Poly1305 ऑपरेशन WebAssembly का उपयोग करके पूरी तरह से आपके ब्राउज़र में चलते हैं। कोई डेटा कभी सर्वर पर नहीं भेजा जाता — पूरी तरह से ऑफलाइन प्रोसेसिंग।

कुंजी और नॉन्स प्रारूप

ChaCha20-Poly1305 निश्चित आकार के पैरामीटर का उपयोग करता है:

कुंजी32 बाइट (256 बिट) — 32-वर्ण की स्ट्रिंग के रूप में दर्ज करें, या रैंडम जनरेटर का उपयोग करें
नॉन्स12 बाइट (96 बिट) — 12-वर्ण की स्ट्रिंग के रूप में दर्ज करें, या ऑटो-जनरेशन के लिए खाली छोड़ें। समान कुंजी के साथ कभी भी एक ही नॉन्स पुनः उपयोग न करें
सिफरटेक्स्ट प्रारूपbase64(नॉन्स[12 बाइट] + सिफरटेक्स्ट + प्रमाणीकरण टैग[16 बाइट])। नॉन्स आगे जोड़ा गया है ताकि डिक्रिप्शन स्व-निहित हो
टैग16 बाइट (128 बिट) Poly1305 प्रमाणीकरण टैग, एन्क्रिप्शन के दौरान स्वतः जोड़ा जाता है और डिक्रिप्शन के दौरान स्वतः सत्यापित होता है
नॉन्स कभी पुनः उपयोग न करें: समान (कुंजी, नॉन्स) जोड़े का पुनः उपयोग ChaCha20-Poly1305 सुरक्षा को पूरी तरह तोड़ देता है — एक हमलावर कीस्ट्रीम को पुनः प्राप्त कर सभी संदेशों को डिक्रिप्ट कर सकता है। हमेशा प्रत्येक एन्क्रिप्शन के लिए एक अनूठा नॉन्स उपयोग करें, या इस टूल को एक स्वतः जनरेट करने दें।

ChaCha20-Poly1305 बनाम AES-GCM

दोनों TLS 1.3 में AEAD सिफर हैं। प्रत्येक को कब चुनें:

ChaCha20-Poly1305हार्डवेयर AES के बिना मोबाइल, ARM और IoT डिवाइसों पर पसंदीदा। सॉफ़्टवेयर में निरंतर समय, टाइमिंग हमलों के प्रति प्रतिरोधी। कोई हार्डवेयर त्वरक आवश्यक नहीं
AES-GCMAES-NI हार्डवेयर निर्देश उपलब्ध होने पर पसंदीदा (अधिकांश आधुनिक x86/x64 CPU)। हार्डवेयर त्वरण के साथ काफी तेज़
सुरक्षा समानतादोनों 256-बिट कुंजी शक्ति और 128-बिट प्रमाणीकरण टैग प्रदान करते हैं। सुरक्षा दृष्टिकोण से कोई भी दूसरे से मजबूत नहीं माना जाता
TLS 1.3 रणनीतिTLS 1.3 कार्यान्वयन बातचीत करते हैं: AES-NI वाले सर्वर/डेस्कटॉप पर AES-GCM; हार्डवेयर AES के बिना मोबाइल क्लाइंट पर ChaCha20-Poly1305

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 में दो प्राथमिक सिफर सूट में से एक है। प्रत्येक संदेश के लिए हमेशा एक नया यादृच्छिक नॉन्स उत्पन्न करें (यह टूल इसे स्वचालित रूप से आगे जोड़ता है)।

Recommended Configuration:
  • ✅ 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 चुना।

Recommended Configuration:
  • ✅ ChaCha20-Poly1305 (हार्डवेयर AES के बिना सर्वश्रेष्ठ प्रदर्शन)
  • ✅ AES-256-GCM (AES हार्डवेयर वाले डिवाइसों पर स्वीकार्य)
  • 💡 TLS 1.3 स्वचालित रूप से बातचीत करता है — दोनों सिफर सूट अनिवार्य हैं
  • ❌ प्रतिबंधित डिवाइसों पर AES-CBC का उपयोग न करें (कोई प्रमाणीकरण नहीं, धीमा)
स्वीकार्य: एन्क्रिप्टेड स्थानीय भंडारण

ChaCha20-Poly1305 स्थानीय रूप से संग्रहीत संवेदनशील डेटा की सुरक्षा कर सकता है। पासवर्ड को सीधे उपयोग करने के बजाय Argon2id का उपयोग करके उपयोगकर्ता पासवर्ड से कुंजी प्राप्त करें।

Recommended Configuration:
  • ✅ ChaCha20-Poly1305 + Argon2id कुंजी व्युत्पत्ति (पासवर्ड-आधारित एन्क्रिप्शन)
  • ✅ AES-256-GCM + PBKDF2 (FIPS-अनुपालन वातावरण)
  • 💡 स्टोर करें: Argon2id पैरामीटर + नमक + ChaCha20 नॉन्स + सिफरटेक्स्ट
  • ❌ स्थानीय भंडारण के लिए ECB मोड या अप्रमाणित सिफर का उपयोग न करें
अनुशंसित नहीं: बड़ी फ़ाइल एन्क्रिप्शन

मानक ChaCha20-Poly1305 प्रमाणीकरण से पहले पूरे सिफरटेक्स्ट को बफर करता है, जो बड़ी फ़ाइलों के लिए मेमोरी-गहन है। कुछ मेगाबाइट से अधिक फ़ाइलों के लिए, एक समर्पित टूल या लाइब्रेरी का उपयोग करें जो खंडित एन्क्रिप्शन को संभालती है (जैसे libsodium secretstream, age)।

Recommended Configuration:
  • 💡 कुछ MB से बड़ी फ़ाइलों के लिए खंडित AEAD का उपयोग करें
  • ✅ libsodium secretstream (स्ट्रीमिंग ChaCha20-Poly1305)
  • ✅ age एन्क्रिप्शन टूल (फ़ाइल-उन्मुख, आंतरिक रूप से ChaCha20-Poly1305 का उपयोग करता है)
  • ✅ स्ट्रीमिंग मोड में AES-256-GCM (हार्डवेयर-त्वरित वातावरण के लिए)
अनुशंसित नहीं: कुंजी विनिमय या प्रमाणीकरण

ChaCha20-Poly1305 एक सममित सिफर है — दोनों पक्षों को पहले से एक ही गुप्त कुंजी साझा करनी होगी। यह कुंजी वितरण समस्या को हल नहीं करता। सुरक्षित कुंजी विनिमय के लिए, एक असममित प्रोटोकॉल या TLS 1.3 जैसे पूर्ण प्रोटोकॉल का उपयोग करें। साझा रहस्यों के बिना प्रमाणीकरण के लिए, RSA या ECDSA डिजिटल हस्ताक्षर का उपयोग करें।

Recommended Configuration:
  • ❌ ChaCha20-Poly1305 कुंजी वितरण को हल नहीं करता
  • ✅ TLS 1.3 (कुंजी विनिमय + ChaCha20-Poly1305 डेटा एन्क्रिप्शन संभालता है)
  • ✅ X25519 + ChaCha20-Poly1305 (Noise प्रोटोकॉल पैटर्न)
  • ✅ डिजिटल हस्ताक्षर और पहचान सत्यापन के लिए RSA / ECDSA
अनुशंसित नहीं: पासवर्ड हैशिंग

ChaCha20-Poly1305 एक एन्क्रिप्शन एल्गोरिदम है, पासवर्ड हैश फ़ंक्शन नहीं। एन्क्रिप्शन प्रतिवर्ती है — कुंजी वाला कोई भी पासवर्ड डिक्रिप्ट कर सकता है। पासवर्ड भंडारण के लिए Argon2id (पसंदीदा) या bcrypt का उपयोग करें।

Recommended Configuration:
  • ❌ पासवर्ड भंडारण के लिए ChaCha20-Poly1305 का उपयोग न करें (यह प्रतिवर्ती है)
  • Argon2id (पसंदीदा पासवर्ड हैशिंग एल्गोरिदम)
  • bcrypt (व्यापक रूप से समर्थित, मौजूदा सिस्टम)
  • ✅ scrypt / PBKDF2 (वैकल्पिक पासवर्ड KDF)

सर्वोत्तम अभ्यास सारांश

  • जहां AES हार्डवेयर त्वरण उपलब्ध नहीं है — मोबाइल, IoT और क्रॉस-प्लेटफ़ॉर्म सॉफ़्टवेयर — वहां सममित एन्क्रिप्शन के लिए ChaCha20-Poly1305 का उपयोग करें।
  • प्रत्येक एन्क्रिप्शन के लिए हमेशा एक अनूठे यादृच्छिक नॉन्स का उपयोग करें। नॉन्स फ़ील्ड खाली छोड़ने पर टूल स्वचालित रूप से एक उत्पन्न करता है।
  • सिफरटेक्स्ट आउटपुट में 12-बाइट नॉन्स और 16-बाइट प्रमाणीकरण टैग एम्बेडेड है — डिक्रिप्शन के लिए केवल एकल base64 स्ट्रिंग संग्रहीत करना होगा।
  • (कुंजी, नॉन्स) जोड़े का कभी पुनः उपयोग न करें। नॉन्स पुनः उपयोग ChaCha20-Poly1305 सुरक्षा को पूरी तरह तोड़ देता है।
  • पासवर्ड-आधारित एन्क्रिप्शन के लिए, पहले Argon2id से कुंजी प्राप्त करें — पासवर्ड को सीधे ChaCha20-Poly1305 कुंजी के रूप में कभी उपयोग न करें।

चर्चा और प्रतिक्रिया

0 टिप्पणियां
मैं