פרוטוקול דיפי-הלמן
פרוטוקול שיתוף המפתח / ויקיפדיה האנציקלופדיה encyclopedia
בקריפטוגרפיה, פרוטוקול דיפי־הלמן (Diffie-Hellman) הוא פרוטוקול שיתוף המפתח הראשון, שהוצע על ידי ויטפילד דיפי ומרטין הלמן ב־1976 כדי לפתור את בעיית הפצת המפתחות. הפרוטוקול מאפשר לשני משתתפים שלא נפגשו מעולם ואינם חולקים ביניהם סוד משותף כלשהו מראש, להעביר אחד לשני מעל גבי ערוץ פתוח (שאינו מאובטח) סוד כלשהו כך שאיש מלבדם אינו יודע מהו. הסוד יכול להיות, בהקשר של פרוטוקול תקשורת מאובטח, מפתח הצפנה.
פרוטוקול דיפי־הלמן מתמודד עם בעיית הפצת המפתחות על ידי פונקציה חד-כיוונית. בעזרת הפונקציה ניתן להכין מפתח שיחה ארעי (באנגלית: ephemeral key) שיהיה משותף גם לצד השני של השיחה, ולאחר מכן התקשורת יכולה להיות מוצפנת באמצעות מפתח זה עם צופן סימטרי לפי בחירה כמו AES. בגמר השימוש בו המפתח מושמד. אם כל המפתחות בפרוטוקול הם חד־פעמיים ולא חוזרים להשתמש בהם שוב, הרי שהפרוטוקול מספק סודיות מושלמת קדימה במובן שמרגע שהמפתח הושמד אין שום דרך לשחזר אותו, אפילו אם בעתיד תתגלה דרך יעילה לפצח את הפרוטוקול.
ביטחון הפרוטוקול מסתמך על הקושי שבפתרון בעיית דיפי־הלמן (להלן) הדומה לבעיית הלוגריתם הבדיד. הגרסה המתוארת מספקת הגנה על סודיות המפתח המשותף כנגד יריבים פסיביים המסוגלים לצותת לערוץ התקשורת בלבד. היא אינה מספקת הגנה מפני יריב אקטיבי המסוגל ליירט, לחסום או ל'הזריק' מסרים כרצונו. למעשה, הפרוטוקול אינו מספק מה שנקרא "אימות זהויות המשתתפים". הם יכולים להיות סמוכים ובטוחים כי מלבדם אין איש יודע מהו המפתח ששיתפו, אך אינם מקבלים כל ערובה לגבי זהות המשתתף האחר. מסיבה זו הפרוטוקול בגרסה הבסיסית פגיע במיוחד להתקפת אדם באמצע. גרסאות מתקדמות של הפרוטוקול כמו MQV נותנות מענה לבעיה זו.