MD4
MD4 הוא אלגוריתם תמצות מסרים הרביעי בסדרה, שפיתח רונלד ריבסט מהמכון הטכנולוגי של מסצ'וסטס בשנת 1990. האלגוריתם הוא חלק ממשפחה של פונקציות גיבוב קריפטוגרפיות לבדיקת שלמות ונכונות הקלט. פלט האלגוריתם הוא באורך 128 סיביות. האלגוריתם השפיע על פיתוחים מתקדמים יותר כגון MD5, SHA, ו RIPEMD.
חולשתו של האלגוריתם הוצגה לראשונה על ידי דן בואר וסודלארס בכתב עת שהופיע ב-1991. באוגוסט 2004, דיווחו מדענים כי הצליחו ליצור התנגשויות ב-MD4 על ידי שימוש ב "התנגשויות יד" (התקפה על ידי התנגשויות ולא על ידי פונקציית הפוכה). כמו כן ההתקפה צלחה במציאת התנגשויות בפונקציות גיבוב חדשות יותר במשפחת MD4/MD5/SHA/RIPEMD. הזמן הממוצע למציאת התנגשות במחשב מודרני הוא כ-5 שניות.[1]
וריאנט של MD4 ממומש כיום ברשת לשיתוף קבצים הפופולרית eDonkey2000/ eMule.
פונקציות גיבוב של MD4
המסר של 128 ביט (16 בתים) של MD4 כרגיל מיוצג על ידי 32 ספרות בבסיס הקסדצימלי. דוגמה לפנגרם עם הקוד MD4 שלו:
אפילו שינוי קטן בקלט יוביל לשינוי דרסטי בקוד ה MD4: למשל אם נשנה את האות d לאות c נקבל:
הקוד של מחרוזת בגודל אפס תהיה: