דלג לתוכן

יוצר MD5 גיבוב מקוון - כלי הצפנת MD5 חינמי

כלי זה מחשב גיבוב MD5 מטקסט בתוך הדפדפן, ומפיק סכום ביקורת בן 128 סיביות כמחרוזת הקסדצימלית באורך 32 תווים. העיבוד מתבצע בצד הלקוח, ללא שליחת נתונים לשרת.

יוצר גיבוב MD5

מחשבון טעינה...
📚

תיעוד

מהו מחולל גיבוב מסוג MD5?

מחולל גיבוב מסוג MD5 הוא כלי שהופך כל קטע טקסט לקוד באורך קבוע הנקרא גיבוב MD5. MD5 הוא קיצור של Message-Digest Algorithm 5, פונקציית גיבוב שפורסמה בשנת 1992. הזנה של מילה, משפט או קובץ שלם תמיד מפיקה תוצאה זהה באורך 32 תווים, ואפילו שינוי זעיר בקלט מפיק תוצאה שונה לחלוטין. כלי זה מפעיל את האלגוריתם ישירות בדפדפן באמצעות JavaScript, ולכן הטקסט שהוקלד לעולם אינו נשלח לשרת.

כיצד פועל גיבוב MD5

MD5 היא פונקציה חד־כיוונית. היא מקבלת קלט בכל אורך ומפיקה פלט בגודל קבוע הנקרא גיבוב או תקציר. "חד־כיוונית" פירושו שאי אפשר להפוך את התהליך: אין שיטה לשחזר את הטקסט המקורי מהגיבוב בלבד.

האלגוריתם מעבד את הנתונים בשלבים הבאים:

  1. ההודעה מומרת לבתים ומרופדת כך שאורכה יהיה כפולה של 512 סיביות.
  2. מצורף שדה באורך 64 סיביות המתעד את האורך המקורי של ההודעה.
  3. ארבעה מספרים באורך 32 סיביות מאותחלים לערכי התחלה קבועים.
  4. ההודעה המרופדת מחולקת לבלוקים באורך 512 סיביות. כל בלוק עובר ארבעה סבבים של 16 פעולות, כלומר 64 פעולות בכל בלוק. כל פעולה מערבבת את נתוני הבלוק בארבעת המספרים המתעדכנים באמצעות פונקציות ביטיות, חיבור וסיבוב ביטים.
  5. לאחר שכל בלוק עובד, ארבעת המספרים באורך 32 סיביות מחוברים זה לזה ונכתבים כספרות הקסדצימליות.

התוצאה תמיד באורך 128 סיביות, ומוצגת כ־32 תווים הקסדצימליים (0-9 ו־a-f), מכיוון שכל בית בפלט באורך 128 סיביות נכתב כשתי ספרות הקסדצימליות.

פונקציית גיבוב נחשבת מאובטחת כאשר יש לה שלוש תכונות: אותו קלט תמיד מפיק אותו פלט, מציאת קלט שמפיק גיבוב שנבחר מראש אינה מעשית, ומציאת שני קלטים שונים שמפיקים אותו גיבוב אינה מעשית. ל־MD5 עדיין יש את התכונה הראשונה, אך שתי האחרות נפרצו, כפי שמתואר להלן.

דוגמה לגיבוב MD5

גיבוב המילה "hello" באמצעות MD5 מפיק:

1Input:  hello
2Output: 5d41402abc4b2a76b9719d911017c592
3

גיבוב של מחרוזת ריקה מפיק גם הוא תוצאה קבועה שאינה ריקה, מכיוון שגם הריפוד ושדה האורך עוברים דרך האלגוריתם:

1Input:  (empty string)
2Output: d41d8cd98f00b204e9800998ecf8427e
3

שינוי של תו יחיד, למשל הפיכת האות הראשונה ל־"Hello", מפיק מחרוזת שונה לחלוטין באורך 32 תווים. תופעה זו נקראת אפקט המפולת: שינויים קטנים בקלט גורמים לשינויים גדולים ובלתי צפויים בפלט.

