0Pricing
Cryptology Academy · درس

الترميز مقابل التشفير مقابل التجزئة

ميّز بوضوح بين هذه المفاهيم الثلاثة، وافهم متى تستخدم كل واحد منها

الترميز مقابل التشفير مقابل التجزئة درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ثلاث عمليات مختلفة

الترميز والتشفير والتجزئة ثلاث عمليات مختلفة جوهريًا، ولكل منها غرض مختلف. وغالبًا ما يحدث خلط بينها، لكن فهم الفرق بينها ضروري لتصميم أنظمة آمنة.

يحوّل الترميز تنسيق البيانات من دون توفير الأمان. ويحمي التشفير السرية. أما التجزئة فتنتج بصمة بطول ثابت للتحقق من سلامة البيانات.

الترميز: تحويل التنسيق

يحوّل الترميز البيانات من تنسيق إلى آخر لأغراض التوافق أو الإرسال. وهو قابل للعكس دائمًا ولا يتطلب مفتاحًا. ويمكن لأي شخص يعرف مخطط الترميز فك ترميز البيانات.

تشمل الأمثلة Base64 (من ثنائي إلى ASCII)، وترميز URL (حيث تمثل %20 المسافة)، وكيانات HTML (حيث تمثل & الرمز &)، والترميز السداسي العشري. والهدف هو التوافق، لا الأمان.

التشفير: السرية باستخدام مفتاح

يحوّل التشفير النص الصريح إلى نص مشفّر باستخدام مفتاح. ولا يمكن عكس العملية إلا بواسطة من يملك المفتاح الصحيح. ومن دون المفتاح، يستحيل عمليًا من الناحية الحسابية فك تشفير النص المشفّر.

تشمل خوارزميات التشفير AES (متماثلًا) وRSA (غير متماثل) وChaCha20. والمفتاح هو ما يوفر الأمان، أما الخوارزمية نفسها فهي معرفة متاحة للعامة.

التجزئة: ملخصات أحادية الاتجاه بطول ثابت

تأخذ دالة التجزئة التشفيرية إدخالًا بطول عشوائي وتنتج مخرجًا بطول ثابت (ملخص التجزئة أو قيمة التجزئة). والدالة حتمية، أي إن الإدخال نفسه يعطي المخرج نفسه دائمًا، لكنها مصممة بحيث لا يمكن عكسها.

تنتج SHA-256 دائمًا مخرجًا بطول 256 بتًا، سواء كان الإدخال بطول بايت واحد أو 1 غيغابايت. وتُستخدم دوال التجزئة للتحقق من سلامة البيانات وتخزين كلمات المرور وإنشاء التوقيعات الرقمية.

Base64 ليس تشفيرًا

من الأخطاء الشائعة والخطيرة الاعتقاد بأن البيانات المرمّزة باستخدام Base64 مشفّرة، وهذا غير صحيح. ولا يتطلب فك ترميز Base64 سوى معرفة أن البيانات مرمّزة باستخدام Base64، وهو أمر غالبًا ما يكون واضحًا من حشو "==" أو من مجموعة الأحرف المستخدمة.

إذا رمّزتم كلمة مرور كـ "cGFzc3dvcmQ=" (وهو ترميز Base64 لكلمة "password")، فبإمكان المهاجم فك ترميزها خلال ثوانٍ. ولا يفيد استخدام Base64 في سياق الأمان إلا لتوافق الإرسال، وليس لإخفاء البيانات مطلقًا.

تجزئة كلمة المرور باستخدام MD5 هي تجزئة وليست تشفيرًا

يؤدي تجزئة كلمة المرور باستخدام MD5 إلى تخزينها كملخص أحادي الاتجاه. ولا يمكنكم «فك تشفير» قيمة تجزئة MD5 لاستعادة كلمة المرور. ومع ذلك، لا تُعد MD5 دالة مناسبة لتجزئة كلمات المرور لأنها سريعة جدًا.

يمكن للمهاجمين حساب مليارات قيم تجزئة MD5 في الثانية باستخدام وحدات معالجة الرسومات، مما يجعل هجمات القوة الغاشمة وهجمات جداول قوس قزح عملية. ويتطلب تخزين كلمات المرور دوال بطيئة وتحتاج إلى قدر كبير من الذاكرة، مثل bcrypt أو scrypt أو Argon2.

AES-GCM هو تشفير موثَّق

يوفر AES-GCM (نمط Galois/Counter) كلًا من السرية (التشفير) وسلامة البيانات (المصادقة). ويستخدم AES في نمط العداد للتشفير وGHASH للمصادقة.

