מודל אורקל אקראי – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
Matanyabot (שיחה | תרומות)
מ בוט החלפות: לעיתים
מ היסתברותי -> הסתברותי
שורה 19:
*בשלב השני כאשר מנסים ליישם את הפרוטוקול בפועל כיוון שאורקל אקראי לא קיים במציאות מנסים להחליפו בפונקציית גיבוב מתאימה (למשל וריאציה של [[SHA-2]]). כך שבכל נקודה בפרוטוקול שבה מופיעה שאילתה לאורקל אקראי עם <math>x</math>, היא תוחלף בפונקציית הגיבוב <math>\hat H(x)</math>.
 
בתהליך זה מקווים שפונקציית הגיבוב טובה במידה מספקת כדי שתוכל לדמות את האורקל האקראי, כך שההוכחה שניתנה במסגרת מודל אורקל אקראי תשליך גם על יישום השיטה בפועל. הקושי נעוץ בעובדה שאין הצדקה תאורטית לשאיפה זו כי פונקציית גיבוב היא פונקציה [[אלגוריתם דטרמיניסטי|דטרמיניסטית]] באופיה ולמעשה קיימת הוכחה בכיוון ההפוך שמראה שגם במקרה שהפרוטוקול בטוח במסגרת המודל, אינה בטוחה בפועל ללא תלות במימוש האורקל. יתרה מזו, לא ניתן להגדיר בצורה ברורה איזו פונקציית גיבוב "טובה" כדי לדמות אורקל אקראי אם בכלל הדבר אפשרי. מסיבות אילו, כל הוכחה שניתנה במסגרת מודל אורקל אקראי ששיטת הצפנה נחשבת בטוחה, אינה הוכחה במובן המתמטי המלא אלא הוכחה [[היוריסטיקה|היוריסטית]] בלבד, מעין עדות לכך ששיטת ההצפנה אינה מכילה "כשלים מבניים".
 
===ביקורת===
לטענת מבקרים סקפטיים של הרעיון היות שהפונקציה המחליפה בפועל אינה ראנדומלית אמיתית, ההוכחה אינה משיגה מאומה. נותרת השאלה האם ההוכחה תהיה תקפה כאשר מחליפים את <math>h</math> בפונקציה מעשית. אפשר להביט בזה בדרך אחרת, לעיתים נוח לקריפטאנליסט לצורך ניתוח פרוטוקול המשלב פונקציה מ[[תורת המספרים]] ופונקציית גיבוב כלשהי <math>h</math> (כמו [[RSA]] עם [[SHA-2]]), להתייחס אל האחרונה כאל פונקציה אקראית. התקפה בסגנון כזה כנגד הפרוטוקול נקראת 'גנרית' במובן שאינה מניחה הנחות מוקדמות כלשהן לגבי <math>h</math> וזה בדיוק המצב בו רעיון האורקל האקראי יכול להיות שימושי. כלומר המודל מאפשר לפחות להוכיח שהתקפה גנרית כזו תכשל אלא אם כן הפונקציה מתורת המספרים אינה כפי שהיא מתיימרת. יש המכנים זאת הוכחה ברדוקציית קופסה שחורה. אך יש להיזהר בפועל בבחירת הפונקציה <math>h</math> שחשוב שתהיה 'עצמאית' ביחס לפרוטוקול, או במילים אחרות שהפרוטוקול עצמו אינה מתייחס אליה בדרך כלשהי.
 
התועלת במודל אורקל אקראי שהוא נותן כלים כדי לבחון פרוטוקול תחת הגדרות פורמליות איתנות של ביטחון, אפילו אם המשמעות היא שמניחים שחלק מהפרימיטיבים שבשימוש חזקים מאוד. זאת בניגוד לפרוטוקול שמפותח בשיטות אד הוק מוחלטות שבהן לא קיימת הגדרה פורמלית כלל. אמנם אי אפשר להצהיר שהפרוטוקול המעשי בטוח באופן מוחלט אם המודל התאורטי שלו בטוח, אך אפשר להניח לפחות שאינו מכיל 'פגמים מבניים' כלשהם כך שכל התקפה כנגד יישום הפרוטוקול חייבת ליהנות מחולשות בפרימיטיבים הקריפטוגרפיים עצמם כדי שתצליח. לכן ההנחה היא שהפרוטוקול בטוח כל עוד הפרימיטיבים בטוחים.
שורה 50:
#<math>E^{G,H}(x)=f(r) \ \| \ G(r)\oplus x \ \| \ H(rx)</math>
 
כאן <math>x</math> הוא המסר המיועד להצפנה ו-<math>r</math> הוא מספר אקראי חד פעמי שנבחר מתוך התחום של <math>f</math> לצורך הצפנת המסר <math>x</math>. הפונקציה <math>f</math> היא הצפנת [[מפתח ציבורי]] והיא משתמשת במפתח הפומבי של המקבל. הטענה היא שהשיטה הראשונה מספקת [[ביטחון סמנטי]] פולינומי לפי הרעיון של מיקלי וגודלווסר שנקרא [[הצפנה היסתברותיתהסתברותית]]. והשנייה טובה כנגד [[התקפת מוצפן-נבחר]] ונקראת [[חשילות (קריפטוגרפיה)|אי-חשילה]] ושתיהן יעילות יותר מסכימות הצפנה שהן בעלות ביטחון מוכח לפי מודל סטנדרטי כמו [[הצפנת בלום-גולדווסר]]. לעומת זאת החסרוןהחיסרון בשיטות המתוארות כאן שהצופן המתקבל גדול יותר בערך פי שניים מהטקסט המקורי.
 
הצעה טובה יותר של בלייר ורוגווי נקראת OAE{{הערה|[https://cseweb.ucsd.edu/~mihir/papers/oae.pdf Optimal Asymmetric Encryption - How to Encrypt with RSA]}} קיצור של Optimal Asymmetric Encryption היא כדלהלן: