यह क्या करता है
AES (Advanced Encryption Standard) वह सिमेट्रिक सिफ़र है जो लगभग हर जगह इस्तेमाल होता है: HTTPS, डिस्क एन्क्रिप्शन, पासवर्ड मैनेजर और मैसेजिंग ऐप। एक ही गुप्त कुंजी एन्क्रिप्ट और डिक्रिप्ट दोनों करती है। यह टूल टेक्स्ट को ऐसे Base64 में एन्क्रिप्ट करता है जिसे कहीं भी पेस्ट किया जा सके, और फिर डिक्रिप्ट भी करता है।
आप इस्तेमाल कर सकते हैं:
- पासफ़्रेज़, जिसे PBKDF2-HMAC-SHA256 और रैंडम सॉल्ट से 128 या 256-बिट कुंजी में बदला जाता है, या
- hex कुंजी: 32 या 64 hex अंक (128 या 256 बिट), सीधे इस्तेमाल। नई बनाने के लिए रैंडम कुंजी दबाएँ।
दो ऑपरेशन मोड हैं। AES-GCM आधुनिक डिफ़ॉल्ट है और छेड़छाड़ पकड़ता है। PKCS#7 पैडिंग वाला AES-CBC पुराने सिस्टम से अनुकूलता के लिए दिया गया है।
इस्तेमाल कैसे करें
- एन्क्रिप्ट या डिक्रिप्ट, एल्गोरिदम और कुंजी का प्रकार चुनें।
- इनपुट बॉक्स के ऊपर पासफ़्रेज़ लिखें या hex कुंजी पेस्ट करें।
- टेक्स्ट (या डिक्रिप्ट करने वाला Base64) पेस्ट करें। नतीजा दाईं ओर दिखता है; इनपुट के रूप में उपयोग करें दिशा बदलकर आना-जाना जाँचने देता है।
आउटपुट फ़ॉर्मैट
आउटपुट एक ही Base64 स्ट्रिंग है, ताकि ईमेल और चैट में न बिगड़े:
passphrase: salt (16 bytes) | IV (12 GCM / 16 CBC) | ciphertext (+ 16-byte tag for GCM)
hex key: IV (12 GCM / 16 CBC) | ciphertext (+ 16-byte tag for GCM)
डिक्रिप्ट करने के लिए वही एल्गोरिदम, कुंजी का प्रकार, कुंजी का आकार और इटरेशन संख्या इस्तेमाल करें जो एन्क्रिप्ट करते समय थी। ये सेटिंग पेज के पते में रहती हैं, इसलिए शेयर किया गया लिंक इन्हें ले जाता है, जबकि कुंजी आपके पास रहती है।
पासफ़्रेज़ चुनना
PBKDF2 हर अनुमान को धीमा करता है, पर छोटे या आम पासफ़्रेज़ को नहीं बचा सकता। लंबा, रैंडम पासफ़्रेज़ इस्तेमाल करें, जैसे पासवर्ड जनरेटर से, और उसे सिफ़रटेक्स्ट से अलग चैनल से भेजें। ज़्यादा इटरेशन अनुमान को कठिन और डिक्रिप्शन को थोड़ा धीमा बनाते हैं; आम तौर पर 1,00,000 से 6,00,000 रखे जाते हैं।
अक्सर पूछे जाने वाले सवाल
› GCM चुनूँ या CBC?
जब तक कोई दूसरा सिस्टम CBC न माँगे, GCM चुनें। GCM प्रमाणित होता है, इसलिए गलत कुंजी या एक भी बदला हुआ बाइट पकड़ लिया जाता है, कचरा आउटपुट नहीं बनता। CBC सिर्फ़ गोपनीयता देता है और मुख्य रूप से पुराने कोड से अनुकूलता के लिए है।
› हर बार सिफ़रटेक्स्ट अलग क्यों होता है?
हर एन्क्रिप्शन में नया रैंडम IV और पासफ़्रेज़ होने पर नया रैंडम सॉल्ट भी इस्तेमाल होता है। दोनों आउटपुट की शुरुआत में सेव रहते हैं, इसलिए डिक्रिप्शन फिर भी होता है। एक ही कुंजी के साथ IV दोबारा इस्तेमाल करना, ख़ासकर GCM में, गंभीर कमज़ोरी होगी।
› अपने कोड में आउटपुट को डिक्रिप्ट कैसे करूँ?
Base64 डिकोड करें। पासफ़्रेज़ के साथ पहले 16 बाइट PBKDF2 सॉल्ट हैं, फिर IV (GCM में 12 बाइट, CBC में 16), फिर सिफ़रटेक्स्ट। उसी इटरेशन संख्या के साथ PBKDF2-HMAC-SHA256 से कुंजी निकालें। Hex कुंजी में सॉल्ट नहीं होता। GCM में आख़िरी 16 बाइट ऑथेंटिकेशन टैग हैं।
› क्या मेरा पासफ़्रेज़ या कुंजी कहीं सेव या भेजी जाती है?
नहीं। एन्क्रिप्शन आपके ब्राउज़र में Web Crypto API से होता है। पासफ़्रेज़ या कुंजी सिर्फ़ इस पेज की मेमोरी में रहती है: न सेव होती है, न एड्रेस बार में लिखी जाती है, न शेयर लिंक में जाती है, इसलिए आप एन्क्रिप्टेड संदेश बिना कुंजी के शेयर कर सकते हैं।