يكشف وسم المصادقة الذي ينتجه AES-GCM أي عبث بالنص المشفّر. وهذا يجعله مخطط تشفير موثَّق مع بيانات مرتبطة (AEAD)، وهو المعيار الذهبي للتشفير الحديث.

SHA-256 هي دالة تجزئة

تُعد SHA-256 (خوارزمية التجزئة الآمنة بطول 256 بتًا) دالة تجزئة تشفيرية وضع NIST معيارها. وهي تنتج ملخصًا بطول 256 بتًا، وتُعد آمنة ضد جميع الهجمات المعروفة، بما فيها هجمات التصادم وهجمات preimage.

تُستخدم SHA-256 في شهادات TLS، وتعدين Bitcoin (إثبات العمل)، ومصادقة الرسائل باستخدام HMAC، ومخططات التوقيع الرقمي مثل RSA-SHA256 وECDSA.

أخطاء شائعة يرتكبها المطورون

تشمل الأخطاء الأمنية الشائعة الناتجة عن الخلط بين هذه العمليات الثلاث: تخزين كلمات المرور مشفّرة بدلًا من تجزئتها (فيصبح مفتاح التشفير نقطة الضعف الحقيقية)، واستخدام الترميز بدلًا من التشفير للبيانات الحساسة، واستخدام دوال تجزئة سريعة مثل MD5 وSHA-1 لتخزين كلمات المرور، وافتراض أن البيانات آمنة لمجرد أنها مرمّزة باستخدام Base64.

ومن الأخطاء الأخرى استخدام الدالة نفسها لأغراض متعددة، مثل استخدام دالة تجزئة باعتبارها MAC من دون بنية HMAC، مما يجعلها عرضة لهجمات تمديد الطول.

متى تستخدمون كل عملية

استخدموا الترميز عند الحاجة إلى إرسال بيانات ثنائية عبر بروتوكول نصي، أو تخزين بايتات في حقل نصي، أو تضمين بيانات في URL. واستخدموا التجزئة لتخزين كلمات المرور (باستخدام bcrypt أو Argon2)، والتحقق من سلامة البيانات (باستخدام مجاميع الاختبار)، واشتقاق معرّفات بطول ثابت من بيانات متفاوتة الطول.

استخدموا التشفير عند الحاجة إلى تخزين أو إرسال بيانات حساسة يجب استعادتها باستخدام المفتاح الصحيح. واجمعوا بين التجزئة والتشفير (AEAD) لتحقيق سلامة البيانات وسريتها أثناء النقل.

الجمع بين العمليات الثلاث عمليًا

يستخدم نظام مصادقة مصمم جيدًا العمليات الثلاث كلها: تُجزّأ كلمات المرور باستخدام Argon2 (التجزئة)، وتُخزَّن قيمة التجزئة في حقل بقاعدة البيانات مع تشفير الأعمدة باستخدام AES-256 (التشفير)، ويُعاد رمز API المميز بعد تسجيل الدخول مرمّزًا باستخدام Base64url (الترميز).

تخدم كل عملية غرضًا مميزًا. ويُعد إدراك العملية المناسبة لكل حالة استخدام مهارة أساسية في التشفير التطبيقي وتصميم الأنظمة الآمنة.

اختبار الترميز مقابل التشفير

اختبروا مدى فهمكم للترميز والتشفير والتجزئة.

أهم النقاط: الترميز مقابل التشفير مقابل التجزئة

الترميز (Base64 والنظام السداسي العشري) هو تحويل للتنسيق من دون توفير الأمان. ويوفر التشفير (AES-GCM) سرية قابلة للعكس وتتطلب مفتاحًا. أما التجزئة (SHA-256 وArgon2) فتنتج ملخصات بطول ثابت لا يمكن عكسها.

لا تستخدموا الترميز للأمان مطلقًا. واستخدموا دوال تجزئة بطيئة مثل Argon2 أو bcrypt لكلمات المرور. واستخدموا التشفير الموثَّق (AEAD) للبيانات الحساسة أثناء النقل أو أثناء التخزين. ويُعد الخلط بين هذه الفئات أحد أكثر مصادر الثغرات الأمنية شيوعًا.

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

هل درس «الترميز مقابل التشفير مقابل التجزئة» مجاني؟

نعم — نص درس «الترميز مقابل التشفير مقابل التجزئة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «الترميز مقابل التشفير مقابل التجزئة»؟

ميّز بوضوح بين هذه المفاهيم الثلاثة، وافهم متى تستخدم كل واحد منها تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «الترميز مقابل التشفير مقابل التجزئة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ترميز Base64: كيف يعمل
  2. ASCII وUnicode وتمثيل النصوص
  3. النظام الست عشري في مخرجات التشفير
  4. الترميز مقابل التشفير مقابل التجزئة
← العودة إلى Cryptology Academy