تشفير Triple DES (3DES)

شفّر النصوص بخوارزمية Triple DES (DES-EDE3) بعبارة مرور بصيغة OpenSSL des-ede3-cbc أو مفتاح hex من 16/24 بايت وIV. أنماط CBC وCFB وOFB وECB.

خوارزمية 3DES مهجورة (لم يعد NIST يسمح بها للتشفير بعد 2023) وكتلتها ذات 64 بت عرضة لهجوم Sweet32. استخدمها للتوافق مع الأنظمة القديمة فقط واختر AES للبيانات الجديدة.

الناتج بتنسيق OpenSSL "Salted__" مرمّزًا بـ Base64: ملح عشوائي من 8 بايتات يليه النص المشفّر. يُشتق المفتاح وIV من عبارة المرور والملح، لذا يعطي النص نفسه نتيجة مختلفة في كل مرة. الأمر المكافئ:

openssl enc -des-ede3-cbc -md md5 -a -A -k '…'

يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.

ما هو تشفير Triple DES؟

تشفّر البيانات بخوارزمية Triple DES التي تطبّق DES ثلاث مرات (تشفير–فك–تشفير) بمفتاحين أو ثلاثة مفاتيح مستقلة. ما زالت موجودة في أنظمة الدفع وشبكات VPN القديمة وبرمجيات المؤسسات، لذا تساعدك هذه الأداة على إنتاج بيانات متوافقة.

كيفية استخدام تشفير Triple DES

  1. اترك مصدر المفتاح على عبارة مرور (متوافقة مع OpenSSL) واكتب عبارة المرور، أو انتقل إلى مفتاح خام + IV (hex) وأدخل المفتاح وIV بدقة بصيغة hex.
  2. اختر النمط والحشو (النمط CBC مع PKCS#7 هو الافتراضي في OpenSSL).
  3. اكتب النص الصريح أو الصقه (أو غيّر ترميز الإدخال إلى Hex للبيانات الثنائية).
  4. انقر تشفير، ثم اختر Base64 أو Hex في ترميز الناتج وانسخ النص المشفّر.

مثال

الإدخال
Raw key 0123456789abcdeffedcba987654321089abcdef01234567, IV 1234567890abcdef, CBC, PKCS#7, plaintext "Triple DES test message"
الإخراج
w46mmLXKZ7SF3YdvRaW9PUPLk/6OeJll

ناتج Base64؛ مطابق لـ des-ede3-cbc في OpenSSL/Node.

متى تستخدم تشفير Triple DES

استخدمها عندما ما زال نظام شريك أو معيار يفرض 3DES (بعض مسارات EMV/وحدات HSM للدفع، وخدمات SOAP القديمة) أو لإنشاء متجهات اختبار. وفي التصاميم الجديدة استخدم AES-GCM.

كيف يعمل تشفير Triple DES

تشفّر 3DES كل كتلة من 8 بايت على النحو E(K3, D(K2, E(K1, block))). المفتاح من 24 بايت يعطي ثلاثة مفاتيح مستقلة (خيار المفاتيح 1)؛ والمفتاح من 16 بايت يستخدم K3 = K1 (3DES بمفتاحين). يشتق وضع عبارة المرور مفتاحًا من 24 بايت وIV من 8 بايت ويكتب صيغة OpenSSL Salted__ المتوافقة مع openssl enc -des-ede3-cbc وCryptoJS.TripleDES.encrypt. ويستخدم الوضع الخام مفتاح hex وIV كما أدخلتهما؛ ويُحشى CBC/ECB بـ PKCS#7.

حالات الاستخدام الشائعة

  • إنتاج بيانات لنظام قديم لا يقبل إلا 3DES-CBC
  • إعادة إنتاج ناتج CryptoJS.TripleDES.encrypt(text, passphrase)
  • إنشاء متجهات اختبار 3DES بمفتاحين أو ثلاثة
  • مقارنة تنفيذك بـ des-ede3-cbc في OpenSSL

ملاحظة أمنية

Triple DES مهجورة: فقد منع NIST استخدامها في التشفير بعد 2023، وتجعل كتلتها ذات 64 بت الجلسات الطويلة عرضة لهجمات أعياد الميلاد Sweet32. استخدمها للتوافق فقط.

الأسئلة الشائعة

مفتاح 16 بايت أم 24 بايت؟

يعطي 24 بايت ثلاثة مفاتيح DES مستقلة (نحو 112 بت من الأمان الفعلي). أما مفتاح 16 بايت فهو 3DES بمفتاحين ويساوي المفتاح الثالث فيه الأول (نحو 80 بت).

هل الناتج متوافق مع OpenSSL؟

نعم. في وضع عبارة المرور يطابق الناتج تمامًا ما ينتجه openssl enc -des-ede3-cbc -md md5 -a -A -k <passphrase> (أي EVP_BytesToKey مع MD5)، أو -pbkdf2 -iter N عند اختيار PBKDF2-HMAC-SHA256. أضف -d لفك التشفير. وتعرض الصفحة الأمر المطابق أسفل حقل عبارة المرور.

هل ما زالت Triple DES آمنة؟

ليست مكسورة تمامًا، لكنها بطيئة وكتلتها 64 بت (هجوم Sweet32) وقد سحبها NIST. تعامل معها على أنها قديمة فقط.

استكشف المزيد من الفئات