تبادل مفتاح ديفي-هيلمان (Diffie-Hellman key exchange وتختصر إلى D-H) هو بروتوكول تشفيري يسمح لجماعتين من الأشخاص ليس لديهما معرفة مسبقة ببعضهما بإنشاء مفتاح سري مشترك على قناة محادثات غير مؤمنة. هذا المفتاح يمكن استخدامه فيما بعد لتشفير المحادثات اللاحقة باستخدام خوارزمية تشفير بالمفتاح المتماثل. هو من أول البروتوكلات التي ظهرت في مجال كربتوغرافية المفتاح العلني وقد ظهر لاول مرة عام 1976, وفيه يعرض ديفي وهيلمان وسيلة محددة بعينها للقيام بمهمة تبادل المفاتيح وهذا بواسطة مسألة رياضية تسمى مسألة اللوغاريتم المتقطع.
عرض المسألة
عندنا طرفان يريدان التواصل، نرمز للطرفين ب- A و- B , هذان الطرفان متصلان بشبكة ليست امنة ونفرض انه ليس بينها اي وسيلة اتصال امنة، يريدان تشفير الرسائل وفكها بواسطة مفتاح سري مشترك اي فقط هما من يعرف هذا المفتاح. نفرض ان الطرفين يتعاملان بالارقام وان الارقام تقع في مجال محدود منته.
خوارزمية التبادل
اولا وقبل بدأ التواصل هناك عنصران معروفان لكل متصل بالشبكة المتصل بها A و B : عدد أولي q , وجذر بدائي . نفرض أن A و- B يريدان تبادل مفتاح:
- يختار A عددا عشوائيا , ويحسب:
- يختار B عددا عشوائيا , ويحسب:
- يرسل A : ويرسل B : للطرف الاخر. (القيمتين و- سريتين )
- يحسب A :
- يحسب B :
المفتاح المشترك هو أو وذلك لانَّ:
مثال
نفرض أنَّ: ونأخذ جذر بدائي لهذا العدد الاولي في هذه الحالة: نفرض أنَّ A و- B يختاران المفتاحين: . كل منهما يحسب المفتاح العلني:
A يحسب:
B يحسب:
بعد تبادل المفاتيح يحسب كل منهما المفتاح المشترك:
امان الخوارزمية
يعد تمام عملية التبادل، المتطفل أو من ليس A أو B يرى العناصر التالية: . وليميز هذا المتطفل عدد B أو A السري عليه ان يحسبه من القيم التي يراها. لذا عليه استخراج اللوغاريتم المتقطع الخاص ب- أو . هذه المسألة معروف انها من المسائل الصعبة عندما تكون الاعداد كبيرة (بمفهوم معين هي مساوية لمسألة التفكيك لعوامل ) .