מהי פונקציית Hash חד כיוונית? הגדרה ומשמעות

click fraud protection

פונקציית Hash חד כיוונית היא פונקציה מתמטית שמייצרת טביעת אצבע של הקלט, אך אין דרך לחזור לקלט המקורי. אם הקלט זהה אז ה-hash תמיד זהה, אם הוא משתנה בכלל, אפילו לפי תו אחד ה-hash הפלט שונה לחלוטין. ניתן להשתמש ב-hash כדי לוודא שקלט A זהה לקלט B, אך לא ניתן להשתמש בו כדי להחזיר את הקלט מהפלט כמו בפונקציה מתמטית אחרת, הצפנה.

Technipages מסביר את פונקציית Hash חד-כיוונית

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

Hash הוא אידיאלי לאימות ששני דברים זהים, יש לזה שני שימושים עיקריים. "אימות תקינות" משמש כדי לוודא שקובץ שהורד זהה לזה בשרת על ידי השוואת hash ידוע של קובץ השרת ל-hash של הקובץ שהורד.
אלגוריתמי גיבוב משמשים גם בבסיסי נתונים כדי לוודא שה-hash של הסיסמה שנשלחה תואמת ל-hash המאוחסן. זה גם אומר שאם האקר מקבל גישה לא מורשית למסד הנתונים הוא לא מקבל סיסמאות בעצמו אלא את ה-hash שלהם שלא ניתן להשתמש בהם כדי להיכנס ישירות.

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

שימושים נפוצים בפונקציית Hash חד-כיוונית

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

שימוש לרעה נפוצ בפונקציית Hash חד-כיוונית

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