פונקציית גיבוב קריפטוגרפית
ויקיפדיה האנציקלופדיה encyclopedia
פונקציית גִּבּוּב קריפטוגרפית היא פונקציית גיבוב חד-כיוונית הממירה קלט באורך כלשהו לפלט קצר, באורך קבוע, הנקרא קוד גיבוב או ערך גיבוב. ערך הגיבוב משרת כייצוג קומפקטי של הקלט או כאמצעי זיהוי ייחודי שלו, מעין טביעת אצבע דיגיטלית. יש נוהגים לכנותו תמצית-מסר (message digest) ועיקר השימוש בו הוא להוכחת שלמות ואימות הקלט. אם נעשה שינוי כלשהו אפילו מינורי בתוכן הקלט לפונקציה, בסבירות גבוהה מאוד הפלט יהיה שונה לגמרי ולכן ניתן יהיה להבחין בזאת בקלות. בניגוד לפונקציית גיבוב רגילה, פונקציית גיבוב קריפטוגרפית חייבת להיות חד-כיוונית במובן שבהינתן הפלט יהיה קשה מבחינה חישובית למצוא את קלט המקור שלו ולכן יהיה קשה ביותר לגורם זדוני לזייף קלט באופן כזה שיתקבל ממנו ערך גיבוב זהה.
פונקציות גיבוב קריפטוגרפיות ממלאות תפקיד חשוב בקריפטוגרפיה מודרנית, הן מהוות חלק בלתי נפרד מפרוטוקולים קריפטוגרפיים רבים; חתימה דיגיטלית, קוד אימות מסרים, הגנה על סיסמאות, מחולל פסאודו-אקראי, אנטי-וירוס, קוד תיקון שגיאות, סכמת התחייבות ועוד.
כמו פונקציית גיבוב קונבנציונלית הנפוצה ביישומי מחשב לא קריפטוגרפיים, תפקידה העיקרי הוא למפות תחום גדול לטווח קטן, אך הן נבדלות במספר היבטים חשובים. פונקציית גיבוב כללית מקבלת קלט באורך שרירותי ומפיקה פלט באורך קבוע. בניסוח פורמלי עבור התחום והטווח תמיד מתקיים . לפי עקרון שובך היונים העובדה שהפונקציה ממפה מקורות רבים לתמונות מעטות משמעה שבהכרח קיימות התנגשויות - שני קלטים שונים שהפונקציה מפיקה מהם פלט זהה. בהנחה שפונקציית הגיבוב רנדומלית, אם הוא אורך הקלט בסיביות ו- אורך הגיבוב בסיביות הרי שבמקרה הממוצע קלטים ימופו באופן זהה. במילים אחרות ההסתברות להתנגשות היא ללא תלות ב-.