كشف أسرار التجزئة التشفيرية (Hashing): لماذا هي غير قابلة للعكس وكيف تحمي كلمات مرورك
في عالم الأمن السيبراني، تعتبر التجزئة (Hashing) واحدة من أكثر المفاهيم الأساسية ولكنها غالباً ما تُفهم بشكل خاطئ. إنها الدرع غير المرئي الذي يحمي كلمات مرورك، ويتحقق من سلامة تحميلاتك، ويدعم تقنية البلوكشين.
ولكن ما هي التجزئة بالضبط؟ ولماذا لا يمكننا “فك تشفيرها”؟ والأهم من ذلك، إذا كانت غير قابلة للعكس، فكيف يعرف الموقع الإلكتروني أنك أدخلت كلمة المرور الصحيحة؟
1. ما هي دالة التجزئة (Hash Function)؟
دالة التجزئة التشفيرية هي خوارزمية رياضية تأخذ مدخلات (أو “رسالة”) بأي حجم وتحولها إلى سلسلة من الأحرف ذات حجم ثابت، والتي تبدو عادةً كأنها تسلسل عشوائي من الحروف والأرقام.
القواعد الذهبية للتجزئة:
- حتمية (Deterministic): نفس المدخلات ستنتج دائماً نفس قيمة التجزئة بالضبط.
- سريعة الحساب: يجب أن تكون الخوارزمية سريعة بما يكفي للاستخدام العملي.
- حجم مخرجات ثابت: سواء قمت بتجزئة كلمة واحدة أو مكتبة كاملة من الكتب، فإن طول المخرجات يظل كما هو (على سبيل المثال، 256 بت لـ SHA-256).
- تأثير الانهيار (Avalanche Effect): أي تغيير بسيط في المدخلات (مثل تغيير حرف واحد) يؤدي إلى نتيجة تجزئة مختلفة تماماً.
2. لماذا التجزئة غير قابلة للعكس؟
على عكس التشفير (Encryption)، الذي يعد طريقاً ذا اتجاهين (يمكنك التشفير ثم فك التشفير باستخدام مفتاح)، فإن التجزئة هي طريق ذو اتجاه واحد. بمجرد حصولك على قيمة التجزئة، لا يمكنك “عكسها” للحصول على البيانات الأصلية.
تشبيه “خلط الطلاء”
تخيل أن لديك دلواً من الطلاء الأزرق ودلواً من الطلاء الأصفر. إذا قمت بخلطهما، ستحصل على اللون الأخضر. وبينما يسهل تكوين اللون الأخضر من الأزرق والأصفر، فمن المستحيل فيزيائياً أخذ ذلك الطلاء الأخضر وفصله تماماً ليعود إلى دلو الأزرق ودلو الأصفر الأصليين.
السبب الرياضي: فقدان المعلومات
تم تصميم خوارزميات التجزئة للتخلص من المعلومات عن قصد. على سبيل المثال، إذا كان لديك “قاعدة تجزئة” بسيطة تقول: “اجمع الأرقام وخذ الرقم الأخير فقط”، فإن:
- المدخلات
15->1+5 = 6 - المدخلات
24->2+4 = 6
إذا رأيت النتيجة 6 فقط، فليس لديك طريقة لمعرفة ما إذا كانت المدخلات الأصلية 15 أم 24 أم 33 أم أي تركيبة أخرى. في الخوارزميات الحقيقية مثل SHA-256، يكون التعقيد فلكياً، لكن المبدأ يظل كما هو: يتم تكثيف المعلومات والتخلص من جزء منها.
3. إذا كانت غير قابلة للعكس، فكيف تتم مطابقة كلمة المرور؟
هذا هو السؤال الأكثر شيوعاً: إذا كان الموقع يخزن كلمة مروري كقيمة تجزئة ولا يمكنه عكسها، فكيف يعرف أنني قمت بتسجيل الدخول بشكل صحيح؟
الإجابة بسيطة: هم لا يتحققون من كلمة المرور؛ بل يتحققون من قيمة التجزئة.
سير عملية التحقق:
- التسجيل: عندما تنشئ حساباً، يأخذ الخادم كلمة مرورك (مثل
MySecret123) ويقوم بتجزئتها، ويخزن فقط قيمة التجزئة في قاعدة البيانات. - محاولة تسجيل الدخول: عندما تحاول تسجيل الدخول، تدخل كلمة مرورك مرة أخرى.
- المقارنة: يأخذ الخادم كلمة المرور التي كتبتها للتو ويمررها عبر نفس خوارزمية التجزئة.
- المطابقة: يقارن الخادم بين قيمة التجزئة الجديدة وقيمة التجزئة المخزنة.
- إذا كانت
Hash(Input)==Stored Hash، فهذا يعني أن كلمة المرور صحيحة. - إذا لم يتطابقا، فكلمة المرور خاطئة.
- إذا كانت
الخادم لا “يعرف” أبداً ما هي كلمة مرورك الحقيقية. إنه يعرف فقط أن المدخلات التي قدمتها تنتج البصمة الرقمية الرياضية المتوقعة.
4. الأمن الحديث: إضافة “الملح” (Salt)
بما أن التجزئة حتمية، فإن كلمة مرور شائعة مثل password123 ستنتج دائماً نفس قيمة التجزئة. يستخدم الهاكرز “جداول قوس قزح” (Rainbow Tables) — وهي قوائم مسبقة الحساب للقيم المجزئة لكلمات المرور الشائعة — لكسرها فوراً.
لمنع ذلك، تستخدم الأنظمة الحديثة الملح (Salt) — وهي سلسلة عشوائية تُضاف إلى كلمة مرورك قبل تجزئتها:
Hash(Password + Salt) = Secure Hash
يضمن ذلك أنه حتى لو كان لدى مستخدمين نفس كلمة المرور، فإن قيم التجزئة المخزنة لهما ستكون مختلفة تماماً.
ملخص
| المفهوم | الغرض | القابلية للعكس |
|---|---|---|
| التشفير | التواصل السري | قابل للعكس (باستخدام مفتاح) |
| التجزئة | سلامة البيانات وأمن كلمات المرور | غير قابلة للعكس |
التجزئة هي حجر الزاوية في الثقة الرقمية الحديثة. من خلال تحويل البيانات الحساسة إلى بصمات غير قابلة للعكس، يمكننا التحقق من الهويات وتأمين الأنظمة دون الحاجة أبداً إلى الكشف عن الأسرار الأصلية.