> ## Content Index
> Fetch the complete content index at: https://informatic-ar.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# خوارزمية Diffie-Hellman (رؤية من الداخل)
- URL: https://informatic-ar.com/diffie-hellman-algorithm/
- Published: 2013-09-29T14:29:49.000Z
- Updated: 2026-10-03T22:32:10.000Z
- Author: أحمد محمد
- Tags: أمن المعلومات, تشفير, diffie-hellman, تبادل المفاتيح, #wordpress-archive, #Import 2026-10-03 20:48

السلام عليكم و رحمة الله و بركاته

في هذه المقالة, سأضع بين أيديكم شرحا لخوارزمية **Diffie-Hellman** و كلي أمل بأن يستفيد الجميع.

[![Couverture](https://informatic-ar.com/wp-content/uploads/2013/09/Couverture-300x300.png)](https://informatic-ar.com/wp-content/uploads/2013/09/Couverture.png)

قمتُ بإدخال بعض الروابط المهمة في بعض الكلمات للذين يريدون الاستزادة, الكتابة المُظللة, ذات اللون الأزرق تدل على وجود رابط, مثل هذه الكتابة [انفورماتيك.](https://informatic-ar.com/)

**فهرس المقالة :**

1. **مُقدمة**  
  - ما هو التشفير ؟
  - التشفير في العصر القديم
  - التشفير الحديث
2. **نظرة تحليلية على الخوارزمية**  
  - فكرة الخوارزمية
  - البروتوكول
  - مثال تطبيقي
  - التعقيد الزمني
3. الخاتمة
4. المراجع

**1\. مُقدمة**

- 1.1 ما هو التشفير ؟
- 1.2 التشفير في العصر القديم
- 1.3 التشفير الحديث

**1.1 - ما هو التشفير ؟**  
هو عملية يتم فيها إخفاء المعلومات عن طريق مفتاح سري وخوارزمية, حيث يمكن للشخص الذي يعرف المفتاح و خوارزمية التشفير, فك الشفرة ( أي استعادة المعلومات الأصلية), يمكن أيضاً أن يقوم شخص آخر لا يعرف المفتاح و لا الخوارزمية بفك الشفرة !! و تُسمى العملية هنا "عملية غير مخولة".  
 في عام 1900 قبل الميلاد لم تكن هناك سوى مصطلحات هيروغليفية, استخدم الإنسان التشفير منذ حوالي ألفي عام قبل الميلاد لحماية رسائله السرية, وبلغ هذا الاستخدام ذروته في فترات الحروب, خوفا من وقوع الرسائل الحساسة في أيدي الأعداء, فالحروب دائما كانت الملهم الأكبر لظهور خوارزميات التشفير.(1)

**1.2 - التشفير في العصر القديم**  
يُعد [علم التشفير](http://en.wikipedia.org/wiki/Cryptography?ref=informatic-ar.com "رابط خارجي") من أقدم العلوم الموجودة في يومنا هذا حيث تمتد أصوله إلى زمن [الفراعنة](http://en.wikipedia.org/wiki/Pharaoh?ref=informatic-ar.com "رابط خارجي") و [القياصرة](http://en.wikipedia.org/wiki/Caesar%5F%28title%29?ref=informatic-ar.com "رابط خارجي") أيضا, فقد كان الفراعنة أول من قام بعملية التشفير للتراسل بين قطاعات الجيش, دون أن ننسى أن أفضل طريقة استُخدمت في القدم هي طريقة يوليوس قيصر ([Julius Caesar](http://en.wikipedia.org/wiki/Julius%5FCaesar?ref=informatic-ar.com "رابط خارجي")) وهو أحد قياصرة الروم, كما استخدم الصينيون القدامى طُرقا عديدة في علم التشفير والتعمية لنقل الرسائل السرية أثناء الحروب, فقد كانوا يستخدمون التشفير من أجل إخفاء الشكل الحقيقي للرسائل حتى لو سقطت في يد العدو فإنه يصعب عليه فهمها.  
كما يُعتبر علماء المسلمين و العرب أول من اكتشف طرق استخراج المعمَّى(2), من أشهرهم العلامة [يعقوب بن إسحاق الكندي](http://ar.wikipedia.org/wiki/%D9%8A%D8%B9%D9%82%D9%88%D8%A8%5F%D8%A8%D9%86%5F%D8%A5%D8%B3%D8%AD%D8%A7%D9%82%5F%D8%A7%D9%84%D9%83%D9%86%D8%AF%D9%8A?ref=informatic-ar.com "رابط خارجي") و [ابن وَحشِيَّة النبطي](http://www.diwanalarab.com/spip.php?article7624&ref=informatic-ar.com "رابط خارجي") الذي كشف اللثام عن رموز الهيروغليفية قبل أن يكتشفها العالم الفرنسي [Jean-François Champollion](http://en.wikipedia.org/wiki/Jean-Fran%C3%A7ois%5FChampollion?ref=informatic-ar.com "رابط خارجي") بعشرة قرون !! (3), و كذلك اشتهر [ابن دريهم](http://www.alukah.net/Literature%5FLanguage/0/2661/?ref=informatic-ar.com "رابط خارجي") الذي كان لا يشق له غبار في فك التشفير فكانت تُعطى له الرسالة معماة فما إن يراها حتى يحولها في الحين إلى العربية ويقرئها .. وله قصيدة طويلة يشرح فيها مختلف الطرق في تعمية النصوص وكان يحسن قراءة الهيرغليفية.(4)  
يعتبر البعض أن طريقة الألغاز كانت من أوائل الطرق الـُمستخدمة قديما في التشفير, فكانوا يأخذون جملة, مثل (ادفع لي أجرا ) ويدخلون كل حرف في بداية كلمة جديدة فتصبح (إذا دخل فاروق عليه لباس يبدو أكثر جمالا راتبه أكثر) وللحصول على الجملة المطلوبة نأخذ الحروف التي تبدأ بها كلمات الجملة الجديدة فنحصل على (ادفع لي أجرا).  
لكن هذه الطريقة صعبة جداً خاصة إذا كانت حجم المعلومات المـُراد إرسالها كبيراً حيث تكمن صعوبتها في إيجاد جمل تحمل المعلومات المطلوبة ولها مدلول واضح لا يثير الشك، لذا فإن هذا النوع نادراً ما يُستخدم في الوقت الحالي.

**1.3 - التشفير الحديث**  
في العصر الحديث, تُعد [آلة Enigma](http://en.wikipedia.org/wiki/Enigma%5Fmachine?ref=informatic-ar.com "رابط خارجي") التي استخدمها الجيش الألماني في الحرب العالمية الثانية, أبرز مثال على استخدام التعمية لتحقيق تفوق على العدو في مجال الاتصالات، وكانت الأبحاث التي جرت بشكل منفصل في كل من المؤسستين العسكريتين الأمريكية والبريطانية في سبعينيات القرن العشرين فتحا جديدا فيما صار يعرف الآن بتقنيات التعمية القوية المعتمدة على الحوسبة، وارتبطت التعمية بعلوم الجبر ونظرية الأعداد ونظرية التعقيد ونظرية المعلوماتية.  
 في نهاية السبعينات من القرن المنصرم, و مع الاستخدام المـُكثف لأجهزة الكمبيوتر, دخل علم التشفير مرحلة جديدة حيث أصبح البعض يُسميه "التشفير الحديث" (Modern cryptography) و مع التطور السريع الذي يشهده مجال الحماية و الأمن, أصبحت الحاجة ملحة لطرق تشفير قوية, لأن زيادة سرعة الكمبيوتر تعني قصر الوقت الذي يحتاجه الأخير لكسر أو كشف مفتاح تشفير معين.  
يرجع الفضل في إظهار مفهوم التشفير الغير متناظر إلى الرائدين [Whitfield Diffie](http://fr.wikipedia.org/wiki/Whitfield%5FDiffie?ref=informatic-ar.com "رابط خارجي") و [Martin Hellman](http://fr.wikipedia.org/wiki/Martin%5FHellman?ref=informatic-ar.com "رابط خارجي"), حيث قدَّما هذا المفهوم لأول مرة في [المؤتمر الوطني للحاسوب](http://www.bricklin.com/history/saincc.htm?ref=informatic-ar.com "رابط خارجي") في عام 1976 (5) قبل أن يتم نشره بعد بضعة أشهر  (6) في "التوجهات الجديدة في علم التشفير" (New Directions in Cryptography).

[![Diffie-Hellman](https://informatic-ar.com/wp-content/uploads/2013/09/Diffie-Hellman-300x145.png)](https://informatic-ar.com/wp-content/uploads/2013/09/Diffie-Hellman.png)

يظل المخترع الأب مُختفيا خلف الكواليس - كما يحدث دائما في تاريخ التشفير - إذْ يعتبر البعض (7) أن الباحث الأمريكي [Ralph Merkle](http://fr.wikipedia.org/wiki/Ralph%5FMerkle?ref=informatic-ar.com "رابط خارجي") هو أول من اكتشف فكرة "تشفير المفتاح العام" ([Cryptography Asymmetric](http://en.wikipedia.org/wiki/Public-key%5Fcryptography?ref=informatic-ar.com "رابط خارجي")) بشكل مستقل, رغم أن كتاباته (8) عن الموضوع لم تُنشر إلا مؤخرا.

[![Ralph Merkle](https://informatic-ar.com/wp-content/uploads/2013/09/Ralph-Merkle.png)](https://informatic-ar.com/wp-content/uploads/2013/09/Ralph-Merkle.png)

لم يستطع كل من W. Diffie و M. Hellman تقديم مثال حي على نظام المفتاح العام في البحث الذي قدماه سنة 1976\. كان يجب عليهم أن ينتظروا سنة 1978 للحصول على مثال واقعي(9) مُقدم من طرف الثلاثي المميز : [Adi Shamir](http://fr.wikipedia.org/wiki/Adi%5FShamir?ref=informatic-ar.com "رابط خارجي"), [Ronald Rivest](http://fr.wikipedia.org/wiki/Ronald%5FRivest?ref=informatic-ar.com "رابط خارجي") and [Leonard Adleman](http://fr.wikipedia.org/wiki/Leonard%5FAdleman?ref=informatic-ar.com "رابط خارجي")

[![Ronald Rivest, Adi Shamir and Leonard Adleman](https://informatic-ar.com/wp-content/uploads/2013/09/Ronald-Rivest-Adi-Shamir-and-Leonard-Adleman-300x100.png)](https://informatic-ar.com/wp-content/uploads/2013/09/Ronald-Rivest-Adi-Shamir-and-Leonard-Adleman.png)

**2\. نظرة تحليلية على الخوارزمية**

- 2.1 - فكرة الخوارزمية
- 2.2 - البروتوكول
- 2.3 – مثال تطبيقي
- 2.4 - التعقيد الزمني

**2.1 - فكرة الخوارزمية**  
تُعتبر [خوارزمية](http://en.wikipedia.org/wiki/Algorithm?ref=informatic-ar.com "رابط خارجي") [D-H](http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman%5Fkey%5Fexchange?ref=informatic-ar.com "رابط خارجي") الأول من نوعها في موضوع تبديل [المفاتيح](http://fr.vikidia.org/wiki/Clef%5Fpublique?ref=informatic-ar.com "رابط خارجي"), حيث تسمح لشخصين (عادة ما يُطلق عليهما Alice و Bob) بتبادل بيانات حساسة دون أن يفهمها الطرف الثالث (المتصنت) حتى و لو حصل على نسخة منها. تعتمد الخوارزمية في عملها على إنشاء مفتاح سري مشترك يمكن استخدامه فيما بعد لتشفير المحادثات باستخدام خوارزمية تشفير مفتاح متماثل Symmetric-key.

[![Alice and Bob](https://informatic-ar.com/wp-content/uploads/2013/09/Alice-and-Bob-300x156.png)](https://informatic-ar.com/wp-content/uploads/2013/09/Alice-and-Bob.png)

**2.2 – البروتوكول**

- ليكن n و B العددان الصحيحان اللذان اختارهما كل من Alice و Bob علناً, n و B يجب أن يكونا أوليين فيما بينهما.
- سريا, تختار Alice بدورها عددا صحيحا بشكل عشوائي, نُسميه a, ثم تحسب العدد [![image1](https://informatic-ar.com/wp-content/uploads/2013/09/image1.png)](https://informatic-ar.com/wp-content/uploads/2013/09/image1.png) ثم تُرسل - علناً - العدد الجديد إلى Bob.
- يقوم Bob بنفس الحركة السابقة: يختار بشكل سري عددا عشوائيا g ثم يحسب [![image2](https://informatic-ar.com/wp-content/uploads/2013/09/image2.png)](https://informatic-ar.com/wp-content/uploads/2013/09/image2.png) ثم يُرسل الناتج إلى Alice.
- من الآن فصاعدا, كل طرف يملك نتيجة حساب الآخر, Alice ما عليها سوى حساب [![image3](https://informatic-ar.com/wp-content/uploads/2013/09/image3.png)](https://informatic-ar.com/wp-content/uploads/2013/09/image3.png) و Bob ما عليه سوى حساب [![image4](https://informatic-ar.com/wp-content/uploads/2013/09/image4.png)](https://informatic-ar.com/wp-content/uploads/2013/09/image4.png) و انتهى الأمر !

في الحقيقة, فإن العددان السابقان متساويان :

[![post-219439-073764400 1344288997](https://informatic-ar.com/wp-content/uploads/2013/09/post-219439-073764400-1344288997-300x33.png)](https://informatic-ar.com/wp-content/uploads/2013/09/post-219439-073764400-1344288997.png)

 الآن, أصبح Alice و Bob يمتلكان العدد [![image5](https://informatic-ar.com/wp-content/uploads/2013/09/image5.png)](https://informatic-ar.com/wp-content/uploads/2013/09/image5.png) و الذي لا يعرفه أحد سواهما, يمكنهما استخدام هذا العدد كمفتاح, و يمكنها أن يتبادلا البيانات الحساسة أمام الجميع ...!

لكن, **كيف يمكن هذا ؟؟**   
لا يُمكن للطرف الثالث (المتصنت) أن يعرف العدد a أو g (هذا العددان ضروريان لإيجاد العدد [![image6](https://informatic-ar.com/wp-content/uploads/2013/09/image6.png)](https://informatic-ar.com/wp-content/uploads/2013/09/image6.png) ), العددان السابقان لا يدخلان ضمن المعلومات المتبادلة علنا, المعلومات التي يمكن للمتصنت الحصول عليها هي n, B, A and G و لتحديد a انطلاقا من A يجب تخطي عقبة [Discrete logarithm](http://en.wikipedia.org/wiki/Discrete%5Flogarithm?ref=informatic-ar.com "رابط خارجي") التي من المستحيل "عمليا" كسرها حتى يومنا هذا.

**كيف تتأكد Alice من وصول الرسالة إلى Bob و عدم تحريفها ؟**  
عندما تُرسل Alice رسالة سوف يتم تشفيرها بالمفتاح الخاص بها أو المفتاح العام التابع لــ Bob، بحيث تتحول هذه الرسالة إلى رموز لا يمكن فهمها ويتم إرفاق معها توقيع المـُرسل.  
 عند إذن يقوم المستقبل بإرسال نسخه من التوقيع الالكتروني إلى الجهة المختصة بإصدار الشهادة، لتتأكد من صحة التوقيع ومن ثم تقوم أجهزة الكمبيوتر التابعة للجهة المختصة بالتحقق من صحة التوقيع وتُعاد النتيجة للمستقبل مرة أخرى، ليتأكد من صحة وسلامة الرسالة، فيقوم المستقبل بقراءة الرسالة وذلك باستخدام مفتاحه الخاص إذا كان التشفير قد تم على أساس رقمه العام أو بواسطة الرقم العام للمرسل إذا تم التشفير بواسطة الرقم الخاص للمرسل، ومن ثم يجيب على المرسل باستخدام نفس الطريقة وهكذا تتكرر العملية، و يُستخدم أيضا مع التوقيع الالكتروني عملية الهاش التي توفر تكلفة أقل من تشفير الرسالة بحيث تقوم بإنشاء قيمة رقمية معينة تكون أصغر من الرسالة بحيث تضمن عدم تغييرها, عندما يستقبل المستخدم الرسالة و الهاش يقوم بعملية الهاش مرة أخرى على هذه الأخيرة ومن ثم يقارن ما بين الهاش الأصلي و الهاش المـُستقبل, إذا كانت القيم متساوية فهذا يدل على سلامة البيانات من التحريف والتزوير وإذا اختلفت القيم دل ذلك على تزوير الرسالة. (10)

**2.3 – مثال تطبيقي**  
**الجزء الأخضر** يُمثل البيانات العامة التي يتم تبادلها أمام الجميع بينما يُمثل **الجزء الأحمر** البيانات الخاصة بكل طرف:

[![Example](https://informatic-ar.com/wp-content/uploads/2013/09/Example-300x95.png)](https://informatic-ar.com/wp-content/uploads/2013/09/Example.png)

يُمكن لــ Alice و Bob أن يستخدما العدد **107** كمفتاح لتشفير الرسائل المـُتبادلة بينهما (11), عمليا نستخدم أعداد ضخمة جدا و لكن الهدف هنا هو توضيح الفكرة فقط.

**2.4 - التعقيد الزمني**  
عند تطبيق الخوارزمية سيتم حساب أربع exponentiations mod p, باستخدام خوارزمية [الأس المعياري](http://en.wikipedia.org/wiki/Modular%5Fexponentiation?ref=informatic-ar.com "رابط خارجي") [السريع](http://en.wikipedia.org/wiki/Exponentiation%5Fby%5Fsquaring?ref=informatic-ar.com "رابط خارجي") فإن وقت التنفيذ يتغير بتغير حجم العدد p الذي عادة ما يكون عددا أوليا ضخما. (12)  
إذا أردنا تبادل مفتاح حجمه L سيكون عدد الـ binary operations يساوي [![image7](https://informatic-ar.com/wp-content/uploads/2013/09/image7.png)](https://informatic-ar.com/wp-content/uploads/2013/09/image7.png)

**3\. الخاتمة**  
إلى هنا أصل بك أخي القارئ إلى نهاية هذه الجولة السريعة, بالطبع الموضوع شيق و يحتاج إلى الكثير من الشرح, ما زالت هناك العديد من النقاط التي كنت أود التحدث عنها (لكن أخاف أن يزيد الحجم عن حجم المقالة القياسي) مثل كتابة [الخوارزمية بلغة الــ Java](http://code.google.com/p/joid/source/browse/trunk/src/org/verisign/joid/DiffieHellman.java?r=96&ref=informatic-ar.com "رابط خارجي") أو [السي++](http://www.example-code.com/vcpp/dh%5Fkey%5Fexchange.asp?ref=informatic-ar.com "رابط خارجي") و إدراج [خوارزمية DSS](http://en.wikipedia.org/wiki/Digital%5FSignature%5FStandard?ref=informatic-ar.com "رابط خارجي") في D-H من أجل إضافة التواقيع الرقمية ([Digital signature](http://en.wikipedia.org/wiki/Digital%5Fsignature?ref=informatic-ar.com "رابط خارجي")) إلى البيانات المـُتبادلة و الكثير الكثير من النقاط المهمة التي ربما أكتب عنها لاحقا.

**4\. المراجع**  
(1) : [ما هو التشفير ؟](http://www.ejabah.info/wiki/%D9%85%D8%A7%5F%D9%87%D9%88%5F%D8%A7%D9%84%D8%AA%D8%B4%D9%81%D9%8A%D8%B1%28Cryptographic%29%5F%D8%9F?ref=informatic-ar.com "رابط خارجي") \- موسوعة الأسئلة والإجابات الحرة  
 (2) : THE CODEBREAKERS, David Kahn, page 93 ; Kahn on Codes, David Kahn, page 41  
 (3) : [كتاب علم التعمية واستخراج المعمَّى عند العرب](http://www.moslimonline.com/?page=detials&id=254&ref=informatic-ar.com "رابط خارجي")  
 (4) : [ابن الدريهم وجهوده في علم التعمية (التشفير)](http://www.alukah.net/Literature%5FLanguage/0/2661/?ref=informatic-ar.com "رابط خارجي"), الدكتور محمد حسان الطيان  
 (5) : W. Diffie and M.E. Hellman, Multiuser cryptographic technics, Proceedings of AFIPS National Computer Conference, 109-112, 1976  
 (6) : W. Diffie and M.E. Hellman, New directions in cryptography, IEEE transactions on information theory, 22(1976), 644-654  
 (7) : A.J. Menezes, P.C Van Oorschot, S.A. Vanstone, Handbook of applied cryptography, CRC Press, 1997, p47  
 (8) : R.C. Merkle, Secure communications over insecure channels, Communications of the ACM, 21(1978),294-299  
 (9) : Ronald Rivest, Adi Shamir, Leonard Adleman, A Method for Obtaining Digital Signatures and Public-key Cryptosystems, Communications of the ACM, 21(1978), 120-126  
 (10) : التوقيع الالكتروني .. خطوة إلى الأمام, جريدة الخليج الإماراتية - الملحق الاقتصادي  
 (11) : [Exemple d'algorithme asymétrique : Diffie-Hellman](http://sebsauvage.net/comprendre/encryptage/crypto%5Fdh.html?ref=informatic-ar.com "رابط خارجي")  
 (12) : [La Naissance de la Cryptographie Asymétrique](http://www-polsys.lip6.fr/%7Erenault/CryptoL3/cours5.pdf?ref=informatic-ar.com "رابط خارجي"), Guénaël Renault, SALSA - LIP6/UPMC - 14 mars 2012

تحياتي.