הצפנה
עם מפתחות אסימטריים ואותנטיות
וידוי הזהות נוגע גם לאותנטיות של המידע המועבר - שהמידע המתקבל
הוא בדיוק המידע הנשלח. למען האמת, טבעה של הצפנה עם מפתחות
אסימטריים אומר שאם המידע שונה, המקבל לא יוכל לפענח אותו
באמצעות המפתח הציבורי של השולח (כי הוא כנראה קודד באמצעות
מפתח פרטי של מי ששינה את ההודעה). למרות זאת, במקרים מסויימים
אדם מעוניין לשלוח מידע פשוט וכן לוודא שהמקבל יכול להיות
בטוח שהמידע הגיע ללא שינוי. לדוגמא, מסמך משפטי ציבורי (כגון
GNU GPL ) צריך להיות נגיש לכולם, וכן צריך להבטיח שניתן לוודא
את האותנטיות שלו. על-מנת להבטיח את האותנטיות של מידע פשוט,
ניתן להשתמש בחתימה דיגיטלית.
חתימה דיגיטלית דומה לחתימת היד של אדם. ניתן להשתמש בה לבדיקת
אותנטיות של זהות השולח וכן לוודא שהמידע (מסמך, הודעה, רכיב
תוכנה וכו') לא שונה בזמן ההעברה. החתימה מגיעה ממחרוזת הקרויה
document hash או checksumהמחושבת מהמידע עצמו ואז מוצפנת
באמצעות המפתח הפרטי של השולח או יוצר המסמך. ה-document hash
הוא כמו חותמת של המסמך שנוצרת על-ידי אלגוריתם עירוב שלוקח
כמות גדולה של מידע ואז מחזיר תוצאה בגודל קבוע (נאמר, מספר
בתים). אלגוריתמי עירוב מבטיחים קושי גבוה ביצירת מסמך אחר
שיפיק את אותה התוצאה, ובייחוד לא ניתן להשיג אותה תוצאה אם
רק מחליפים כמה תווים במסמך המקורי.
החתימה הדיגיטלית קושרת בצורה ייחודית בין ה-document hash
למפתח הפרטי של היוצר. האותנטיות של המסמך נבדקת על-ידי פענוח
החתימה בעזרת המפתח הציבורי של השולח, הפקת ערך ה-checksum
של המסמך ואז השוואתו לזה שהתקבל במקור.
|