Blowfish एन्क्रिप्शन और डिक्रिप्शन

Blowfish (4–56 बाइट कीज़) से एन्क्रिप्ट या डिक्रिप्ट करें: CBC, CFB, OFB या ECB। OpenSSL bf-cbc पासफ़्रेज़ फ़ॉर्मेट या रॉ hex की और IV। मुफ़्त, ब्राउज़र में।

Blowfish एक पुराना सिफ़र है: इसका 64-बिट ब्लॉक लंबे संदेशों को बर्थडे हमलों (Sweet32) के प्रति कमज़ोर बनाता है। नए डेटा के लिए AES इस्तेमाल करें।

आउटपुट Base64 में OpenSSL "Salted__" फ़ॉर्मेट में है: 8 बाइट का रैंडम सॉल्ट और उसके बाद सिफ़रटेक्स्ट। की और IV पासफ़्रेज़ व सॉल्ट से बनते हैं, इसलिए एक ही टेक्स्ट हर बार अलग परिणाम देता है। समकक्ष कमांड:

openssl enc -bf-cbc -md md5 -a -A -provider legacy -provider default -k '…'

पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।

Blowfish एन्क्रिप्ट और डिक्रिप्ट क्या है?

Blowfish से डेटा एन्क्रिप्ट और डिक्रिप्ट करता है, जो Bruce Schneier का 1993 का ब्लॉक सिफ़र है जिसमें 64-बिट ब्लॉक और बदलने वाली की लंबाई (4–56 बाइट) होती है। दिशा बदलने के लिए एन्क्रिप्ट करें / डिक्रिप्ट करें टैब इस्तेमाल करें, ताकि आप अपना आउटपुट या OpenSSL bf-cbc का डेटा भी डिक्रिप्ट कर सकें।

Blowfish एन्क्रिप्ट और डिक्रिप्ट का उपयोग कैसे करें

  1. एन्क्रिप्ट करें या डिक्रिप्ट करें टैब चुनें।
  2. पासफ़्रेज़ (OpenSSL-संगत) चुनकर पासफ़्रेज़ लिखें, या रॉ की + IV (hex) चुनकर 4–56 बाइट की की और 8 बाइट का IV दें।
  3. मोड और पैडिंग चुनें (CBC + PKCS#7 OpenSSL bf-cbc से मेल खाता है)।
  4. प्लेनटेक्स्ट या सिफ़रटेक्स्ट दर्ज करें, बटन दबाएँ और नतीजा कॉपी करें।

उदाहरण

इनपुट
Raw key 0000000000000000, mode ECB, padding None, hex plaintext 0000000000000000
आउटपुट
4ef997456198dd78

Schneier का पहला Blowfish टेस्ट वेक्टर, आउटपुट Hex।

Blowfish एन्क्रिप्ट और डिक्रिप्ट का उपयोग कब करें

Blowfish इस्तेमाल करने वाले पुराने सॉफ़्टवेयर का डेटा पढ़ने या बनाने, या टेस्ट वेक्टर बनाने के लिए इस्तेमाल करें। इसका 64-बिट ब्लॉक इसे बड़ी मात्रा के डेटा के लिए अनुपयुक्त बनाता है (Sweet32)। नए काम के लिए AES चुनें। ध्यान रखें कि bcrypt पासवर्ड हैश Blowfish पर आधारित हैं, लेकिन वे एन्क्रिप्टेड डेटा नहीं हैं – उन्हें यहाँ डिक्रिप्ट नहीं किया जा सकता।

Blowfish एन्क्रिप्ट और डिक्रिप्ट कैसे काम करता है

Blowfish की को 18 P-array एंट्री और चार 256-एंट्री S-box में फैलाता है, फिर हर 8 बाइट के ब्लॉक पर 16 Feistel राउंड चलाता है। 4 से 56 बाइट तक की किसी भी लंबाई की कीज़ रेफ़रेंस इम्प्लीमेंटेशन की तरह बाइट-दर-बाइट P-array में घुमाई जाती हैं (Eric Young के वेरिएबल-की टेस्ट वेक्टर से सत्यापित)। पासफ़्रेज़ मोड पासफ़्रेज़ और रैंडम सॉल्ट से 16 बाइट की की और 8 बाइट का IV निकालता है (EVP_BytesToKey MD5 या PBKDF2-SHA256) और openssl enc -bf-cbc के संगत OpenSSL Salted__ फ़ॉर्मेट लिखता है। CBC/ECB में PKCS#7 पैडिंग लगती है, जो डिक्रिप्शन पर जाँची जाती है।

सामान्य उपयोग मामले

  • openssl enc -bf-cbc का आउटपुट डिक्रिप्ट करना
  • असामान्य लंबाई की कीज़ के साथ Blowfish टेस्ट वेक्टर बनाना
  • पुराने PHP mcrypt या Java Blowfish कोड के साथ इंटरऑपरेट करना
  • एक क्लासिक एल्गोरिद्म से Feistel सिफ़र सिखाना

सुरक्षा नोट

Blowfish टूटा नहीं है, लेकिन इसका 64-बिट ब्लॉक एक ही की के तहत कुछ गीगाबाइट के बाद बर्थडे हमलों के प्रति कमज़ोर है। नए डेटा के लिए AES चुनें।

अक्सर पूछे जाने वाले प्रश्न

क्या मैं इस पेज से डिक्रिप्ट कर सकता हूँ?

हाँ – डिक्रिप्ट करें टैब पर क्लिक करें, वही पासफ़्रेज़ या की/IV और सेटिंग दर्ज करें, और सिफ़रटेक्स्ट पेस्ट करें।

क्या यह bcrypt हैश डिक्रिप्ट कर सकता है?

नहीं। bcrypt एकतरफ़ा पासवर्ड हैश है जो अंदर सिर्फ़ Blowfish इस्तेमाल करता है; उसे डिक्रिप्ट नहीं किया जा सकता, सिर्फ़ सत्यापित किया जा सकता है।

क्या आउटपुट OpenSSL के साथ संगत है?

हाँ। पासफ़्रेज़ मोड में नतीजा ठीक वही है जो openssl enc -bf-cbc -md md5 -a -A -k <passphrase> बनाता है (MD5 के साथ EVP_BytesToKey), या PBKDF2-HMAC-SHA256 चुनने पर -pbkdf2 -iter N। डिक्रिप्ट करने के लिए -d जोड़ें। पेज पासफ़्रेज़ फ़ील्ड के नीचे उसी से मेल खाता कमांड दिखाता है।

कौन सी की लंबाई अनुमत है?

4 से 56 बाइट (8 से 112 hex अक्षर)। पासफ़्रेज़ मोड OpenSSL की तरह हमेशा 128-बिट की निकालता है।

और श्रेणियाँ देखें