﻿---
title: "دوال التجزئة التشفيرية"
description: "دليل يركز على التحقق من دوال التجزئة التشفيرية، ويغطي خصائص الأمان وترميز البايتات وSHA-2 وSHA-3 وKeccak واستخداماتها في سلاسل الكتل ومخاطر التنفيذ."
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# دوال التجزئة التشفيرية

> لأغراض تعليمية فقط؛ وليس نصيحة استثمارية أو نصيحة لتنفيذ تقنيات التشفير. لا يثبت تطابق الملخص وحده الأصالة أو الملكية أو التفويض أو النهائية أو إتاحة البيانات.

<a id="answer"></a>

## الإجابة المباشرة

تربط دالة التجزئة التشفيرية بصورة حتمية رسالة ممثلة في صورة بايتات بملخص ذي طول خرج محدد. بالنسبة إلى دالة تجزئة ثابتة الطول من `n` بت، تكون العلاقة الأساسية:

`h = H(m), where h is in {0,1}^n`

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

التجزئة ليست تشفيرًا: فلا يوجد مفتاح لفك التشفير ولا وعد بإمكان استعادة المدخل. ولأن عددًا لا نهائيًا من الرسائل المحتملة يُربط بفضاء خرج محدود، فلا بد من وجود تصادمات؛ ويعني الأمان أن العثور على تصادم مفيد غير عملي حسابيًا بالنسبة إلى الخوارزمية وطول الخرج المختارين.

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

<a id="mechanism"></a>

## آلية العمل

1. **تحديد البايتات بدقة.** يؤثر ترميز النص وحالة الأحرف والمسافات وترتيب الحقول وتمثيل الأعداد الصحيحة وبادئات الطول والتسلسل جميعها في `m`. ويجب أن يحدد البروتوكول ترميزًا معياريًا وأن يربط التجزئة بخوارزمية وإصدار وشبكة وغرض محددين.
2. **تشغيل البنية المحددة.** يعالج SHA-256 مسبقًا رسالة ذات طول محدود، ويقسمها إلى كتل، ثم يحدّث حالة داخلية تكراريًا. ويستخدم SHA3-256 بنية إسفنجية قائمة على KECCAK. ويعيد كلاهما ملخصات من 256 بت، لكنهما دالتان مختلفتان ولا يمكن تبادل خرجيهما.
3. **تفسير الأمان بحسب الخاصية المطلوبة.** بالنسبة إلى دالة تجزئة مثالية من `n` بت، يتطلب البحث العام عن صورة أولية نحو `2^n` عملية تقييم، بينما يتطلب البحث العام عن تصادم نحو `2^(n/2)` بسبب تأثير عيد الميلاد. ولا يكفي طول الخرج وحده إذا كانت الخوارزمية مكسورة أو كان الملخص مقتطعًا أو كان البروتوكول المحيط معيبًا.
4. **بناء البروتوكول حول الملخص.** يمكن لنظام توقيع رقمي أن يوقّع ملخص رسالة؛ ويضيف HMAC مفتاحًا سريًا لمصادقة الرسائل؛ وتُلزم شجرة Merkle بعدد كبير من الأوراق عبر جذر واحد؛ ويعيد إثبات العمل تجزئة رؤوس الكتل المرشحة حتى يحقق ملخص ما قيمة مستهدفة. وتقدم هذه البنى ضمانات مختلفة.
5. **استخدام الدالة الدقيقة للسلسلة.** تستخدم رؤوس كتل Bitcoin وعقد Merkle فيها SHA-256 المزدوج وفق ترتيب بايتات محدد. ويستخدم تنفيذ Ethereum دالة Keccak-256 من تصميم KECCAK السابق للتوحيد القياسي، وليس SHA3-256 القياسية. لذلك لا تكفي تسمية مثل "تجزئة من 256 بت" لإجراء التحقق.
6. **التحقق من السياق قبل استخلاص المعنى.** تحقق من مصدر الملخص المتوقع، ومعرّف الخوارزمية، وترميز البايتات، والمجال أو السلسلة، ومرجع الكتلة والحالة، وحالة التأكيد، وأي اقتطاع. يظل الحساب الصحيح في السياق الخاطئ تحققًا فاشلًا.

<a id="example"></a>

## أمثلة محلولة

- **تغيير ضئيل في المدخل.** قيمة SHA-256 لبايتات UTF-8 الخمسة للنص `hello` هي `2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824`. ويؤدي استبدال البايت الأول بالحرف الكبير `H` إلى `185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969`. ولا تكشف الملخصات المختلفة أي بايت تغير.
- **قوة الأمان لا تساوي طول الملخص في كل نماذج الهجوم.** تقدم دالة تجزئة مثالية من 256 بت نحو `2^256` من عمل البحث عن صورة أولية، لكن نحو `2^128` فقط من عمل البحث عن تصادم. ويهم هذا الفرق عندما يعتمد البروتوكول على مقاومة التصادم، كما يحدث كثيرًا في مسارات عمل التوقيع الرقمي.
- **يثبت برهان Merkle الإدراج نسبة إلى جذر واحد.** يجزّئ المتحقق الورقة المرمزة مع كل عقدة شقيقة مقدمة بالترتيب المحدد حتى يعيد إنشاء الجذر الملتزم به. ولا يثبت التطابق أن الجذر نهائي، أو أن بيانات الورقة صحيحة، أو أن البيانات المحذوفة متاحة.
- **يضيف إثبات العمل قاعدة للقيمة المستهدفة.** لا يتحقق Bitcoin من صحة رأس كتلة مرشح إلا عندما تكون قيمة SHA-256 المزدوجة له، بعد تفسيرها وفق قواعد الإجماع، أقل من القيمة المستهدفة المرمزة أو مساوية لها. ولا يصبح الملخص أكثر مقاومة للتصادم لأن المعدّنين أدوا عملًا أكبر.

