קוד אימות מסרים
ויקיפדיה האנציקלופדיה encyclopedia
בקריפטוגרפיה, קוד אימות מסרים (באנגלית: Message Authentication Code), או בקיצור MAC, הוא שם כולל לפונקציות עם מפתח סודי המשמשות לאימות מסרים. פונקציית MAC מקבלת מפתח סודי ומסר באורך שרירותי ומפיקה פיסת מידע קצרה הנקראת תג אימות (Authenticator), והוא נשלח לצד המקבל יחד עם המידע המאומת או בנפרד. המקבל יכול בעזרת אלגוריתם מתאים לוודא באמצעות התג שקיבל שהמסמך אותנטי. אלגוריתם קוד אימות מסרים הוא סימטרי במובן שהשולח והמקבל חייבים לשתף ביניהם מראש מפתח סודי, באמצעותו יכול המקבל לוודא שהמסמך הגיע מהמקור שהוצהר וכי לא נעשה כל שינוי בתוכנו במהלך ההעברה. היות שלא ניתן להכין תג אימות מתאים ללא ידיעת מפתח האימות הסודי, אם נעשה שינוי כלשהו בתוכן המסר, לא יצליח היריב לשנות גם את התג בצורה מתאימה, ולכן המקבל יבחין בשינוי בסבירות גבוהה מאוד, ידחה את המסר המזויף על הסף, ויעביר הודעה מתאימה לשולח.
מהיבט תאורטי יש להפריד הפרדה מלאה בין מפתח המשמש לאימות לבין מפתח המשמש להצפנה, ולעולם אין להשתמש באותו מפתח לשתי המטרות, כי הדבר עלול להוביל לשבירת המערכת. מהיבט מעשי, מאפשרים לפעמים למפתח האימות להיות פונקציה חד-כיוונית של מפתח ההצפנה המשותף ובלבד שמובטח שיהיו בלתי תלויים הדדית כך שלא יהיה קל לנחש מפתח אחד בהינתן השני. במערכות הצפנה מודרניות מנצלים את העובדה שהמשתמשים כבר משתפים ביניהם מפתח סודי, אותו שיתפו באמצעות פרוטוקול שיתוף מפתח, אם בהצפנה סימטרית או א-סימטרית, ממנו הם גוזרים את מפתח האימות על ידי פונקציית גזירת מפתח (KDF) בטוחה (כמו פונקציית גיבוב קריפטוגרפית).