تعريف
دالة التجزئة التشفيرية هي خوارزمية رياضية تأخذ أي بيانات مُدخلة، مهما كان حجمها، وتحولها إلى ملخص ثابت الطول. بعض الإصدارات الحديثة، المسماة دوال الإخراج القابلة للتمديد (XOFs)، تُنتج مخرجات ذات طول قابل للتخصيص. تتميز دوال التجزئة بعدة خصائص أساسية: فهي حتمية، أي أن نفس المُدخل يُعطي دائمًا نفس المُخرج؛ وهي مقاومة للصورة الأصلية، لذا يكاد يكون من المستحيل عكس التجزئة للعثور على المُدخل الأصلي؛ وهي مقاومة للتصادم، مما يجعل من المستحيل عمليًا العثور على مُدخلين مختلفين يُنتجان نفس التجزئة؛ وتُظهر تأثير الانهيار، حيث يؤدي حتى تغيير طفيف في المُدخل إلى مُخرج مختلف تمامًا. يستخدم بيتكوين خوارزمية SHA-256 للتعدين وتجزئة المعاملات، بينما يستخدم إيثيريوم خوارزمية Keccak-256، وهي مُتغير من SHA-3. تُعد دوال التجزئة أساس أمان سلسلة الكتل (البلوك تشين) - فهي تُمكّن كل شيء بدءًا من إثبات العمل في التعدين وصولًا إلى إنشاء براهين شجرة ميركل وتوقيع المعاملات.
خصائص دالة التجزئة موضحة
أمثلة على تجزئة SHA-256: المدخلات: "Hello" المخرجات: 185f8db32271fe25f561a6fc938b2e26…
المدخلات: "hello" (أحرف صغيرة) المخرجات: 2cf24dba5fb0a30e26e83b2ac5b9e29e… → مختلف تمامًا (تأثير الانهيار الجليدي)
المدخلات: ملف فيلم بحجم 10 ميجابايت. المخرجات: لا تزال 64 حرفًا سداسيًا عشريًا فقط (256 بت) ← حجم مخرجات ثابت بغض النظر عن حجم المدخلات.
عرض توضيحي لمقاومة الصورة المسبقة: الهدف: إيجاد مُدخل يُنتج "0000abc..." الطريقة الوحيدة: التجربة والخطأ (تجربة مليارات المُدخلات) تعدين البيتكوين: هذا بالضبط - إيجاد قيمة عشوائية (nonce) تُنتج تجزئة أقل من الهدف. عند 500 إكساهاش/ثانية (شبكة البيتكوين): ~500,000,000,000,000,000,000 محاولة/ثانية
مقاومة التصادم: الهدف: إيجاد مدخلين مختلفين ينتجان نفس قيمة التجزئة. SHA-256: لم يتم العثور على أي تصادمات (2^128 عملية للعثور على واحد). SHA-1 (مهمل): تم العثور على تصادمات (جوجل، 2017) ← لم يعد موثوقًا به.
دوال التجزئة المستخدمة في التشفير
| دالة تجزئة | حجم الإنتاج | مستعمل في | الحالة |
| SHA-256 | 256 بت | بيتكوين (التعدين، المعاملات) | |
| كيكاك-256 | 256 بت | إيثيريوم (العناوين، المعاملات) | |
| شا-3-256 | 256 بت | بعض البروتوكولات الأحدث | |
| بليك 2/بلاك 3 | متغير (كـ XOF) | Zcash، وبعض البروتوكولات | آمن، أسرع |
| SHA-1 | 160 بت | النظام القديم (مهمل) | محطم (تم العثور على أثر تصادم) |
| MD5 | 128 بت | النظام القديم (مهمل) | مكسور (حادث تصادم بسيط) |
| ريبدم 160 | 160 بت | اشتقاق عنوان بيتكوين | آمن (باستخدام SHA-256) |
الأسئلة الشائعة
س: لماذا لا يمكننا عكس عملية التجزئة للعثور على المدخلات؟
تتضمن دوال التجزئة عمليات حسابية غير قابلة للعكس، فهي تتجاهل المعلومات عمدًا. يمكنك التحقق من أن قيمة التجزئة للمدخل تساوي قيمة التجزئة للمخرج، لكن لا يمكنك عكس عملية التجزئة للمخرج إلى المدخل رياضيًا. الهجوم العام الوحيد المعروف هو التجربة والخطأ: تجربة العديد من المدخلات حتى العثور على مدخل واحد يُنتج قيمة التجزئة المطلوبة. بالنسبة للمخرجات ذات 256 بت، يتطلب هذا حوالي 2^256 محاولة، أي أكثر من عدد الذرات في الكون المرئي. هذه الخاصية غير القابلة للعكس هي ما يجعل دوال التجزئة مفيدة لتخزين كلمات المرور، والتوقيعات الرقمية، وإثبات العمل.
س: ما هو "تأثير الانهيار الجليدي" ولماذا هو مهم؟
يعني تأثير الانهيار أن تغيير بت واحد (حرف واحد) في المدخلات يُنتج مُخرَج تجزئة مختلفًا تمامًا - عادةً ما يتغير حوالي نصف البتات في المُخرَج. وهذا أمر بالغ الأهمية لأمان سلسلة الكتل: فإذا تم تعديل رأس الكتلة ولو بشكل طفيف (لتغيير طابع زمني أو معاملة)، تتغير التجزئة تمامًا وتصبح غير صالحة، مما يستلزم إعادة إثبات العمل بالكامل. وهذا يجعل سجل معاملات سلسلة الكتل غير قابل للتغيير فعليًا.
س: كيف تُستخدم دوال التجزئة في التوقيعات الرقمية؟
بدلاً من توقيع مستند كبير مباشرةً، يتم أولاً حساب قيمة التجزئة للمستند (مما ينتج عنه 256 بت بغض النظر عن حجم المستند)، ثم يتم توقيع قيمة التجزئة باستخدام المفتاح الخاص. هذه الطريقة فعّالة (توقيع قيمة تجزئة ثابتة الحجم أسرع بكثير من توقيع ملف بحجم غيغابايت) وتحافظ على الأمان (يثبت التوقيع أنك وقّعت هذا المستند تحديداً - أي تعديل يُغيّر قيمة التجزئة ويُبطل التوقيع). جميع توقيعات معاملات البلوك تشين تتبع هذا النمط.









