التشفير: كيف تبقى الأسرار أسرارًا
درس 2 من 4
2التشفير: كيف تبقى الأسرار أسرارًا
الصورة الكبيرةكل مرة تفتح تطبيق البنك، يتفق جوالك مع الخادم على مفتاح سري عبر شبكة يسمعها الجميع، ثم يشفّران كل شيء به، ويتأكد جوالك أن الخادم هو البنك فعلًا. كل هذا في أقل من ثانية، ودون أن تلتقيا من قبل. هذا ما يفعله التشفير الحديث.
ماذا تشاهد في الرسم: النص الواضح يدخل مع المفتاح فيخرج نصًا مشفرًا لا معنى له، ولا يعيده واضحًا إلا المفتاح الصحيح.
خارطة هذا الجزء
المفاهيم بالترتيب، اضغط أيًّا منها للقفز إليه:
طريقان إلى نفس الفكرة
ثلاث أدوات في صندوقك: صندوق بقفل له مفتاح واحد يفتح ويقفل (المتماثل): سريع، لكن كيف تعطي المفتاح لصديقك دون أن يُسرق؟ صندوق بريد له فتحة يرمي فيها أي شخص رسالة، ولا يفتحه إلا صاحبه (غير المتماثل). وبصمة الإصبع للملف (التجزئة): نفس الملف يعطي نفس البصمة دائمًا، وأي تغيير صغير يعطي بصمة مختلفة تمامًا، ولا يمكن إعادة البصمة إلى الملف.
المتماثل: AES-256-GCM وChaCha20-Poly1305 (تشفير مع مصادقة AEAD). غير المتماثل: RSA وECC (X25519 لتبادل المفاتيح وEd25519 للتوقيع). التوقيع الرقمي: تجزئة الرسالة ثم توقيعها بالخاص، فيتحقق أي أحد بالعام (سلامة وعدم إنكار). TLS 1.3: تبادل مفاتيح ECDHE بسرّية أمامية، ثم AEAD للجلسة، وشهادات X.509 من سلسلة PKI لإثبات الهوية. ما بعد الكم: نشرت NIST في 13 أغسطس 2024 المعايير FIPS 203 (ML-KEM) وFIPS 204 (ML-DSA) وFIPS 205 (SLH-DSA)، واختارت HQC في مارس 2025 احتياطًا، خوفًا من «اجمع الآن وفك لاحقًا».
قبل أن تبدأ
🔑الهوية وكلمات المرور
تعرف لماذا تُخزَّن كلمات المرور كبصمات.
🛰️رحلة فتح موقع
من مسار الشبكات: مرحلة TLS في الرحلة.
الفكرة الجوهرية
1متماثل وغير متماثل
المتماثل مفتاح واحد للقفل والفتح، وهو سريع جدًا فيُستخدم لتشفير البيانات الكبيرة: قرصك، ورسائلك، وجلسة التصفح. مشكلته الوحيدة: كيف يصل المفتاح للطرف الآخر بأمان؟ غير المتماثل يحلها بمفتاحين: عام تنشره للجميع ليقفلوا به، وخاص لا يغادر جهازك ويفتح وحده.
2التجزئة: بصمة لا تُعكس
دالة التجزئة تأخذ أي مدخل، كلمة أو فيلمًا كاملًا، وتعطي بصمة بطول ثابت: SHA-256 تعطي 64 خانة ست عشرية دائمًا. ثلاث صفات تجعلها مفيدة: نفس المدخل يعطي نفس البصمة، وتغيير بسيط يغيّر البصمة كلها (أثر الانهيار الجليدي)، ومن البصمة لا يمكن معرفة المدخل.
تمرين: أثر الانهيار الجليدي في SHA-256
غيّر حرفًا واحدًا في أحد الحقلين وراقب البصمة. الخانات الملوّنة هي المختلفة. الحساب يجري داخل متصفحك ولا يُرسل النص لأي مكان.
178a873ef7d76786f1a19f490590806ceca51de3cba192cc450d982d0fec3564
6e21e18b259670fe49491283050b15b8b2933d67c4b3027052ce76366075b18e
اختلف 59 خانة من 64. تغيير صغير في النص غيّر البصمة كلها تقريبًا، ولا يمكن من البصمة معرفة النص الأصلي.
السطر الأول والثالث متطابقان فبصمتهما متطابقة، والثاني اختلف برقم واحد فاختلفت بصمته كلها.
import hashlib
for text in ["Send 500 SAR to Sara", "Send 900 SAR to Sara", "Send 500 SAR to Sara"]:
digest = hashlib.sha256(text.encode()).hexdigest()
print(digest[:32] + "...", text)لهذا تنشر مواقع البرامج بصمة الملف بجانب رابط التنزيل: تحسب بصمة ما نزّلته وتقارنها، فإن تطابقتا فالملف لم يُعبث به في الطريق.
3التوقيع الرقمي وTLS
التوقيع الرقمي عكس التشفير غير المتماثل: توقّع بمفتاحك الخاص، ويتحقق الجميع بمفتاحك العام. هكذا يتأكد جوالك أن التحديث جاء فعلًا من الشركة، وأن أحدًا لم يعدّله.
TLS 1.3 (القفل في المتصفح) يجمع الأدوات الثلاث: تبادل مفاتيح غير متماثل يتفق على مفتاح جلسة، ثم تشفير متماثل سريع لكل البيانات، وشهادة موقّعة من جهة موثوقة تثبت أن الخادم هو bank.example فعلًا.
| الأداة | تحمي | أمثلة حديثة | تجنّب |
|---|---|---|---|
| تشفير متماثل | السرية | AES-GCM · ChaCha20 | DES وRC4 ووضع ECB |
| تشفير غير متماثل | السرية وتبادل المفاتيح | X25519 · RSA-3072 · ML-KEM | RSA أقل من 2048 بت |
| التجزئة | السلامة | SHA-256 · SHA-3 | MD5 · SHA-1 |
| التوقيع الرقمي | السلامة والهوية | Ed25519 · ECDSA · ML-DSA | مفتاح خاص مشترك بين أشخاص |
4ما بعد الحوسبة الكمية
حواسيب كمية كبيرة في المستقبل قد تكسر RSA وECC اللذين يحميان الإنترنت اليوم. المهاجمون قد يجمعون البيانات المشفرة الآن ليفكوها لاحقًا. لذلك نشرت NIST في أغسطس 2024 أول ثلاثة معايير مقاومة للكم: ML-KEM لتبادل المفاتيح، وML-DSA وSLH-DSA للتوقيع. والمتصفحات الكبرى بدأت فعلًا تستخدم تبادل مفاتيح هجين يجمع X25519 مع ML-KEM.
مثال محلول
المسألة: نزّلت ملف تثبيت من موقع، والموقع ينشر بصمة SHA-256 بجانبه. كيف تتحقق، وماذا يعني عدم التطابق؟
الحل: احسب بصمة الملف على جهازك: في Linux وmacOS بالأمر sha256sum file أو shasum -a 256 file، وفي Windows بـ Get-FileHash file. قارن الناتج حرفًا حرفًا بالمنشورة. التطابق يعني أن الملف لم يتغير. عدم التطابق يعني تلفًا في التنزيل أو عبثًا، فلا تثبّته. وتذكّر: إذا اختُرق الموقع نفسه فقد تُستبدل البصمة أيضًا، ولهذا التوقيع الرقمي أقوى من البصمة وحدها.
خرافة مقابل حقيقة
| الخرافة | الحقيقة |
|---|---|
| التشفير والتجزئة شيء واحد. | التشفير يُفك بالمفتاح ويحمي السرية، والتجزئة باتجاه واحد وتحمي السلامة. |
| الحواسيب الكمية كسرت التشفير بالفعل. | لا يوجد بعد حاسوب كمي قادر، لكن الانتقال يستغرق سنوات فبدأ مبكرًا. وAES-256 يبقى قويًا. |
أين تقابله في العمل
🏦في حياتك
القفل في المتصفح وتطبيق البنك ورسائل واتساب كلها تشفير تراه يوميًا.
🧑💻مطوّر
يختار AES-GCM أو مكتبة libsodium، ويوقّع إصداراته، ولا يخزّن مفاتيح في الكود.
اختبر فهمك
التوقيع الرقمي يضمن:
يثبت أن الرسالة لم تُعدَّل وأنها من صاحب المفتاح الخاص، ولا يخفي محتواها.
لماذا اعتمدت NIST خوارزميات ما بعد الكم رغم عدم وجود حاسوب كمي قادر بعد؟
هجوم «اجمع الآن وفك لاحقًا» يهدد البيانات طويلة العمر، والانتقال يستغرق سنوات.
غيّرت حرفًا واحدًا في نص. ماذا يحدث لبصمة SHA-256؟
هذا أثر الانهيار الجليدي، والطول يبقى 64 خانة دائمًا.
أي خوارزمية تشفير متماثل شائعة اليوم؟
RSA غير متماثل، وSHA-256 وMD5 تجزئة لا تشفير.
بماذا يوقّع المرسل رسالته رقميًا؟
ويتحقق أي شخص بمفتاحه العام.
بطاقات مراجعة سريعة
تحقق من فهمك
لماذا يستخدم TLS النوعين معًا بدل غير المتماثل وحده؟
لأن غير المتماثل بطيء، فيُستخدم فقط للاتفاق على مفتاح، ثم المتماثل السريع يشفّر الجلسة كلها.
هل يُعتمد على MD5 لتخزين كلمات المرور أو التحقق من الملفات؟
لا، MD5 مكسورة ويمكن صنع ملفين بالبصمة نفسها. استخدم SHA-256 للملفات وArgon2id لكلمات المرور.
لماذا لا نشفّر كلمات المرور بل نجزئها؟
التشفير يمكن عكسه بالمفتاح، فإن سُرق المفتاح كُشفت كل الكلمات. التجزئة لا تُعكس؛ نقارن البصمات فقط.
مصادر هذا الدرس
مرتّبة بالنوع. ابدأ بالتوثيق الرسمي إذا تبي المرجع الدقيق، وبالمقال أو الفيديو إذا تبي الشرح أولًا.
مقالات1
خلّصت الدرس؟
سجّل الدخول ليُحفظ تقدّمك.