0Pricing
Cryptology Academy · درس

GCM والتشفير الموثَّق

أضف وسوم مصادقة إلى التشفير لمنع العبث

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

مرحبًا

يُعد AES-GCM المعيار الذهبي للتشفير الموثّق. فهو يوفر السرية والتكامل في عملية واحدة، ويمنع العبث دون الحاجة إلى خطوة HMAC منفصلة.

مشكلة التشفير وحده

يوفر التشفير السرية، لكنه لا يوفر التكامل. يستطيع مهاجم يعترض نص AES-CBC المشفر قلب بعض البتات وتغيير النص الصريح بعد فك تشفيره دون معرفة المفتاح.

AEAD: التشفير الموثّق مع البيانات المرتبطة

تُخرج أنظمة AEAD: نصًا مشفرًا + وسم مصادقة. يصادق الوسم على النص المشفر وعلى البيانات المرتبطة الاختيارية غير المشفرة (AAD). ويؤدي أي تعديل إلى إبطال الوسم.

بنية GCM

يستخدم AES-GCM ما يلي: 1. ‏AES-CTR للتشفير 2. ‏GHASH للمصادقة تحسب GHASH‏ MAC متعدد الحدود على النص المشفر + AAD باستخدام الضرب في GF(2^128).

نظرة عامة على GHASH

‏GHASH(H, A, C) = تجزئة AAD + النص المشفر باستخدام المفتاح الفرعي H = AES(K, 0^128). ويُقيَّم كثير الحدود عند H فوق GF(2^128). ثم تُجرى عملية XOR بين النتيجة والعدّاد المشفر لتكوين الوسم.

مدخلات ومخرجات AES-GCM

المدخلات: مفتاح بحجم 128 أو 192 أو 256 بت، وnonce بحجم 96 بت، والنص الصريح، وAAD اختيارية المخرجات: النص المشفر، بالطول نفسه للنص الصريح، ووسم مصادقة بحجم 128 بت يبلغ طول الوسم عادةً 16 بايت. ولا يُنصح باقتطاعه إلى أقل من 12 بايت.

متطلبات nonce في GCM

يتطلب GCM استخدام nonce فريد مع كل عملية تشفير بالمفتاح نفسه. ويُعد nonce العشوائي بحجم 96 بت هو المعيار. بعد تشفير 2^32 رسالة، يتجاوز احتمال التصادم 1%. عندها يجب تدوير المفتاح.

كارثة إعادة استخدام nonce في GCM

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

حالات استخدام البيانات المرتبطة (AAD)

‏AAD هي بيانات وصفية تريد المصادقة عليها دون تشفيرها: - ترويسة HTTP: تُوثَّق لمنع هجمات توجيه الاستجابات - معرّف سجل قاعدة البيانات: يضمن فك تشفير النص المشفر في الصف الصحيح - إصدار البروتوكول: يمنع هجمات خفض الإصدار

مثال كامل على AES-GCM في Python

from cryptography.hazmat.primitives.ciphers.aead import AESGCM import os key = AESGCM.generate_key(256) nonce = os.urandom(12) aad = b'user_id=12345' aesgcm = AESGCM(key) ct = aesgcm.encrypt(nonce, b'secret', aad) pt = aesgcm.decrypt(nonce, ct, aad) # raises if tampered

البدائل: ChaCha20-Poly1305

‏ChaCha20-Poly1305 هو نظام AEAD الرئيسي الآخر. ويُستخدم في TLS 1.3 على الأجهزة التي لا تدعم AES-NI، مثل أجهزة ARM والهواتف المحمولة. ويوفر أمانًا مشابهًا لـ AES-GCM، لكنه أسرع في البرمجيات التي لا تستخدم تسريعًا عتاديًا.

اختبار سريع

ممَّ يحمي وسم المصادقة في AES-GCM؟

مراجعة

يُعد AES-GCM الخيار الافتراضي الصحيح للتشفير الموثّق. سندرس بعد ذلك شفرات التدفق، بدءًا من RC4 المكسورة وصولًا إلى ChaCha20 الحديثة.

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

هل درس «GCM والتشفير الموثَّق» مجاني؟

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

ماذا ستتعلم في «GCM والتشفير الموثَّق»؟

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

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

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

كم من الوقت يستغرق درس «GCM والتشفير الموثَّق»؟

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

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

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

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

  1. أساسيات تشفير الكتل والحشو
  2. ECB مقابل CBC: الأنماط والمتجهات الابتدائية
  3. نمط CTR وسلوك تشفير التدفق
  4. GCM والتشفير الموثَّق
← العودة إلى Cryptology Academy