تشفير DES وفك تشفيره
فكّ تشفير البيانات القديمة أو شفّرها بخوارزمية DES الأحادية.
تُعد DES ضعيفة بمعايير اليوم؛ استخدمها لقراءة البيانات القديمة، وللبيانات الجديدة استخدم AES أو ChaCha20. الانتقال إلى AES
ستحتاج إليها مرة أخرى لفك التشفير. لا يغادر أي شيء تكتبه هذه الصفحة.
القيمة الافتراضية في OpenSSL هي 10,000. ويصلح أي عدد: فالعدد الأكبر يجعل تخمين كلمة المرور أبطأ؛ ويحتاج فك التشفير إلى العدد نفسه.
الخيار المعتاد مع OpenSSL. يحتاج إلى IV؛ ويحشو النص حتى يكمل الكتل.
openssl enc -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider defaultيطلب OpenSSL كلمة المرور؛ الصق النص فيه، أو أضف ملفَّي -in و-out.
يشفّر DES، معيار تشفير البيانات الصادر عام 1977، كتلًا من 8 بايت بمفتاح 64 بت لا يُحتسب منه إلا 56 بتًا، أما البتات الثمانية الباقية فبتات تكافؤ. وقد كُسر بالقوة الغاشمة منذ زمن طويل، لكن ملفات وإعدادات وقواعد بيانات قديمة لا تزال تحتوي على قيم مشفّرة به، وهذه الصفحة تقرؤها وتكتبها: بنمط CBC افتراضيًا، أو ECB أو CFB أو OFB أو CTR، بكلمة مرور بصيغة openssl enc -pbkdf2 أو بمفتاح وIV من 16 خانة hex. استخدمها لاسترجاع البيانات القديمة، ثم أعد تشفير تلك البيانات بـ AES. يعمل كل شيء في متصفحك: فلا تغادر البيانات ولا مفتاحها جهازك، والأداة مجانية ودون تسجيل.
طريقة فك تشفير نص مشفّر بـ DES
- اختر «فك التشفير» والصق نص Base64 أو hex، وستُكتشف صيغته تلقائيًا، أو اختر «تشفير» واكتب نصًا.
- أدخل كلمة المرور، أو انتقل إلى وضع «المفتاح وIV (hex)» وأدخل المفتاح من 16 خانة وIV من 16 خانة (لا يستخدم ECB أي IV).
- اختر النمط الذي أُنشئت به البيانات، وهو في الغالب CBC أو ECB. ولا تفعّل «بلا حشو» إلا إذا كانت البيانات قد شُفّرت دون حشو PKCS#7.
- انسخ النتيجة أو نزّلها؛ والبايتات التي ليست نصًا تُعرض بصيغة hex.
الميزات
- DES الأحادي بمفتاح 64 بت: 56 بتًا للمفتاح و8 بتات للتكافؤ
- أنماط CBC وECB وCFB وOFB وCTR؛ حشو PKCS#7 أو بلا حشو
- وضع كلمة المرور بصيغة openssl enc -pbkdf2، بأي عدد من تكرارات PBKDF2
- وضع «المفتاح وIV» بمفتاح وIV من 16 خانة hex، تكتبهما أو تولّدهما
- أمر openssl الذي يؤدي العملية نفسها، مع مزوّد legacy في OpenSSL 3
- اكتشاف تلقائي لمدخلات Base64 أو hex؛ والنتائج غير النصية تُعرض بصيغة hex ويمكن تنزيلها كبايتات
هل تبقى بياناتي خاصة؟
نعم. يعمل DES بتقنية WebAssembly داخل متصفحك، فلا تُرفع البيانات القديمة التي تفك تشفيرها ولا مفتاحها أو كلمة مرورها ولا تُخزَّن في أي مكان.
الأسئلة الشائعة
هل تشفير DES آمن؟
لا. يمكن العثور على مفتاح بطول 56 بت بتجربة كل الاحتمالات: فقد فعلت ذلك آلة صُممت خصيصًا لهذا الغرض عام 1998، وأصبح الأمر اليوم أرخص بكثير. لا تستخدم DES إلا لقراءة بيانات مشفّرة به أصلًا، ثم أعد تشفيرها بـ AES أو ChaCha20.
لماذا يعرض OpenSSL رسالة «Error setting cipher DES-CBC»؟
لأن OpenSSL 3 نقل DES إلى مزوّد legacy الذي لا يُحمَّل افتراضيًا. أضِفه: echo 'U2FsdGVkX1…' | openssl enc -d -des-cbc -pbkdf2 -iter 10000 -a -A -provider legacy -provider default. واستخدم -des-ecb أو -des-cfb أو -des-ofb لتلك الأنماط (ليس في OpenSSL نمط CTR لـ DES)، و-K <16 خانة hex> -iv <16 خانة hex> بدل -pbkdf2 -iter في وضع «المفتاح وIV».
كيف يبدو مفتاح DES؟
8 بايت تُكتب بـ 16 خانة hex. والبت الأدنى في كل بايت بت تكافؤ يتجاهله DES، لذا فالمفاتيح التي لا تختلف إلا في هذه البتات تفك التشفير بالطريقة نفسها. وIV أيضًا 8 بايت، ولا يستخدم ECB أي IV. وفي وضع كلمة المرور يُشتق كلاهما من كلمة المرور، فلا تحتاج إلى أي منهما.
ما الفرق بين DES وTriple DES؟
يشغّل Triple DES خوارزمية DES ثلاث مرات بثلاثة مفاتيح، أي بمفتاح 192 بت وقوة فعلية تقارب 112 بت، ولهذا عاش أطول من DES. أما DES الأحادي فله مفتاح واحد بطول 56 بت يمكن كسره بالقوة الغاشمة. وإذا كان طول مفتاحك 16 أو 24 بايت فالبيانات مشفّرة بـ Triple DES: استخدم صفحة Triple DES.
لماذا أحصل على نص غير مقروء؟
لأن أحد الإعدادات يختلف عمّا استُخدم عند التشفير: كلمة المرور أو المفتاح، أو عدد التكرارات، أو النمط، أو الحشو. ففي أنماط CFB وOFB وCTR لا يستطيع DES اكتشاف عدم التطابق، فيعيد بايتات عشوائية تعرضها الصفحة بصيغة hex؛ أما في CBC وECB فينتهي عدم التطابق عادةً برسالة خطأ.