הצפנה ושימוש בהשחזה (Hashing)
הוצג| English | משמעות |
|---|---|
| symmetric/sɪˈmetrɪk/ | אנצקלופדיה: סימטרי |
| encryption/enˈkrɪpʃn/ | הצפנה |
| asymmetric/ˌeɪsɪˈmetrɪk/ | אנצקלופדיה: א-סימטרי |
| plaintext/ˈpleɪntekst/ | טקסט גלוי |
| ciphertext/ˈsaɪfətekst/ | טקסט מוצפן |
| decrypt/dɪˈkrɪpt/ | אנצקלופדיה: גילוי טקסט מוצפן |
| key pair/kiː peə/ | אנצקלופדיה: זוג מפתחות |
| public key/ˈpʌblɪk kiː/ | מפתח ציבורי |
| private key/ˈpraɪvət kiː/ | מפתח פרטי |
| session key/ˈseʃn kiː/ | אנצקלופדיה: מפתח סשן |
| cryptographic hash/ˌkrɪptəˈɡræfɪk hæʃ/ | אנצקלופדיה: פישוט קריפטוגרפי |
| digest/ˈdaɪdʒest/ | אנצקלופדיה: תמצית |
שני זרים מסכימים על סוד בציבור
- הנה בעיה שנראית בלתי אפשרית. אתה ועסק לא נפגשו מעולם ואין להם שום משותף. כל מה שאומרים זה למעשה נשמע על ידי כולם. הסכמו על מפתח סודי.
- עד 1976 התשובה הייתה שלא ניתן: הצפנה סימטרית דורשת אספקת המפתח מראש, על ידי שליח או פנים אל פנים, ולכן ספריות קוד מלחמתי הודפסו ונשלחו.
- אז דיפי, הלמן ואחר כך ריבסט, שמיר ואדלמן הראו שניתן לעשות זאת, באמצעות מפתח שרק נעול ומפתח אחר שרק פותח. כל רכישה שבשיתו ביצענו ברשת נשענת על כך.
- שיעור זה עוסק בהצפנה סימטרית ולא-סימטרית, מדערכובים אמיתיים משתמשים בשניהם, ובפונקציה חד-כיוונית הנקראת גיבוי.
המילון
- הצפנה ממירה טקסט קריא ל-טקסט מוצפן לא ניתן לקריאה באמצעות מפתח; פירוק הצפנה הוא ביצוע הפעולה ההפוכה עם המפתח המתאים.
- הצפנה מגנה על סודיות: העתק שנחתך לא יהיה ניתן להבנה. היא אינה מונעת את החיתוך, העיכוב או המחיקה של הנתונים.
- החוזק טמון במפתח, לא בשמירת הסודיות של האלגוריתם. האלגוריתמים מפורסמים ונחקרים במטרה שחוסרונות יתגלו על ידי חברים ולא על ידי אויבים.
הצפנה סימטרית
- הצפנה סימטרית משתמשת במפתח זהה להצפנה ולהצפנה. AES הוא הדוגמה הסטנדרטית.
- היא מהירה, ולכן מתאימה לנתונים בכמות גדולה: דיסק שלם, זרימת וידאו, קובץ גדול.
- חולשה שלה היא חלוקת המפתחות: המפתח צריך להגיע לצד השני ללא שהיה נעצר, ואם הוא ייעצר כל המנגנון יהיה פרוץ. עם $n$ אנשים שכולם רוצים לתקשר פרטית בזוגות, מספר המפתחות הנדרש גדל בהתאמה לריבוע $n$.
סיפרת הזזה (מפתח סימטרי)
סיפרת קייסר מזיזה כל אות קדימה ב-מפתח קבוע. אותו מפתח משמש גם להצפנה וגם לפירוש — זוהי המשמעות של סימטרי. נסו לקרוא את הטקסט המוצפן ללא ידע בזווית ההזזה.
הצפנה סימטרית משתמשת ב:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
הצפנה סימטרית משתמשת במפתח סוד משותף — מהירה, אך יש להפיץ אותו בצורה מאובטחת.
הצפנה א-סימטרית
- הצפנה א-סימטרית מעניקה למשתמש כלשהו זוג מפתחות: מפתח ציבורי שהוא מפרסם לעולם, ומפתח פרטי שהוא לעולם לא חושף.
- כל מה שמוצפן עם המפתח הציבורי ניתן להצפנה רק עם המפתח הפרטי המתאים. לכן כדי לשלוח לאליס הודעה סודית, אתה מצפין עם המפתח הציבורי שלה, ורק אליס תוכל לקרוא אותו.
- אין צורך בחילוף מפתחות מוקדם, דבר הפותר את הבעיה שהעלה שיעור זה. העלות היא שהוא איטי משמעותית, ולכן אינו משמש לכמויות נתונים גדולות.

