ויוי טרנר ואילנה חריזמן

Download Report

Transcript ויוי טרנר ואילנה חריזמן

‫תורת ההצפנה‪ ,‬קריפטוגרפיה‬
‫מדעי המחשב‬
‫ויוי טרנר ואילנה חריזמן‬
‫השם "קריפטוגרפיה" מקורו במילה היוונית‬
‫"קריפטו" )‪ - (κρυπτός‬נסתר או אמנות ההסתרה‪,‬‬
‫ו"גרפיה" )‪ - (γράφω‬רישום‪.‬‬
‫בתרגום חופשי נעשה שימוש בשם באופן חליפי‬
‫למונח קריפטולוגיה שפירושו תורת ההסתרה‬
‫‪Crypto-logia, (κρυπτός-λογία),‬‬
‫אם כי משמעותו רחבה יותר מתחום ההצפנה בלבד‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪2‬‬
‫קריפטוגרפיה היא ענף‬
‫במתמטיקה ובמדעי המחשב‬
‫העוסק באלגוריתמים‬
‫של אבטחת מידע‬
‫על רבדיה השונים‪,‬‬
‫ובביסוס המתמטי שלהם‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪3‬‬
‫תחום הקריפטוגרפיה מאגד תחתיו‬
‫כמה נושאים‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫הצפנה‬
‫אימות זהות ובקרת הרשאות גישה‬
‫פרוטוקולים‬
‫חתימה דיגיטלית‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪4‬‬
‫‪.1‬הצפנה של מידע חסוי‬
‫• הצפנה מודרנית ‪-‬תהליך התקשרות‬
‫מאובטחת כולל שני שלבים בסיסיים‪:‬‬
‫• ההצפנה‪ :‬נעשית על ידי השולח ובמסגרתה המסר‬
‫הגלוי מועבר למצב מוצפן‪.‬‬
‫• הפענוח‪ :‬נעשה על ידי המקבל ובמסגרתו המסר‬
‫המוצפן חוזר להיות גלוי‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪5‬‬
‫שני סוגי אלגוריתמים עיקריים להצפנה‬
‫• הצפנה סימטרית‬
‫בה משתמשים במפתח הצפנה אחד‪.‬‬
‫• הצפנה אסימטרית‬
‫בה משתמשים בשני מפתחות‬
‫•‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪6‬‬
‫הצפנה סימטרית‬
‫•‬
‫•‬
‫•‬
‫•‬
‫הצפנה סימטרית ‪ -‬היא הוותיקה ביותר‪ ,‬היא‬
‫הצפנה הקלאסית המוכרת כבר מאות שנים‪.‬‬
‫בהצפנה סימטרית משתמשים במפתח אחד‬
‫בלבד גם להצפנה ו וגם לפענוח‪.‬‬
‫בכדי להעביר מידע סודי בין שני הצדדים‬
‫המתקשרים‪ ,‬שניהם חייבים להחזיק באותו‬
‫מפתח הצפנה‪.‬‬
‫היא יעילה ודורשת ליישומה כוח מחשוב נמוך‬
‫(שלא כמו בהצפנה אסימטרית)‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪7‬‬
‫דוגמאות לאלגוריתם הצפנה סימטרית‪:‬‬
‫‪ - DES‬הוא האלגוריתם הסימטרי הראשון שהופץ בקנה מידה גדול‬
‫והפך לתקן הצפנה רשמי‪ .‬שימש בעיקר בתחום הבנקאות והוא עדיין‬
‫בשימוש מוגבל‪.‬‬
‫כיום נחשב לאלגוריתם לא‪-‬בטוח‪ ,‬אך חשיבותו ההיסטורית נותרה בעינה‬
‫מאחר שהטכניקות שיושמו באלגוריתם מהוות בסיס למרבית‬
‫האלגוריתמים הסימטריים המודרניים‪.‬‬
‫‪ – AES‬הוא מחליף כיום את ‪ - DES‬הפך ב‪ 2001-‬לתקן ההצפנה הרשמי‬
‫של ארצות הברית‪.‬‬
‫אלגוריתמים סימטריים נוספים הם‪:‬‬
‫‪ DES, IDEA, FEAL, SAFER, RC5, RC4‬ו‪Serpent3 -‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪8‬‬
‫הבעיה הבסיסית של ההצפנה הסימטרית ‪:‬‬
‫• מפתח ההצפנה מועבר למקבל הצופן כדי שיוכל לפענחו‪ -‬הוא‬
‫בעצם נחשב לגורם זר שיש לו נגישות למפתח ההצפנה וכך‬
‫הוא יוכל לפענח את כל המסרים שהוצפנו באמצעות אותו‬
‫מפתח‪.‬‬
‫• בעיתי לשמור על מפתח הצפנה בסוד לאורך זמן ‪.‬במיוחד אם‬
‫מספר המפתחות שצריך לזכור גדול‪.‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫ניתן לפתור בעיות אלו ‪:‬‬
‫באמצעות פרוטוקולים בטוחים להעברת מפתח הצפנה‪.‬‬
‫לעתים בשילוב שיטות אסימטריות ‪ ,‬כך שמנצלים את יתרונות‬
‫כל אחת מהשיטות‪.‬‬
‫ולעתים בסיוע צד‪-‬שלישי נאמן ‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪9‬‬
‫הצפנה א‪-‬סימטרית‬
‫הוגי השיטה וממציאיה של ההצפנה האסימטרית‬
‫הם ויטפילד דיפי ומרטין הלמן‬
‫בהצפנה זו משתמשים בשני מפתחות‪:‬‬
‫• מפתח פומבי‪: Public Key Cryptography-‬‬
‫איתו מצפינים את המסר‪ ,‬הוא גלוי ונגיש לכל‪.‬‬
‫• מפתח פרטי הוא נשמר בסוד בידי המקבל ורק‬
‫באמצעותו ניתן לפענח את המסר המוצפן‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪10‬‬
‫הצפנה א‪-‬סימטרית‬
‫וכך זה עובד‪:‬‬
‫• הקשר בין מפתחות ההצפנה בצופן אסימטרי הוא חד‪-‬חד ערכי‪.‬‬
‫• הם הופכיים זה לזה ‪ -‬ניתן להצפין עם אחד ולפענח עם האחר‬
‫ולהפך‪.‬‬
‫• המקבל מייצר לעצמו צמד מפתחות‪ ,‬האחד פרטי והאחר פומבי‪.‬‬
‫• כאשר משתמש רוצה להעביר מסר מוצפן לגורם זה‪ ,‬עליו‬
‫להצפין את המידע באמצעות המפתח הציבורי שלו‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪11‬‬
‫ולידע כללי‬
‫•‬
‫בשני השלבים האלה המצפין והמפענח משתמשים בפרוטוקולים‬
‫ובאלגוריתמים קריפטוגרפיים ידועים לביצוע משימות ההצפנה‪.‬‬
‫•‬
‫השיטות בהן השתמשו השולח והמקבל גלויות ומוסכמות מראש‪ ,‬רק‬
‫מפתח ההצפנה הוא סודי‪.‬‬
‫•‬
‫במערכת קריפטוגרפית שלמה‪ ,‬מתווספים בדרך כלל עוד תהליכים‪ ,‬כמו‬
‫תהליך הכנת מפתחות הצפנה‪ ,‬מנגנון העברת מפתחות‪ ,‬פרוטוקול‬
‫אימות זהויות והבטחת שלמות ועוד‪ ,‬כשחלקם אינם קריפטוגרפיים‪.‬‬
‫תהליכים אלו בדרך כלל שקופים מבחינת המשתמש‪ .‬כאשר משתמש‬
‫מתחבר לשרת או כאשר מתבצעת עסקה מקוונת‪ ,‬נעשות ההכנות‬
‫הדרושות ברקע בלי שהמשתמש מרגיש בכך מלבד הדרישה מעת לעת‬
‫לספק אמצעי זיהוי כלשהם כמו סיסמה‪ ,‬מספר כרטיס וכדומה‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪12‬‬
‫נשחק ונתרגל‬
‫"משחק הוגן"‬
‫מילת מפתח ‪:‬‬
‫למשל ‪Palmerstone :‬‬
‫וטבלה ‪5X5‬‬
‫‪E‬‬
‫‪M‬‬
‫‪L‬‬
‫‪A‬‬
‫‪P‬‬
‫‪N‬‬
‫‪O‬‬
‫‪T‬‬
‫‪S‬‬
‫‪R‬‬
‫‪G‬‬
‫‪F‬‬
‫‪D‬‬
‫‪C‬‬
‫‪B‬‬
‫‪U‬‬
‫‪Q‬‬
‫‪K‬‬
‫‪IJ‬‬
‫‪H‬‬
‫‪Z‬‬
‫‪Y‬‬
‫‪X‬‬
‫‪W‬‬
‫‪V‬‬
‫‪ .1‬נמקם את המילה בטבלה (ללא חזרות)‬
‫‪ .2‬נוסיף את יתר אותיות ה ‪ abc‬עד סוף הטבלה‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪13‬‬
‫תמיד אנו נצפין זוג אותיות!‬
‫‪E‬‬
‫‪M‬‬
‫‪L‬‬
‫‪A‬‬
‫‪P‬‬
‫‪N‬‬
‫‪O‬‬
‫‪T‬‬
‫‪S‬‬
‫‪R‬‬
‫‪G‬‬
‫‪F‬‬
‫‪D‬‬
‫‪C‬‬
‫‪B‬‬
‫‪U‬‬
‫‪Q‬‬
‫‪K‬‬
‫‪IJ‬‬
‫‪H‬‬
‫‪Z‬‬
‫‪Y‬‬
‫‪X‬‬
‫‪W‬‬
‫‪V‬‬
‫לדוגמא ‪:‬‬
‫– נניח שנרצה להצפין ‪ay‬‬
‫בשלב ראשון‬
‫אנחנו צריכים למקם את‬
‫‪ a‬ו‪ y-‬בריבוע‬
‫בשלב הבא‪........‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪14‬‬
‫‪E‬‬
‫‪M‬‬
‫‪L‬‬
‫‪A‬‬
‫‪P‬‬
‫‪N‬‬
‫‪O‬‬
‫‪T‬‬
‫‪S‬‬
‫‪R‬‬
‫‪G‬‬
‫‪F‬‬
‫‪D‬‬
‫‪C‬‬
‫‪B‬‬
‫‪U‬‬
‫‪Q‬‬
‫‪K‬‬
‫‪IJ‬‬
‫‪H‬‬
‫‪Z‬‬
‫‪Y‬‬
‫‪X‬‬
‫‪W‬‬
‫‪V‬‬
‫ננסה להצפין את הזוג ‪:ay‬‬
‫‪ .1‬אנחנו צריכים למקם‬
‫‪ a‬ו‪ y-‬בריבוע ולמצוא אות אשר‬
‫נמצאת באותה שורה עם ‪a‬‬
‫ובאותה עמודה עם ‪.y‬‬
‫‪E‬‬
‫‪L M‬‬
‫‪A‬‬
‫‪ .3‬את האות השנייה מחפשים על ידי‬
‫בדיקה של עמודה עם האות הראשונה‬
‫ושורה עם האות השנייה‪.‬‬
‫‪A‬‬
‫‪S‬‬
‫‪P‬‬
‫‪O‬‬
‫‪C‬‬
‫‪F‬‬
‫‪IJ‬‬
‫‪Q‬‬
‫‪Y‬‬
‫‪ .2‬ואז מקבלים אות ‪.M‬‬
‫‪Z‬‬
‫‪Y‬‬
‫‪X‬‬
‫‪V W‬‬
‫‪ .4‬ואז האות השנייה היא ‪.W‬‬
‫‪15‬‬
‫וכך ‪ ay‬הופך להיות ‪.MW‬‬
‫עכשיו ננסה להצפין את המשפט שלנו‬
‫”‪“Lord Granville’s dinner party‬‬
‫‪ .1‬נתחיל בהפרדה של‬
‫הטקסט לקבוצות בנות‬
‫שתי אותיות‬
‫‪ .2‬לאחר ההפרדה נקבל‪:‬‬
‫‪lo rd gr an vi lx sd in ne rp ar ty‬‬
‫‪PS OX‬‬
‫‪E‬‬
‫‪M‬‬
‫‪L‬‬
‫‪A‬‬
‫‪P‬‬
‫‪N‬‬
‫‪O‬‬
‫‪T‬‬
‫‪S‬‬
‫‪R‬‬
‫‪G‬‬
‫‪F‬‬
‫‪D‬‬
‫‪C‬‬
‫‪B‬‬
‫‪U‬‬
‫‪Q‬‬
‫‪K‬‬
‫‪IJ‬‬
‫‪H‬‬
‫‪Z‬‬
‫‪Y‬‬
‫‪ES WH TL MP TC US GN BR‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪X‬‬
‫‪W‬‬
‫‪V‬‬
‫‪MT TB BN‬‬
‫‪16‬‬
‫תרגול מעשי‬
‫‪ .1‬כתבו אלגוריתם‪ ,‬בשפת תכנות כלשהיא לפי‬
‫בחירתכם‪ .‬המקבלת כקלט שתי מחרוזות ‪ :‬מילת‬
‫מפתח וטקסט להצפנה‪ .‬פלט האלגוריתם יהיה‬
‫הטקסט המוצפן‪.‬‬
‫‪ .2‬כתבו אלגוריתם נוסף‪ ,‬בשפת תכנות כלשהיא לפי‬
‫בחירתכם‪ .‬המקבלת כקלט שתי מחרוזות ‪ :‬מילת‬
‫מפתח וטקסט מוצפן‪ .‬פלט האלגוריתם יהיה‬
‫הטקסט המקורי‪.‬‬
‫מדעי המחשב ‪ -‬סייבר ואינטרנט ‪ -‬הצפנה ‪-‬‬
‫ויוי טרנר ואילנה חריזמן‬
‫‪17‬‬
‫קישורים עיקריים‬
http://www.planetnana.co.il/yossiea/links.html
http://halemo.net/edoar/0006/0004.html
http://vlib.eitan.ac.il/digital_signiture/data_files/intro_
5_crypt_main.htm
/http://www.sciencefriction.net/blog/2008/02/20/79
http://cse.proj.ac.il/hebetim/june2003%5Crsa.htm
http://vlib.eitan.ac.il/digital_signiture/data_files/rsa_u
ses.htm
- ‫ הצפנה‬- ‫ סייבר ואינטרנט‬- ‫מדעי המחשב‬
18
‫ויוי טרנר ואילנה חריזמן‬