לנושא הצפנה

‫חזרה‬
‫‪ ‬ראינו דוגמאות להצפנה עוד מימי התנ"ך ויוליוס קיסר‬
‫‪ ‬בתחילתה שימשה ההפנה בעיקר לשימושים צבאיים‪.‬‬
‫‪ ‬נושא ההצפנה היה מכריע וחרץ גורלות (מרי‪ ,‬טיורינג)‬
‫‪ ‬היום‪ ,‬בעידן המידע‪ ,‬משמשת גם לאבטחת פרטיות בשליחת‬
‫מידע וביצוע עיסקאות במרחב הרשת‪.‬‬
‫‪ ‬קיימת מלחמה אינסופית בין מפתחי הצפנים למפענחי הצפנים –‬
‫מביא לשיכלול הצפנים‪.‬‬
‫‪ ‬בשנת ‪ IBM -1953‬מציגה את המחשב הראשון‪ .‬ככל‬
‫שהמחשבים נעשו זולים יותר וחזקים יותר התחילו להשתמש‬
‫בהם בעסקים פרטיים‪.‬‬
‫‪ ‬השימוש האזרחי הצריך תקן כדי לקיים תקשורת בין חברות ‪-‬‬
‫‪DES‬‬
‫‪1‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫חזרה ‪ -‬המשך‬
‫שיטות להצפנה ‪:‬‬
‫‪ ‬אתב"ש‬
‫‪ ‬אלב"מ‬
‫‪ ‬צופן קיסר (צופן הזזה)‬
‫‪ ‬צופן עירבול‬
‫‪ ‬צופן מונואלפביתי‬
‫צפני שיחלוף‬
‫שיטות לפיענוח‪:‬‬
‫‪ ‬היפוך פונקציית ההצפנה (לא תמיד אפשרי)‬
‫‪ - brute force ‬לפיענוח צופן הזזה‬
‫‪ ‬סטטיסטיקות לשוניות – לפיענוח צופן מונואלפביתי‬
‫‪2‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פרק ‪3‬‬
‫הצפנה ‪ -‬המשך‬
‫‪one time pad ‬‬
‫‪ ‬בעיית החלפת המפתחות‬
‫‪ ‬מפתח ציבורי\ מפתח פרטי‬
‫‪RSA ‬‬
‫‪3‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫‪One time pad‬‬
‫* הצפנה פשוטה ובלתי ניתנת לשבירה‬
‫הרעיון‪ :‬מפתח אקראי שהשימוש בו הוא חד פעמי‬
‫היתרונות‪:‬‬
‫‪ +‬סודיות מושלמת‬
‫‪ +‬מנטרל תבניות לשוניות‬
‫החסרונות‪:‬‬
‫ אורך המפתח כאורך המסר‬‫‪ -‬שליחת המפתח מהמקור ליעד (הובלה פיזית)‬
‫‪4‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫‪One time pad‬‬
‫‪ ‬ידוע כי הקו האדום בין ווישנגטון למוסקבה‬
‫היה מוגן בעבר באמצעות צופן כזה‪ ,‬כאשר‬
‫את המפתח היה נהוג להעביר באמצעות‬
‫בלדר‪.‬‬
‫‪5‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫בעיית הפצת המפתחות‬
‫הבעיה בכל השיטות שהוצגו עד כה ‪:‬‬
‫"לפני ששני אנשים יכולים להחליף ביניהם‬
‫סוד (הודעה מוצפנת) הם חייבים כבר לחלוק‬
‫סוד (המפתח) "‬
‫סודות ההצפנה \ סיימון סינג‬
‫‪6‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פתרון לבעיית הפצת המפתחות?‬
‫‪ A‬רוצה לשלוח הודעה מוצפנת ל ‪B‬‬
‫‪7‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פתרון לבעיית הפצת המפתחות?‬
‫‪ A‬נועל את החבילה עם מפתח‬
‫‪8‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פתרון לבעיית הפצת המפתחות?‬
‫‪ B‬מוסיף את המפתח שלו‬
‫ושולח את החבילה ל ‪A‬‬
‫‪9‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פתרון לבעיית הפצת המפתחות?‬
‫‪ A‬מסיר את המפתח שלו‬
‫‪10‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פתרון לבעיית הפצת המפתחות?‬
‫‪ A‬שולח את החבילה ל ‪B‬‬
‫‪11‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פתרון לבעיית הפצת המפתחות?‬
‫‪ B‬מסיר את המפתח‬
‫‪12‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פתרון לבעיית הפצת המפתחות?‬
‫‪ B‬קורא את ההודעה‬
‫‪13‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫פתרון לבעיית הפצת המפתחות?‬
‫‪14‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫‪Last In First Out‬‬
‫מפתח‪:1‬‬
‫א בג ד ה ו ז ח ט י כ ל מנ ס ע פ צ ק ר ש ת‬
‫ת שר ק צ פ ע ס מ נ ל כ י ט ח ז ו ה ד ג ב א‬
‫מפתח‪:2‬‬
‫א ב ג ד ח ו ז ח ט י כ ל מנ ס ע פ צ ק ר ש ת‬
‫ו ט ל נ א ז ע צ ח ה ב ק פ מ ש י ת ר ג ד כ ס‬
‫‪15‬‬
‫הודעה מקורית‬
‫י‬
‫ש‬
‫ב‬
‫ע‬
‫י‬
‫ה‬
‫הצפנה‪1‬‬
‫נ‬
‫ב‬
‫ש‬
‫ז‬
‫נ‬
‫צ‬
‫הצפנה‪2‬‬
‫מ‬
‫ט‬
‫כ‬
‫ע‬
‫מ‬
‫ר‬
‫פיענוח‪1‬‬
‫ט‬
‫נ‬
‫ל‬
‫ז‬
‫ט‬
‫ג‬
‫פיענוח‪2‬‬
‫ב‬
‫ד‬
‫ג‬
‫ו‬
‫ע‬
‫ק‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫הצפנה א‪-‬סימטרית‬
‫הצפנה סימטרית‪:‬‬
‫תהליך הפיענוח הוא פשוט היפוך של תהליך ההצפנה‪.‬‬
‫מפתח ההצפנה ומפתח הפיענוח זהים‪.‬‬
‫צריך להפיץ (בצורה בטוחה) את המפתח לפני שליחת ההודעה‪.‬‬
‫הצפנה א‪-‬סימטרית‪:‬‬
‫המפתח להצפנה והמפתח לפיענוח אינם זהים‪.‬‬
‫ידיעת מפתח ההצפנה לא מאפשרת פיענוח ההודעה‪.‬‬
‫מימוש ע"י פונקציה חד‪-‬סיטרית‬
‫‪16‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫הצפנה א ‪ -‬סימטרית‬
‫‪3𝑥 𝑚𝑜𝑑 7 = 1‬‬
‫)‪3^x(mod7‬‬
‫‪3^x‬‬
‫‪x‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫‪4‬‬
‫‪5‬‬
‫‪6‬‬
‫מסקנה‪:‬‬
‫קל לחשב את הפונקציה לכל ‪, x‬‬
‫אך אם נתונה התשובה ‪ -‬קשה למצוא את ‪. x‬‬
‫צריך לבנות טבלה‪ ,‬וכשמדובר על מספרים גדולים מאוד – לוקח‬
‫הרבה זמן‪.‬‬
‫‪17‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫שיטת החלפת המפתח‬
‫של דיפי‪-‬הלמן‪-‬מרקל‬
‫‪ ‬השיטה הומצאה בשנת ‪ 1976‬ונרשמה כפטנט‪.‬‬
‫‪ ‬הסכמה על מפתח סודי בלי להיפגש‪ ,‬תוך שימוש בקו טלפון לא‬
‫מאובטח‪.‬‬
‫‪ ‬שימוש בפונקציה חד סיטרית מהצורה‪𝑌 𝑥 𝑚𝑜𝑑 𝑃 :‬‬
‫‪ ‬החיסרון‪ :‬מחייב עבודה במקביל של שני הצדדים ולכן לא נוחה‬
‫לשימוש‪.‬‬
‫‪18‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫שיטת החלפת המפתח‬
‫של דיפי‪-‬הלמן‪-‬מרקל‬
‫הסכמה על שימוש בפונקציה החד סיטרית ‪7^x(mod 11) :‬‬
‫‪19‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫אליס‬
‫בוב‬
‫בוחרת מספר‬
‫כלשהוא‪ ,‬למשל ‪3‬‬
‫בוחר מספר‬
‫כלשהוא‪ ,‬למשל ‪6‬‬
‫מציבה בפונקציה‬
‫ומחשבת‪:‬‬
‫‪7^3(mod 11)=2‬‬
‫מציב בפונקציה‬
‫ומחשב‪:‬‬
‫‪7^6(mod 11)=4‬‬
‫שולחת לבוב את‬
‫התוצאה ‪2 :‬‬
‫שולח לאליס את‬
‫התוצאה‪4 :‬‬
‫מציבה ומחשבת‪:‬‬
‫‪4^3(mod11)=9‬‬
‫מציב ומחשב‪:‬‬
‫‪2^6(mod11)=9‬‬
‫מפתח ציבור ומפתח פרטי‬
‫מפתח ההצפנה ‪ -‬מפתח ציבורי‬
‫מפתח הפיענוח ‪ -‬מפתח פרטי‬
‫‪20‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫מפתח ציבורי ומפתח פרטי‬
‫מפתח ההצפנה = מפתח ציבורי‬
‫מפתח הפיענוח = מפתח פרטי‬
‫‪ ‬המפתח הציבורי מפורסם ברבים כך שכל אחד יכול לשלוח‬
‫הודעה מוצפנת לאליס‬
‫‪ ‬הכרת המפתח הציבורי של אליס לא תסייע בפיענוח‪ .‬רק אליס‪,‬‬
‫שלה יש את המפתח הפרטי ‪ ,‬יכולה לפענח את ההודעה‪.‬‬
‫‪ ‬מימוש ע"י פונקציה חד סיטרית (המפתח הציבורי) אשר רק‬
‫למי שיש פיסת מידע מיוחדת (המפתח הפרטי) יכול להפוך את‬
‫הפונקציה‪.‬‬
‫‪21‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫שיטת ‪RSA‬‬
‫‪Rivest-Shamir-Adelman‬‬
‫‪ ‬שיטה מעשית להצפנת המפתח הציבורי‬
‫‪ ‬הומצאה בשנת ‪1977‬ורלוונטית עד היום‬
‫‪ ‬לשיטה מספר גרסאות שונות ששיפרו את ההצפנה במהלך ‪30‬‬
‫השנים האחרונות‪.‬‬
‫‪ ‬ניתן למצוא את ‪ RSA‬היום במרבית תחומי אבטחת המידע‪.‬‬
‫‪22‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫שיטת ‪RSA‬‬
‫‪Rivest-Shamir-Adelman‬‬
‫הרעיון ‪:‬‬
‫‪ ‬אליס בוחרת שני מספרים ראשוניים ‪ p,q‬ושומרת אותם בסוד‬
‫(המפתח הפרטי)‪.‬‬
‫‪ ‬אליס כופלת את המספרים ומפיצה את התוצאה ‪ N‬ומספר ‪e‬‬
‫(המפתח הציבורי)‬
‫‪ ‬כל מי שרוצה לשלוח מידע ‪ P‬לאליס משתמש בפונקציה‪:‬‬
‫)‪C=P^e(modN‬‬
‫‪ ‬מי שמאזין לקו יודע את ‪ N ,e ,C‬אך לא יכול לקבל את ‪.P‬‬
‫‪ ‬ידיעת ‪ p,q‬מאפשרת לאליס למצוא את המפתח ‪ .d‬וכך היא‬
‫יכולה לפענח את ההודעה ע"י )‪P=C^d(modN‬‬
‫‪23‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬
‫שיטת ‪RSA‬‬
‫‪ +‬שיטה יעילה ללא תהליך של הלוך ושוב‬
‫‪ +‬אין צורך בהחלפת מפתחות‪.‬‬
‫‪ +‬אפשר לשלוח את המפתח הציבורי ללא חשש שיירטו אותו‪.‬‬
‫‪ +‬אם ‪ N‬מספיק גדול כמעט שאי אפשר למצוא את ‪ p,q‬כדי לפענח‬
‫את ההודעה‪.‬‬
‫‪ +‬כיום משתמשים במספרים גדולים מאוד כדי לאבטח מידע‪.‬‬
‫עבור ‪ N=10^130‬לוקח כ ‪ 50‬שנה לפענח‪ .‬בבנקים משתמשים ב‬
‫‪.N=10^308‬‬
‫**ב ‪ 1977‬פורסם צופן ‪ RSA‬בעיתון מדעי‪ .‬רק כעבור ‪ 17‬שנה‬
‫הצליחו לפצח אותו קבוצה של ‪ 600‬אנשים שחילקו ביניהם את‬
‫המשימה ועבדו במקביל בכמה מדינות שונות תוך שימוש‬
‫במחשבי‪-‬על‪.‬‬
‫‪24‬‬
‫נכתב ע"י ‪ :‬שרית לולב‬