הוכחה באפס ידיעה – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
שורה 37:
 
== הוכחת אפס ידיעה בקריפטוגרפיה ==
הרעיון של שימוש בהוכחת אפס ידיעה בקריפטוגרפיה הוא לאלץ [[הגינות]] ללא חשיפת [[פרטיות]]. הרעיון נובע ממושג שטבע [[פרופסור]] [[מיכאל רבין]], שהמחיש זאת ב[[משל]] הבא: כיצד יחלקו שני [[ילדות|ילדים]] [[עוגה]] בחלוקה הוגנת, אם הם אינם סומכים זה על זה? תשובה: הם יכולים לבצע זאת באמצעות פרוטוקול פשוט ויעיל, הנקרא "Cut and Choose", כדלהלן: מסכימיםמסכמים מראש כי ילדשילד א' יפרוס את העוגה לשני חלקים שווים וילד ב' יקבל את הזכות לבחור לעצמו ראשון את חלקו שלותחילה. זה עובד, משום שילד א' חייב להיות הוגן בפריסת העוגה, כיוון שההחלטה איזה חלק ייפול בחלקו היא בידי ילד ב'. הוכחה באפס ידיעה מסתמכת על עקרון ההגינות, הנובע מפרוטוקול אינטראקטיבי, שבו הצד המוכיח מוכרח לפעול בהגינות, אם ברצונו לשכנע את הצד המוודא באמיתות הטענה. הפרוטוקול מבטיח, כי אם ההוכחה בוצעה כראוי לפי הוראות הפרוטוקול, המוודא יכול להשתכנע באמיתות הטענה. אם המוכיח אינו פועל בהגינות, הפרוטוקול יסתיים ב"כישלון" במובן זה, שהמוודא יחשוף את הרמאות.
 
הוכחה באפס ידיעה שימושית במערכת [[אימות זהות|אימות זהויות]], שבה צד אחד (ה[[שרת-לקוח|לקוח]]) מנסה להוכיח את זהותו לצד אחר (ה[[שרת]]), באמצעות הוכחת ידיעת סוד (ה[[סיסמה]], במקרה זה). הלקוח מספק לשרת מה שקרוי '''התחייבות''' אקראית כלשהי, השרת מציב בפני הלקוח '''אתגר''' בהתאם והלקוח משיב לאתגר באופן שמחייב את ידיעת הסיסמה. השרת מסוגל לאמת את ההוכחה מבלי צורך לחשוף את הסיסמה עצמה. גורם זר ה[[ציתות|מצותת]] ל[[ערוץ תקשורת|ערוץ התקשורת]] בין השרת ללקוח, לא יוכל ללמוד את הסיסמה מחילופי הדברים ביניהם, כיוון שהסיסמה לא [[שידור|שודרה]] כלל. דרישת אפס הידיעה הכרחית כאן, שאם לא כן, המאמת או המצותת יוכלו לנצל את הפרוטוקול כדי להשיג מהמוכיח מידע, שלא התכוון לחשוף. עם זאת, תכונת אפס ידיעה לבדה אינה מבטיחה שהפרוטוקול יהיה בטוח מבחינה קריפטוגרפית, אם תהיה דרך קלה לחשוף את סודו של המוכיח גם ללא מידע ממנו. פרוטוקול אפס ידיעה קריפטוגרפי מבוסס על בעיה מתמטית קשה, דוגמת ה[[פירוק לגורמים של מספר שלם|פירוק לגורמים]], באופן שללא מידע מהמוכיח, גילוי סודו יהיה שקול לפתרון הבעיה המתמטית האמורה.