מפתח אחד נעול, השני פותח, ואחד מהם הוא סודי
התאימו לכל כלי קריפטוגרפי את סוג המפתח בו הוא משתמש.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
סימטרית מהירה אך דורשת שיתוף מפתח; א-סימטרית פותרת זאת באמצעות זוג מפתחות; גיבוי הוא חד-כיווני; HTTPS משלב אותן.
כדי לשלוח הודעה סודית לאליס באמצעות הצפנה א-סימטרית, ההצפנה מתבצעת ב:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
הצפנה עם המפתח הציבורי של המקבל מאפשרת פענוח רק על ידי המפתח הפרטי המתאים לו.
התאם כל סוג הצפנה לחולשתה העיקרית.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
השיטה ההיברידית משתמשת בכל אחת כדי לכסות את החולשה של השנייה: א-סימטרית למסירת המפתח, סימטרית לשאת הנתונים.
דוגמה פתורה: שליחת הודעה סודית
- הסבר כיצד הצפנה א-סימטרית מאפשרת לבוב לשלוח הודעה סודית לאליס, גם אם הם מעולם לא נפגשו. [3]
- אליס מפרסמת את המפתח הציבורי שלה, שאף אחד יכול להיות בעליו, כולל מאזין בלתי חוקי.
- בוב מצפין את ההודעה עם המפתח הציבורי של אליס. הטקסט המוצפן ניתן להצפנה רק על ידי המפתח הפרטי המתאים.
- אליס מצפנת אותו עם המפתח הפרטי שלה, ששמעולם לא חילפה. מאזין בלתי חוקי המחזיק במפתח הציבורי ובטקסט המוצפן לא יוכל לשחזר את ההודעה.
- השגיאה הנפוצה ביותר היא לומר שבוב מצפין עם המפתח שלו. עקוב אחר המפתח המשמש בכל שלב.
בוב שולח הודעה סודית לאליס באמצעות הצפנה א-סימטרית. באילו מפתח הוא מצפין?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
רק המפתח הפרטי של אליס יכול לבטל את מה שהמפתח הציבורי שלה עשה, ואליס בלבד מחזיקה בו. בוב מעולם לא ראה את המפתח הפרטי של אליס.
הגישה ההיברידית, שהיא זו שאמת מתרחשת
- סימטרית היא מהירה אך אינה יכולה לשתף את המפתח שלה; א-סימטרית יכולה לשתף מפתח אך איטה. מערכות אמיתיות משתמשות בכל אחת מהן לפי מה שהיא טובה בו.
- הלקוח יוצר מפתח סשן אקראי, מצפין את המפתח הקטן הזה עם המפתח הציבורי של השרת, ושולח אותו. השרת מצפנת אותו עם המפתח הפרטי שלו, וכעת שני הצדדים מחזיקים באותו מפתח סשן.
- כל בייט בתוכן ההודעה האמיתית מוצפן סימטרי באמצעות מפתח הסেশון הזה: מהיר, והשלב האי-סימטרי האיטי התרחש רק פעם אחת, על מעט בייטים.
- זוהי בדיוק הפעולה של HTTPS ו-SSH.

אי-סימטרי להסכמה על המפתח, סימטרי לעברת הנתונים
בגישה ההיברידית המשמשת ב-HTTPS, נעשה שימוש בהצפנה א-סימטרית כדי:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
הצפנה א-סימטרית איטית משמשת רק להחלפת מפתח סשן; שאר הנתונים עוברים על ידי הצפנה סימטרית מהירה.
סדרו את שלבי השיטה ההיברידית המשמשת ב-HTTPS בסדר הנכון.
Difficulty 3/5 · 200 coins + a small bonus on first completion today
השלב האיטי הא-סימטרי מתרחש פעם אחת, על מספר מעטים של בייטים; כל מה שמגיע אחר כך עובר על ידי הצפנה סימטרית מהירה.
גיבוי (Hashing)
- גיבוי קריפטוגרפי ממיר קלט בכל גודל ל-ביטוי (digest) בגודל קבוע. אותו קלט תמיד נותן אותו ביטוי, ושינוי קטן בקלט משנה את הביטוי לחלוטין.
- הוא חד-כיווני: לא ניתן לשחזר את הקלט מהביטוי. זהו המטרה העיקרית, וזה מה שמבדיל אותו מצפנה, שהיא עוצבה להיות הפיכה.
- שימושים: אחסון סיסמאות, שבו המערכת שומרת רק את הביטוי ומשווה ביטויים בזמן כניסה, כך שמאגר נתונים שנגנב לא מספק סיסמאות; ובדיקת שלמות, שבה ביטוי של קובץ מתחשב מחדש ומשווה כדי לגלות כל שינוי.
פונקציית גישור קריפטוגרפית מייצרת ____ בגודל קבוע ממערך כניסה בכל גודל.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
אותו מערך כניסה תמיד נותן את אותו תוצר, שינוי קטן נותן תוצר שונה לחלוטין, ולא ניתן לשחזר את המערך הכניסה ממנו.
דוגמה פתורה: מדוע לבצע גיבוי לסיסמה במקום לצפנה
- אתר אינטרנט מאחסן סיסמאות של משתמשים כגיבויים ולא כטקסט מוצפן. הסבר מדוע.
- צפנה היא הפיכה: קיים מפתח כלשהו שממיר את הערך האחסון חזרה לסיסמה, ותוקף שרוכש את המאגר עשוי גם לקבל את המפתח.
- גיבוי הוא חד-כיווני, ולכן מאגר נתונים שנגנב של ביטויים לא יספק את הסיסמאות, ואפילו עובדי האתר עצמם לא יכולים לקרוא אותן.
- הכניסה עדיין עובדת כי המערכת מבצעת גיבוי של מה שהמשתמש הקליד ומשווה ביטויים, לעולם לא את הסיסמאות עצמן.
השחזה ואפקט השלג
השחזה היא חד-כיוונית: קל לחשב, כמע בלתי אפשרי להפוך. שינוי זעיר בקלט גורם לשינוי גדול ולא צפוי בחלק מהפלט — אפקט השלג שמפנה את השימוש בהשחזות כסיפורי מעבר.
פונקציית גישור קריפטוגרפית היא חד-כיוונית (אי אפשר לשחזר את המערך הכניסה מהתוצר) ומראה את אפקט המפולת — שינוי זעיר במערך הכניסה הופך חלק גדול ואינו צפוי מהתוצא.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
חד-כיווניות בשילוב עם אפקט המפולת הם מה שהופך גישורים לקריאיים לאחסון סיסמאות ולבדיקת שלמות.
מדוע לאחסן סיסמאות כגישורים במקום כהצפנה? סמן את כולן האפשרויות הרלוונטיות.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
אמת, חותמת בעלת גודל קבוע עשויה להיות קצרה יותר, אך זהו לא הסיבה האבטחתית. החוסר הפוטנציאליות ההפכית היא.
סימונים נופלים מהיד
- כדי לשלוח הודעה סודנית למישהו משתמשים במפתח הציבורי שלו, ולא במפתח שלך. ציין מי המפתח בכל שלב.
- חולשת הסימטריה היא חלוקת המפתחות; חולשת האי-סימטריה היא מהירות. ההיברידי משתמש בכל אחד כדי לכסות את חולשת השני.
- גיבוי הוא חד-כיווני ואינו צפנה: אין מפתח ואין מה לפעיל.
- צפנה מגנה על סודיות בלבד. היא לא מונעת התקצה, מחיקה או שינוי בהודעה ללא זיהוי: עבור זאת יש צורך בגיבוי.
הבנתך מושלמת
- צפנה ממירה טקסט גלוי לטקסט מוצפן באמצעות מפתח ומגנה על סודיות בלבד; החוזקה טמויה במפתח, ולא בהסתרת האלגוריתם.
- סימטרי: מפתח משותף אחד, מהיר, טוב לנתונים בכמות גדולה, חלש בחלוקת המפתחות · אי-סימטרי: מפתח ציבורי לצפנה ומפתח פרטי לפענוח, לא דורש חילוף מקדים, אך איטי.
- ההיברידי המשמש ב-HTTPS וב-SSH שולח מפתח סेशन אקראי המוצפן אי-סימטרית, ואז מעביר את הנתונים סימטרית.
- גישור קריפטוגרפי יוצר חתימה בעלת גודל קבוע, הוא חד-כיווני, ומשמש לאימות סיסמאות ולבדיקת שלמות