أداة تشفير AES (AES-128/192/256)
شفّر النصوص بخوارزمية AES-128/192/256 بأنماط CBC وGCM وCTR وCFB وOFB وECB. وضع عبارة مرور متوافق مع OpenSSL أو مفتاح hex خام مع IV. يعمل داخل متصفحك.
الناتج بتنسيق OpenSSL "Salted__" مرمّزًا بـ Base64: ملح عشوائي من 8 بايتات يليه النص المشفّر. يُشتق المفتاح وIV من عبارة المرور والملح، لذا يعطي النص نفسه نتيجة مختلفة في كل مرة. الأمر المكافئ:
openssl enc -aes-256-cbc -md md5 -a -A -k '…'يعمل بالكامل في متصفحك. لا يتم رفع بياناتك أبدًا.
ما هو تشفير AES؟
تشفّر هذه الأداة نصًا أو بيانات hex بخوارزمية AES، شيفرة الكتل القياسية (FIPS 197). يمكنك اشتقاق المفتاح من عبارة مرور بصيغة OpenSSL «Salted__» ليتمكن openssl enc وCryptoJS من فك تشفير الناتج، أو إدخال مفتاح خام وIV بصيغة hex لضمان التوافق مع الشيفرة البرمجية. تدعم الأداة أنماط CBC وCFB وCTR وOFB وECB ونمط GCM الموثَّق.
كيفية استخدام تشفير AES
- اترك مصدر المفتاح على عبارة مرور (متوافقة مع OpenSSL) واكتب عبارة المرور، أو انتقل إلى مفتاح خام + IV (hex) وأدخل المفتاح وIV بدقة بصيغة hex.
- اختر النمط والحشو (النمط CBC مع PKCS#7 هو الافتراضي في OpenSSL)؛ ومع المفاتيح الخام يمكنك أيضًا اختيار GCM وإضافة بيانات إضافية موثَّقة اختيارية.
- اكتب النص الصريح أو الصقه (أو غيّر ترميز الإدخال إلى Hex للبيانات الثنائية).
- انقر تشفير، ثم اختر Base64 أو Hex في ترميز الناتج وانسخ النص المشفّر.
مثال
Key 2b7e151628aed2a6abf7158809cf4f3c, IV 000102030405060708090a0b0c0d0e0f, mode CBC, padding None, hex plaintext 6bc1bee22e409f96e93d7e117393172a
7649abac8119b246cee98e9b12e9197d
متجه الاختبار NIST SP 800-38A F.2.1، بترميز ناتج Hex.
متى تستخدم تشفير AES
استخدمها لتوليد بيانات اختبار لتطبيق يعتمد AES، أو لتشفير مقتطف ستفك تشفيره لاحقًا بـ OpenSSL أو CryptoJS، أو لفهم كيف يغيّر النمط والحشو الناتج. فضّل GCM (أو CBC مع MAC منفصل) للبيانات الحقيقية، لأن CBC/CTR/CFB/OFB وحدها لا تكشف العبث بالبيانات. تجنّب ECB لأن الكتل المتطابقة تعطي نصًا مشفّرًا متطابقًا. وللملفات أو الأسرار طويلة الأمد استخدم أدوات متخصصة مثل age أو GnuPG أو واجهات التشفير في منصتك.
كيف يعمل تشفير AES
تشفّر AES كتلًا من 16 بايت بمفتاح طوله 128 أو 192 أو 256 بت (10 أو 12 أو 14 جولة). في وضع عبارة المرور يُولَّد ملح عشوائي من 8 بايت ويُشتق المفتاح وIV بواسطة EVP_BytesToKey في OpenSSL (MD5 مع تكرار واحد، وهو الإعداد الافتراضي في openssl enc -md md5 وCryptoJS) أو بواسطة PBKDF2-HMAC-SHA256 (openssl enc -pbkdf2)؛ والناتج هو Base64 للصيغة Salted__ + الملح + النص المشفّر. في الوضع الخام يُستخدم مفتاح hex وIV كما أدخلتهما ويُعاد النص المشفّر فقط. يستخدم CBC وECB الحشو PKCS#7 (أو الحشو بالأصفار أو بدونه)، أما CFB وOFB وCTR فأنماط تدفقية بلا حشو. ويعتمد GCM على واجهة Web Crypto في المتصفح مع nonce من 12 بايت ويضيف وسم التوثيق من 16 بايت. يجتاز التنفيذ متجهات الاختبار NIST SP 800-38A وGCM.
حالات الاستخدام الشائعة
- إنشاء نص مشفّر متوافق مع
openssl enc -aes-256-cbcدون الحاجة إلى سطر أوامر - إعادة إنتاج ناتج
CryptoJS.AES.encrypt(text, passphrase)لأغراض تصحيح الأخطاء - توليد متجهات اختبار AES-GCM (النص المشفّر + الوسم) لتنفيذ خلفي
- تشفير سر قصير بمفتاح خام 256 بت وIV للصقه في ملف إعدادات
- توضيح سبب كشف نمط ECB للأنماط مقارنةً بـ CBC أو CTR
ملاحظة أمنية
كل شيء يعمل محليًا داخل متصفحك ولا يُرفع أي شيء. إن EVP_BytesToKey مع MD5 اشتقاق مفاتيح ضعيف وسريع أُبقي عليه للتوافق؛ اختر PBKDF2 مع عدد كبير من التكرارات، أو مفتاحًا خامًا عشوائيًا، لأي استخدام مهم. والتشفير دون توثيق (CBC وCTR وCFB وOFB) لا يكشف التعديل على البيانات.
الأسئلة الشائعة
هل الناتج متوافق مع OpenSSL؟
نعم. في وضع عبارة المرور يطابق الناتج تمامًا ما ينتجه openssl enc -aes-256-cbc -md md5 -a -A -k <passphrase> (أي EVP_BytesToKey مع MD5)، أو -pbkdf2 -iter N عند اختيار PBKDF2-HMAC-SHA256. أضف -d لفك التشفير. وتعرض الصفحة الأمر المطابق أسفل حقل عبارة المرور.
لماذا أحصل على نص مشفّر مختلف في كل مرة؟
يستخدم وضع عبارة المرور ملحًا عشوائيًا جديدًا في كل عملية تشفير، فيتغير المفتاح وIV والنص المشفّر. وهذا مقصود؛ إذ يمكن فك تشفير أي ناتج بعبارة المرور نفسها. أما وضع المفتاح الخام فحتمي مع المفتاح وIV والمدخل نفسها.
أي نمط أختار؟
اختر GCM لأنه يوثّق البيانات أيضًا (يفشل فك التشفير إذا تغيّر أي شيء). وإذا كان الطرف المستقبِل يدعم openssl enc فقط فاستخدم CBC، لأن enc في OpenSSL لا يدعم GCM. لا تعِد استخدام nonce في GCM أو عدّاد في CTR مع المفتاح نفسه.
ما الفرق بين عبارة المرور والمفتاح الخام؟
تُحوَّل عبارة المرور إلى مفتاح بواسطة دالة اشتقاق مفاتيح وملح يُخزَّن في الناتج. أما المفتاح الخام فيُستخدم كما كُتب تمامًا (16 أو 24 أو 32 بايت لـ AES-128/192/256) مع IV عليك مشاركته على حدة.