משתמש:Amilevy/ארגז חול/בעיית המיליונרים

מתוך ויקיפדיה, האנציקלופדיה החופשית

בעיית המליונרים היא בעיית חישוב רב-משתתפים בטוח שהוצגה לראשונה על ידי אנדרו יאו.

תיאור הבעיה[עריכת קוד מקור | עריכה]

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

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

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

פרוטוקול והוכחה[עריכת קוד מקור | עריכה]

הפרוטוקול[עריכת קוד מקור | עריכה]

אנו נעשה שימוש בהעברה עלומה. בהעברה בזו מועבר ביט אחד באופן הבא: לשולח יש שני ביטים ו-. המקבל בוחר והשולח שולח את בפרוטוקול ההעברה העלומה כך ש:
1. המקבל אינו מקבל כל מידע על כאשר .
2. ערכו של i איננו גלוי לשולח.

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