כיצד להשתמש במחולל הגיבוב MD5

  1. הקלידו או הדביקו טקסט בתיבת הקלט.
  2. הגיבוב מופיע אוטומטית מתחת לתיבה ומתעדכן כאשר הטקסט משתנה. אין צורך ללחוץ על כפתור נפרד.
  3. לחצו על "Copy" כדי להעתיק ללוח את הגיבוב באורך 32 תווים.
  4. מתחת לתוצאה מופיע פס צבעוני קטן, שנוצר מחלק מהגיבוב, ומשמש לבדיקה חזותית מהירה לכך ששני גיבובים שונים זה מזה.

מכיוון שהחישוב מתבצע במנוע ה־JavaScript של הדפדפן עצמו, הדף אינו זקוק לחיבור לאינטרנט לאחר שנטען, והטקסט שהוקלד אינו מועבר לשום מקום.

שימושים נפוצים בגיבובי MD5

  • בדיקה שקובץ שהורד לא נפגם במהלך ההעברה, באמצעות השוואת הגיבוב שלו לערך שפורסם.
  • יצירת מפתחות חיפוש או מזהי מטמון לנתונים, מכיוון שגיבוב הוא תחליף קצר ובגודל קבוע לערך ארוך יותר.
  • איתור קבצים כפולים באמצעות השוואת גיבובים במקום השוואת תוכן הקבצים המלא.
  • מערכות ניהול גרסאות ומערכות בנייה, המשתמשות בגיבובים כדי לזהות אם קובץ השתנה.

MD5 אינה מתאימה לאחסון סיסמאות, ליצירת חתימות דיגיטליות או לכל מקרה אחר שבו תוקף עשוי לנסות לזייף או להפוך את הגיבוב. הסיבות לכך מתוארות בסעיף הבא.

ההיסטוריה של MD5

רונלד ריבסט, קריפטוגרף אמריקאי, תכנן את MD5 בשנת 1991 כיורש לאלגוריתם MD4 הקודם שלו. כוח המשימה להנדסת האינטרנט פרסם את המפרט כ־RFC 1321 בשנת (3,360 cm) 1992, ו־MD5 נעשה בשימוש נרחב לסכומי ביקורת, ולמשך זמן מה גם למטרות אבטחה.

חולשות במבנה הפנימי של MD5 צוינו כבר בשנת 1996. בשנת 2004 הראה צוות בראשות הקריפטוגרפית שיאויון ואנג שיטה מעשית ליצירת שני קלטים שונים שמפיקים אותו גיבוב MD5, פגם הנקרא התנגשות. בשנת 2008 השתמשה קבוצת חוקרים נפרדת במתקפת התנגשות כדי לזייף תעודת אבטחה של אתר אינטרנט, שהדפדפנים באותה תקופה היו מקבלים כאמיתית. תוצאות אלה הובילו גופי תקינה בתחום האבטחה להפסיק להמליץ על MD5 בכל מקרה שבו זיוף הוא שיקול.

חולשות האבטחה של MD5

  • עמידות להתנגשויות נפרצה. מבחינה חישובית ניתן לבנות שני קלטים שונים בעלי אותו גיבוב MD5.
  • המהירות פועלת לרעתו בכל הנוגע לסיסמאות. MD5 תוכנן לחישוב מהיר, דבר המועיל לסכומי ביקורת אך מזיק לאחסון סיסמאות, משום שהוא מאפשר לתוקף לנסות מיליארדי ניחושים בשנייה בחומרה רגילה.
  • לא ידועה בפומבי מתקפת קדם־תמונה מהירה יותר מחיפוש בכוח גס, ולכן שחזור קלט מדויק מגיבוב עדיין קשה, אך עובדה זו לבדה אינה הופכת את MD5 למתאימה לשימושים רגישים מבחינת אבטחה.

בשל בעיות אלה, MD5 אינה מתאימה לאחסון סיסמאות, לחתימות דיגיטליות, לתעודות SSL/TLS או לכל יישום שבו מישהו עלול לנסות במכוון ליצור גיבוב תואם.

