تشفير Blowfish وفك تشفيره
شفّر أو فك تشفير بخوارزمية Blowfish (مفاتيح 4–56 بايت) بأنماط CBC وCFB وOFB وECB. صيغة عبارة مرور OpenSSL bf-cbc أو مفتاح hex خام وIV. مجاني وفي المتصفح.
الناتج بتنسيق OpenSSL "Salted__" مرمّزًا بـ Base64: ملح عشوائي من 8 بايتات يليه النص المشفّر. يُشتق المفتاح وIV من عبارة المرور والملح، لذا يعطي النص نفسه نتيجة مختلفة في كل مرة. الأمر المكافئ:
openssl enc -bf-cbc -md md5 -a -A -provider legacy -provider default -k '…'يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.
ما هو تشفير Blowfish وفك تشفيره؟
تشفّر البيانات وتفك تشفيرها بخوارزمية Blowfish، شيفرة الكتل التي ابتكرها Bruce Schneier عام 1993 بكتلة 64 بت وطول مفتاح متغير (4–56 بايت). استخدم تبويبي تشفير / فك التشفير لتبديل الاتجاه، فتستطيع أيضًا فك تشفير ناتجك أو بيانات من bf-cbc في OpenSSL.
كيفية استخدام تشفير Blowfish وفك تشفيره
- اختر تبويب تشفير أو فك التشفير.
- اختر عبارة مرور (متوافقة مع OpenSSL) واكتب عبارة المرور، أو مفتاح خام + IV (hex) بمفتاح 4–56 بايت وIV من 8 بايت.
- اختر النمط والحشو (CBC + PKCS#7 يطابق bf-cbc في OpenSSL).
- أدخل النص الصريح أو المشفّر، وانقر الزر وانسخ النتيجة.
مثال
Raw key 0000000000000000, mode ECB, padding None, hex plaintext 0000000000000000
4ef997456198dd78
أول متجه اختبار لـ Blowfish من Schneier، بناتج Hex.
متى تستخدم تشفير Blowfish وفك تشفيره
استخدمها لقراءة أو إنتاج بيانات لبرمجيات قديمة تستخدم Blowfish، أو لتوليد متجهات اختبار. كتلتها ذات 64 بت تجعلها غير مناسبة لكميات كبيرة من البيانات (Sweet32). وللأعمال الجديدة استخدم AES. وتنبّه إلى أن تجزئات كلمات مرور bcrypt مبنية على Blowfish لكنها ليست بيانات مشفّرة، فلا يمكن فكها هنا.
كيف يعمل تشفير Blowfish وفك تشفيره
توسّع Blowfish المفتاح إلى 18 مدخلًا في مصفوفة P وأربعة صناديق S بـ 256 مدخلًا، ثم تنفّذ 16 جولة Feistel على كل كتلة من 8 بايت. وتُدوَّر مفاتيح بأي طول من 4 إلى 56 بايت بايتًا بايتًا عبر مصفوفة P كما في التنفيذ المرجعي (تم التحقق بمتجهات اختبار المفتاح المتغير لـ Eric Young). يشتق وضع عبارة المرور مفتاحًا من 16 بايت وIV من 8 بايت من العبارة وملح عشوائي (EVP_BytesToKey مع MD5 أو PBKDF2-SHA256) ويكتب صيغة OpenSSL Salted__ المتوافقة مع openssl enc -bf-cbc. ويستخدم 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> (أي EVP_BytesToKey مع MD5)، أو -pbkdf2 -iter N عند اختيار PBKDF2-HMAC-SHA256. أضف -d لفك التشفير. وتعرض الصفحة الأمر المطابق أسفل حقل عبارة المرور.
ما أطوال المفاتيح المسموحة؟
من 4 إلى 56 بايت (من 8 إلى 112 خانة hex). ويشتق وضع عبارة المرور دائمًا مفتاحًا بطول 128 بت كما يفعل OpenSSL.