تشفير RC4 (قديم)

شفّر النصوص بشيفرة التدفق RC4 (ARC4) بعبارة مرور متوافقة مع OpenSSL أو مفتاح hex خام. للتوافق مع الأنظمة القديمة ولمتجهات الاختبار فقط.

خوارزمية RC4 مكسورة: في تيار مفاتيحها انحيازات إحصائية وهي محظورة في TLS (RFC 7465). استخدمها مع البيانات القديمة فقط، لا للتشفير الجديد.

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

تتحول عبارة المرور إلى مفتاح RC4 بطول 128 بت كما يفعل OpenSSL. أما CryptoJS.RC4 مع عبارة مرور فيستخدم مفتاحًا بطول 256 بت، لذا لا يمكن فك تشفير ناتجه هنا.

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

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

ما هو تشفير RC4؟

تشفّر البيانات بخوارزمية RC4 (وتُسمى أيضًا ARC4 أو ARCFOUR)، وهي شيفرة تدفق استُخدمت يومًا في WEP وفي إصدارات TLS المبكرة وفي كثير من صيغ الملفات. يساوي طول الناتج طول المدخل لأن RC4 تجري XOR بين البيانات وتدفق المفاتيح.

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

  1. اختر عبارة مرور (متوافقة مع OpenSSL) واكتب عبارة المرور، أو مفتاح خام + IV (hex) وأدخل مفتاحًا بطول 1–256 بايت بصيغة hex (لا تستخدم RC4 قيمة IV).
  2. اكتب النص الصريح أو الصقه.
  3. انقر تشفير واختر Base64 أو Hex في ترميز الناتج.
  4. انسخ النص المشفّر.

مثال

الإدخال
Raw key 4b6579 ("Key"), plaintext "Plaintext", Hex output
الإخراج
bbf316e8d940af0ad3

متجه اختبار RC4 الكلاسيكي.

متى تستخدم تشفير RC4

استخدمها للتوافق مع برمجيات قديمة أو للتحقق من متجهات اختبار RC4 (RFC 6229). لا تستخدم RC4 أبدًا لتشفير جديد؛ فأولى بايتات تدفق المفاتيح تسرّب معلومات عن المفتاح ولا يوجد فحص للسلامة.

كيف يعمل تشفير RC4

تبني RC4 تبديلة من 256 بايت انطلاقًا من المفتاح (خوارزمية جدولة المفتاح) ثم تولّد بايتًا واحدًا من تدفق المفاتيح لكل بايت مدخل، ويُجرى عليه XOR مع النص الصريح. يستخدم الوضع الخام بايتات مفتاحك مباشرة (1–256 بايت). ويشتق وضع عبارة المرور مفتاحًا من 16 بايت من العبارة وملح عشوائي كما يفعل openssl enc -rc4 (EVP_BytesToKey مع MD5 أو PBKDF2-SHA256) ويخرج بصيغة Salted__. والتشفير وفك التشفير هما العملية نفسها.

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

  • التحقق من متجهات اختبار RC4 مثل Key/Plaintext → BBF316E8D940AF0AD3
  • إنتاج بيانات لتطبيق قديم يستخدم ARC4
  • دراسة سبب كسر WEP وRC4 في TLS
  • إعادة إنتاج ناتج openssl enc -rc4

ملاحظة أمنية

RC4 مكسورة: فتدفق مفاتيحها فيه انحيازات إحصائية قوية، ويحظرها RFC 7465 في TLS، ولا توفر أي حماية للسلامة. استخدمها فقط للبيانات القديمة.

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

لماذا لا أستطيع فك ناتج CryptoJS.RC4 المُنشأ بعبارة مرور؟

تشتق CryptoJS مفتاح RC4 بطول 256 بت من عبارة المرور، بينما يشتق OpenSSL مفتاحًا بطول 128 بت. وهذه الأداة تتبع OpenSSL. أما مع المفتاح الخام فتتطابق النتيجتان.

هل تستخدم RC4 قيمة IV؟

لا. ولهذا فإن إعادة استخدام المفتاح نفسه لرسالتين كارثة: إذ إن XOR بين النصين المشفّرين يلغي تدفق المفاتيح. ويتجنب وضع عبارة المرور ذلك باستخدام ملح عشوائي في كل مرة.

ما أمر OpenSSL المطابق؟

openssl enc -rc4 -md md5 -a -A -provider legacy -provider default -k <passphrase> (يحتاج OpenSSL 3 إلى المزوّد legacy).

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