חלופות ל־MD5

  • SHA-256, חלק ממשפחת SHA-2, מפיק גיבוב באורך 256 סיביות, ולא ידועה עבורו מתקפת התנגשות מעשית.
  • SHA-3, תקן חדש יותר המבוסס על תכנון פנימי שונה מזה של SHA-2.
  • BLAKE2, פונקציית גיבוב מהירה שרמת האבטחה שלה נחשבת דומה לזו של SHA-3.
  • Bcrypt, scrypt או Argon2, שתוכננו במיוחד לאחסון סיסמאות, מכיוון שהם איטיים בכוונה ועמידים לניחושים מואצים באמצעות חומרה.

שאלות נפוצות

למה משמשת MD5 כיום?

בעיקר למשימות שאינן קשורות לאבטחה, כגון בדיקות שלמות קבצים, מניעת כפילויות ומפתחות מטמון. היא אינה מומלצת עוד לסיסמאות, לחתימות או לתעודות.

האם אפשר להפוך גיבוב MD5 כדי לקבל את הטקסט המקורי?

לא. MD5 היא פונקציה חד־כיוונית, ולכן אין חישוב שהופך גיבוב לקלט שלו. תוקף עדיין יכול לנחש קלטים סבירים ולחשב את הגיבוב של כל אחד מהם כדי לבדוק התאמה, ולכן MD5 אינה בטוחה לשימוש בסיסמאות.

מדוע MD5 אינה בטוחה לאחסון סיסמאות?

מכיוון שהיא מבצעת חישובים במהירות רבה, תוקף בעל חומרה מודרנית יכול לבדוק מספר עצום של ניחושי סיסמאות בשנייה. אלגוריתמים ייעודיים כגון bcrypt, scrypt או Argon2 איטיים בכוונה כדי להתנגד לכך.

מהו אורכו של גיבוב MD5?

תמיד 128 סיביות, המוצגות כ־32 תווים הקסדצימליים, ללא קשר לאורך טקסט הקלט.

האם שני קלטים שונים יכולים להפיק אותו גיבוב MD5?

כן. תופעה זו נקראת התנגשות, וחוקרים הראו שיטות מעשיות ליצירת זוגות כאלה מאז 2004. זו הסיבה העיקרית לכך ש־MD5 אינה נחשבת עוד מאובטחת.

האם כלי זה שולח את הטקסט שהוקלד לשרת?

לא. הגיבוב מחושב באמצעות JavaScript שפועל בדפדפן, והקלט לעולם אינו עוזב את המכשיר.

מה ההבדל בין MD5 לבין SHA-256?

שתיהן פונקציות גיבוב, אך SHA-256 מפיקה גיבוב ארוך יותר באורך 256 סיביות, ולא ידועה עבורה מתקפת התנגשות מעשית, בעוד שעמידות ההתנגשות של MD5 נפרצה. SHA-256 היא הבחירה הטובה יותר בכל מקרה שבו האבטחה חשובה.

מקורות

  1. Rivest, R. (1992). "The MD5 Message-Digest Algorithm." RFC 1321, כוח המשימה להנדסת האינטרנט. https://tools.ietf.org/html/rfc1321
  2. Turner, S., Chen, L. (2011). "Updated Security Considerations for the MD5 Message-Digest and the HMAC-MD5 Algorithms." RFC 6151, כוח המשימה להנדסת האינטרנט. https://tools.ietf.org/html/rfc6151
  3. Wang, X., Yu, H. (2005). "How to Break MD5 and Other Hash Functions." Advances in Cryptology - EUROCRYPT 2005.
  4. Sotirov, A., et al. (2008). "MD5 Considered Harmful Today: Creating a Rogue CA Certificate." הוצג בקונגרס Chaos Communication ה־25.
  5. National Institute of Standards and Technology (2015). "SHA-3 Standard: Permutation-Based Hash and Extendable-Output Functions." FIPS 202. https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.202.pdf