<a id="risks"></a>

## المخاطر

- استخدام خوارزمية متقادمة أو غير مناسبة، ولا سيما الاعتماد على SHA-1 عندما تكون مقاومة التصادم مطلوبة.
- معاملة SHA3-256 وKeccak-256 وSHA-256 وSHA-256 المزدوج والمتغيرات المقتطعة بطرق مختلفة على أنها قابلة للتبادل.
- تجزئة النص المعروض بدلًا من البايتات المعيارية، أو إغفال تطبيع Unicode والمسافات وترتيب البايتات وترتيب الحقول وترميز الأطوال.
- تنزيل ملف وملخصه المتوقع من الموقع المخترق نفسه، وهو ما لا يوفر فحصًا مستقلًا للسلامة.
- استخدام دالة تجزئة عامة سريعة مباشرة لتخزين كلمات المرور بدلًا من نظام مملّح ومخصص لتجزئة كلمات المرور ذي عامل عمل مناسب.
- استخدام `H(secret || message)` بوصفه رمز مصادقة مصممًا يدويًا؛ إذ تسمح بعض بنى التجزئة التكرارية بهجمات تمديد الطول، بينما صُمم HMAC للمصادقة باستخدام مفتاح.
- اقتطاع الملخصات من دون حساب ما ينتج من مستوى أمان ضد التصادم والصورة الأولية وفق نطاق البروتوكول ونموذج تهديده.
- إعادة استخدام ترميز عبر بروتوكولات مختلفة من دون فصل المجالات، بما يسمح بتفسير ملخص صالح في سياق ما داخل سياق آخر.
- افتراض أن تجزئة المعاملة تثبت التأكيد أو النهائية أو نجاح التنفيذ أو الملكية أو عدم إمكان إعادة تنظيم السلسلة.
- افتراض أن تجزئة المحتوى تجعل البيانات المشار إليها قابلة للاسترجاع؛ فقد يظل الالتزام صالحًا رغم اختفاء كل نسخة متاحة.
- مقارنة السلاسل النصية في مستكشفات الكتل من دون التحقق من ترتيب البايتات أو قواعد البادئات أو التسلسل أو ما إذا كانت الواجهة تعرض معرّفًا داخليًا بصورة مختلفة.
- تنفيذ أوليات التشفير من دون متجهات اختبار قياسية ومكتبات خاضعة للصيانة ومراجعة مستقلة وإجراءات للترقية.

<a id="misconceptions"></a>

## مفاهيم شائعة خاطئة

- **التجزئة بيانات مشفرة.** يمكن عكس التشفير باستخدام المفتاح الصحيح؛ أما التجزئة التشفيرية فهي ملخص أحادي الاتجاه لا يملك عملية لفك التشفير.
- **لا يمكن أبدًا أن يشترك مدخلان مختلفان في ملخص واحد.** لا بد من وجود تصادمات مع خرج ثابت الطول. ويجعل التصميم الآمن العثور عليها واستغلالها غير عمليين.
- **يوفر الملخص من 256 بت دائمًا أمانًا بمقدار 256 بت.** تبلغ مقاومة التصادم العامة نحو 128 بت لدالة تجزئة مثالية من 256 بت، وقد تقللها خيارات البروتوكول أكثر.
- **يثبت تطابق التجزئات هوية منشئ الرسالة.** لا تحتوي التجزئة المجردة على سر ولا تصادق على أي مرسل؛ استخدم توقيعًا أو MAC مناسبًا عندما يكون المصدر مهمًا.
- **Keccak-256 وSHA3-256 اسمان للدالة نفسها.** تستخدمان تصميمين وثيقي الصلة، لكن معاملات التوحيد القياسي تختلف وتنتجان ملخصين مختلفين.
- **تثبت تجزئة معاملة على السلسلة تسويتها.** فهي تعرّف بيانات المعاملة المرمزة؛ أما إدراجها في السلسلة وحالة تنفيذها وتأكيداتها ونهائيتها فهي حقائق منفصلة.

<a id="related"></a>

## موضوعات ذات صلة

- [سلسلة الكتل](/ar/crypto/blockchain/)
- [معضلة سلسلة الكتل الثلاثية](/ar/crypto/blockchain-trilemma/)
- [شجرة Merkle](/ar/crypto/merkle-tree/)
- [إثبات العمل](/ar/crypto/proof-of-work/)

<a id="sources"></a>

## المصادر

- [دوال التجزئة](https://csrc.nist.gov/projects/hash-functions) - NIST (تاريخ الاطلاع: 2026-08-20)
- [معيار التجزئة الآمنة (SHS)](https://doi.org/10.6028/NIST.FIPS.180-4) - NIST (تاريخ الاطلاع: 2026-08-20)
- [معيار SHA-3: دوال التجزئة والخرج القابل للتمديد القائمة على التبديل](https://doi.org/10.6028/NIST.FIPS.202) - NIST (تاريخ الاطلاع: 2026-08-20)
- [مرجع مطوري Bitcoin: سلسلة الكتل](https://developer.bitcoin.org/reference/block_chain.html) - Bitcoin.org (تاريخ الاطلاع: 2026-08-20)
- [الورقة الصفراء لـ Ethereum](https://ethereum.github.io/yellowpaper/paper.pdf) - Ethereum (تاريخ الاطلاع: 2026-08-20)

Source: https://wiki.fcontext.com/ar/crypto/cryptographic-hash/index.mdx
