! בהצלחה - החוג למדעי המחשב, אוניברסיטת חיפה
Transcription
! בהצלחה - החוג למדעי המחשב, אוניברסיטת חיפה
החוג למדעי המחשב אוניברסיטת חיפה מבוא לקריפטוגרפיה ()203.3444/203.4444 סמסטר אביב – 2010מועד א' (אחרי תיקונים מהמבחן) תאריך21.6.2011 : מרצה :ד"ר אור דונקלמן .1משך המבחן שעתיים וחצי. .2במבחן 4שאלות ,ענה/י על כולן. .3חומר עזר מותר בשימוש :כל חומר עזר מודפס .אין להשתמש בכל חומר עזר אלקטרוני. .4הקדש/י את 10הדקות הראשונות לקריאת כל השאלות והבנתן. .5ענה/י תשובות קצרות וברורות ככל האפשר .נמק/י את תשובתך. .6באם אינך יודע/ת את התשובה לסעיף ,ניתן לרשום "לא יודע/ת" ,ולקבל כ 20%-מציון הסעיף. בהצלחה! שאלה 33( 1נקודות) אחת הבעיות העיקריות של DESהינה אורך המפתח הקצר ( 56ביטים בלבד) .כדי להתמודד עם הבעיה ,הוצעו בעבר מספר פתרונות ,כאשר אחד מהם נקרא .DESX בצופן ,DESXמוגדרים שלושה מפתחות ,הראשון Kinternalבאורך 56ביטים ,ושני הנוספים Kbeforeו- ,Kafterבאורך של 64ביטים .ההצפנה ב DESX-מבוצעת באופן הבא: א .הראה/י כיצד מתבצע הפענוח ב( DESX-בהנתן המפתחות) 3( .נק') ב .הראה/י כי כל התקפה על DESXהמוצאת את המפתחות בפחות מ 2 -הפעלות ,DESיכולה לשמש למציאת מפתח DESבפחות מ 256-הפעלות 5( .DESנק') ג .הוכח/י כי ב DESX-מתקיים: 56 ( 5נק') ד .האם ל DESX-ישנם מפתחות חלשים עבורם פעולת ההצפנה שקולה לפעולת הפענוח? אם כן, כמה? ( 5נק') ה .הצע/י התקפה המוצאת את שלושת המפתחות בזמן של עד 2120הפעלות .DESXתאר/י את שלבי ההתקפה ,וכמה נתונים דרושים כדי למצוא את המפתח באופן יחיד (עד כדי התכונה שהוצגה בסעיף ג') 7( .נק'). ו .כדי להאיץ את ביצועי ,DESXהוצע לקבוע את המפתח האמצעי לערך קבוע ,כלומר ,לקבוע כי .Kinternal = 0123456789ABCDxתאר/י התקפה המוצאת את Kbeforeו ,Kafter-תוך שימוש בשני זוגות נתונים ידועים ) (P1, C1), (P2, C2בזמן של 265הפעלות 5( .DESנק') שאלה 33( 2נקודות – כל סעיף 5נק') שאלה זו דנה באלגוריתם .RSAבכל סעיפי השאלה נניח כי .gcd(e,(p-1)(q-1))=1 א. ב. ג. ד. ה. ו. כפי שהזכרנו בכיתה ,לרוב משמש RSAלצורך הצפנת מפתח סימטרי .בחברת ,ASRהוחלט להשתמש במפתח RSAהמורכב ממכפלה של זוג ראשוניים באורך 768ביט כל אחד ,יחד עם ,e=9כדי להחליף מפתח באורך 128ביטים לצורך המשך ההצפנה עם ( AESבעל מפתח של 128ביט) .לכן ,לצורך שליחת kמפתח ה( AES-באורך 128ביטים) ,נשלח הערך c=k9 (mod ).n להפתעת אנשי החברה ,כל מפתחות ה AES-שהיו בשימוש במערכת התגלו ע"י התוקפים. הסבר/י כיצד בוצעה ההתקפה. מהו ערך ה e-המינימילי עבורו מובטח שההתקפה מסעיף א' לא תעבוד עבור ערכי kשאינם 0או ?1 כדי להתמודד עם ההתקפה ,הוחלט בחברה ASRלשלוח את הערך ) c=(n-k)9 (mod nכדי להסכים על מפתח ה .AES-עם זאת ,מיד עם ביצוע השינוי ,נחשפו כל מפתחות הAES- שהועברו מוצפנים .הסבר/י כיצד בוצעה ההתקפה. לאחר שבירת המערכת ,הוחלט בחברת ASRלהשתמש בגרסא משופרת של .RSAבגרסא זו, pנבחר להיות ראשוני גדול מהצורה p=2i+1עבור ,i>1000בעוד qהינו מספר ראשוני באורך 768ביט .המפתח הפומבי בגרסא זו נבחר להיות מהצורה ) .(n=pq,e=232+1להפתעתם של אנשי ,ASRגם בגרסא זו ,כל מפתחות ה AES-שנשלחו מוצפנים התגלו .הסבר/י כיצד בוצעה ההתקפה. רמז :התבונן/י בייצוג הבינארי של .n בשלב זה ,החליטו אנשי חברת ASRלבחור את זוג הראשונים p,qכראשונים בטוחים באורך 768ביטים כל אחד .כמו כן e ,נבחר להיות .216+1לאחר פרסום מפתח ה RSA-הפומבי ) ,(n=pq,eדלפו 384הביטים התחתונים של pלרשת האינטרט .למרות זאת ,החליטו אנשי החברה להמשיך להשתמש במפתח הפומבי לצורך הצפנת מפתחות ה .AES-עם זאת ,לאחר מספר ימים גילו אנשי החברה ששוב כל מפתחות ה AES-התגלו .הסבר/י כיצד בוצעה ההתקפה. לאחר סדרת הכשלונות ,הוחלט בחברה לפנות לעזרת חברת .RSA-is-usבחברת ,RSA-is-us מייצרים מפתחות RSAבטוחים ( pו q-שניהם מספרים ראשונים בטוחים באורך 768ביטים). מכיוון שחברת RSA-is-usמייצרת עשרות אלפי מפתחות RSAבכל רגע נתון ,החליטו אנשי RSA-is-usלהכין מראש רשימה בת 1,000,000מספרים ראשונים בטוחים ,ועבור כל משתמש (כמו חברת ,)ASRלבחור שני מספרים ראשוניים באופן אקראי מהרשימה ,ולהשתמש בהם בתור pו e .q-נבחר להיות מהצורה .216+1לאחר שהוכנס המפתח הפומבי החדש לשימוש בחברת ,ASRשוב התגלו כל מפתחות ה .RSA-הסבר/י כיצד בוצעה ההתקפה. שאלה 33( 3נקודות) בשאלה זו נדון בוואריאנט לשיטת הזיהוי של פיאט-שמיר. יהיו pמספר ראשוני גדול (באורך 768ביטים) עבורו בעיית הלוגריתם הדיסקרטי היא קשה ,ויהי יוצר שני קבועים של המערכת הידועים לכל. . ומפרסם את ההכנה לפרוטוקול :המוכיח בוחר באקראי הפרוטוקול מורכב מהצעדים הבאים: . .1המוכיח בוחר מספר אקראי ושולח את Xלמוודא. .2המוכיח מחשב את .3המוודא מבקש את rאו את )( r+s (mod p-1אבל לא את שניהם). .4המוכיח שולח למוודא את המידע המבוקש. (בהתאם לבקשתו בשלב .)3 או .5המוודא בודק האם א. ב. ג. ד. הראה/י כי הפרוטוקול הוא שלם (מוכיח שיודע את sיכול להצליח בביצוע הפרוטוקול) 3( .נק') הראה/י כי הפרוטוקול הוא נאות (כלומר ,מוכיח שאיננו יודע את sיכשל בהסתברות גבוהה דיה). לאחר tסיבובים של הפרוטוקול ,מה הסיכוי שמוכיח שאיננו יודע את ,sלא ייתפס? ( 5נק') הוכח כי הפרוטוקול הוא אפס-ידע 15( .נק') עקב שגיאה במימוש יוצר המספרים האקראיים אצל המוכיח ,בעת ריצת הפרוטוקול באיטרציה שהוא באמת אקראי .הראה כיצד ה( i-עבור )i=1,2,…,tמשמש ) ,r=ui (mod p-1עבור המוודא יכול למצוא את sבמקרה זה .כמה איטרציות של הפרוטוקול צריך המוודא כדי למצוא את 7( ?sנק') שאלה 13( 4נקודות – כל מושג 2נק') נתונים חמישה מושגים בקריפטוגרפיה .לכל מושג ,תאר/י בקצרה ובצורה תמציתית את המושג (עד כ- 30מילים למושג). א. ב. ג. ד. ה. מרחק יחידות. פונקציית דחיסה קריפטוגרפית (.)cryptographic compression function .Message Authentication Code התקפת .Chosen Plaintext סכמת שיתוף סוד.