זוהי הכתבה החמישית בסדרת כתבות העוסקות בצפנים, אך היא עומדת בזכות עצמה. הפרקים הקודמים: צופן קיסר, ניתוח תדירויות, צופן ויז'נר, שיטת קסיסקי.
בסדרת כתבות זו, העוסקת בשיטות הצפנה ופיצוח צפנים, דנו עד כה בצפנים ופיצוחים שנעשו באמצעות דף ועט - או קלף ונוצה. כעת נדלג לשנת 1918, אז מהנדס החשמל הגרמני ארתור שרביוס (Scherbius) המציא את מכונת האניגמה, שהייתה מכשיר ההצפנה החשמלי הראשון. שרביוס שיווק אותה בתחילה לבנקים ולמוסדות אחרים שהיו זקוקים לתקשורת מאובטחת. בתחילת שנות ה-30 אימץ אותה לצרכיו גם הצבא הגרמני.
בשנות המלחמה שימשה המכונה להעברת מאות ואף אלפי הודעות חסויות ביממה בשירות הממשלה הנאצית וסוכנויות הביון והצבא של הרייך השלישי. בתוך כך נוספו לה שכלולים חדשים. בכתבה נתמקד באופן פעולתה של המכונה, אך סיפור פיצוחה הוא מרתק לא פחות. פרק אחד וחשוב בו שייך למתמטיקאי הבריטי ומפצח הצפנים אלן טיורינג, שתכנן את מכונת החישוב שממנה התפתח בהמשך המחשב האלקטרוני.
עוד כתבות באתר מכון דוידסון לחינוך מדעי:
מגפת הקורונה: עדכונים אחרונים
רעב, מחלות וצריכת חלב
איך זה יכול להיות? חידת הגפרור והמגנט
אופן הפעולה
מכונת האניגמה נראית כמעט כמו מכונת כתיבה רגילה, פרט לכך שכאשר לוחצים על אות מסוימת נדלקת בלוח התצוגה האות שמחליפה אותה בקוד המוצפן. המכונה כללה כמה מרכיבים שהשתלבו יחד כדי להוסיף מורכבות להצפנה.
1. המערבלים
כל מערבל במכונת האניגמה היה טבעת בעלת חיווט חשמלי פנימי שתפקידו לחבר בין אותיות שונות, כמו צופן החלפה פשוט. הייחוד הוא בכך שבכל פעם שלוחצים על אות במקלדת המערבלים מסתובבים בפסיעות מוגדרות ועל ידי כך משנים את אופן הצפנת האות הבאה.
אפשר להמשיל את אופן תזוזת המערבלים למנגנון של שעון. בכל פעם שמוקלדת אות, מערבל 1 מסתובב פסיעה אחת; כשהוא מסיים סיבוב שלם, שבאיור למעלה אורכו הוא חמש פסיעות (הקלדות), מערבל 2 מצטרף אליו וזז גם הוא פסיעה אחת. אם נקליד על אות מסוימת במכונה המאוירת למעלה, מצב המערבלים ישתנה לסידור המתואר למטה.
כל מערבל אפשר לסובב למצב התחלתי מסוים המיוצג על ידי האות המתאימה לו. מספר המצבים האפשרי זהה למספר האותיות במכונה, כלומר חמישה במכונה הפשוטה מאוד שבאיור או 26 במכונה המבוססת על האלפבית הלטיני. למשל, מצב התחלתי אפשרי של המערבלים במכונה שלנו יכול להיות "ב'-ה'", או למשל R-C-G במכונת אניגמה גרמנית אמיתית עם שלושה מערבלים. כמורכבות נוספת, יש מערבלים עם חיווטים פנימיים שונים. לכן גם סדר המערבלים במכונה משמעותי, וחיוני שהמצפין והמפענח ירכיבו אותם במכונה באותו סדר בדיוק.
2. המְשַקף
המשקף הוא רכיב נוסף שנמצא מייד אחרי המערבלים. אחרי שהאות החשמלי עובר דרך המערבלים הוא מגיע למשקף, שמחזיר אותו למערבלים עם הזחה נוספת. במכונה המקורית, להבדיל מהאיור הבא, אות לא יכלה להשתקף מחדש לעצמה. בדיעבד זה היה פגם עיצובי במכונה, שאִפשר למפצחי הצפנים הפולנים לפרוץ את ההצפנה שלה.
3. לוח התקעים
לוח התקעים הוא מרכיב נוסף במכונה שמאפשר להחליף בין זוגות של אותיות. פעולת ההחלפה נעשית מייד אחרי ההקלדה ולפני המעבר במערבלים, ופעם נוספת לפני הצגת אות בלוח התצוגה. ההחלפה הזאת היא הדדית, כלומר אם א' מחליפה את ב' אז גם ב' מחליפה את א'.
סיבוכיות
הצבא הגרמני השתמש במכונה עם חמישה מערבלים שונים שאותם יכלו להכניס לכל אחד משלושה חרירי מערבלים. כמו כן בלוח התקעים היה אפשר לחבר בין עשרה צמדי אותיות שונים. מספר הסידורים האפשריים (קונפיגורציות) הוא בסביבות 1,020 סידורים שונים של האלפבית! תארו לעצמכם איזו משימה אדירה ולא מעשית הייתה לנסות את כל הסידורים האפשריים כדי לקרוא את ההודעה. פיצוח הקוד התאפשר בסופו של דבר רק בזכות כמה חולשות במכונה ובשימוש האנושי בה, שמפצחי הצפנים נאחזו בהם.
פיצוח האניגמה
הראשון שפיצח את ההצפנה של מכונת האניגמה, בגלגולה המוקדם, היה המתמטיקאי הפולני מריאן רייבסקי (Rejebski), שעבד במטה ההצפנה של צבא פולין. לידי הפולנים נפלה מכונת אניגמה גרמנית, ומלאכת הפיצוח שלה הוטלה על רייבסקי.
הגרמנים השתמשו במכונה כך: כל חודש חולקו למשתמשי האניגמה הקונפיגורציות היומיות (הסידורים האפשריים או המפתחות) לכל אותו החודש. המפתח היומי לא שימש לשליחת ההודעות אלא לצורך שליחת "מפתח הודעה".
ראשית השולח כייל את המכונה לפי המפתח היומי.
לאחר מכן הוא החליט על מצב התחלתי חדש עבור המערבלים, למשל TGN, הקליד אותו פעמיים רצוף (TGNTGN) ושלח את הרצף שקיבל לנמען ההודעה.
הנמען פענח את ההודעה לפי המפתח היומי וקיבל את מפתח ההודעה.
בסופו של התהליך התקשורת ביניהם התבצעה באמצעות מפתח ההודעה. שניהם כיילו את המכונות שלהם לפי המפתח החדש ורק אז נשלחה ההודעה האמיתית.
למה הגרמנים עשו את זה? ככל שהטקסט ארוך יותר, קל יותר למפצח הצפנים לזהות את המפתח. בנוהל הזה כל מפתח הודעה משמש לשליחת הודעה אחת בלבד, במקום שכל ההודעות מאותו יום יוצפנו על ידי אותו מפתח יומי וכך יקלו מאוד על המפענחים. את המפתח החלופי שלחו כאמור פעמיים, כדי לפצות על טעויות אנוש ובעיות תקשורת – וזו בדיוק הייתה נקודת התורפה שרייבסקי חיפש.
הוא התחיל בניתוח מפתחות ההודעה עבור הודעות מוצפנות שיורטו ביום מסוים. נניח שעבור שלוש הודעות שכאלה הוא קיבל:
לפי הנוהל שתיארנו, כיוון שהרצף נשלח פעמיים, האות הראשונה והרביעית (זוג 1) נובעות מהקלדת אותה אות. אותו דבר נכון גם לאות השנייה והחמישית (זוג 2) והשלישית והשישית (זוג 3). אם כן, לפי ההודעה הראשונה האותיות T ,B קשורות. רייבסקי אסף מאות הודעות שכאלה ביום ועבור כל זוג הוא הרכיב טבלה המתארת את הקשרים בין האותיות. לדוגמה עבור זוג 1 תיתכן הטבלה:
מהטבלה הזאת אפשר להרכיב שרשראות שמתארות קשרים בין אותיות, לדוגמה, C קשורה ל-G, שקשורה ל-X, שקשורה ל-R, שקשורה ל-P, שקשורה ל-H, שחוזרת מחדש ל-C.
רייבסקי הסיק שני דברים חשובים: הראשון, אורך השרשראות האלה הוא טביעת אצבע ייחודית של כל סידור של המערבלים. הדבר השני הוא שלוח התקעים לא ישפיע על אורך השרשראות. נסו להחליף בין זוג אותיות ותגלו שזה כך.
כלומר אורך השרשראות נובע אך ורק מכיול המערבלים, וכיוון שבשלב ההוא היו במכונה רק שלושה מערבלים, מספר האפשרויות שצריך לבדוק מצטמצם ל-105,456. עבור כל אפשרות כזאת בדקו רייבסקי וצוותו מה יהיו אורכי השרשראות עבור שלושת הזוגות והרכיבו מאגר נתונים. המשימה הזאת נמשכה שנה שלמה, אך אחריה כל מה שרייבסקי היה צריך לעשות כדי לזהות את המפתח היומי היה להרכיב טבלה, לנתח את אורך השרשראות ולחפש במאגר את הכיול המתאים.
בהמשך, אחרי שהגרמנים סיבכו את המכונה עוד קצת, רייבסקי תכנן ובנה את מכונות ה"בומב" (Bombe), שחיפשו בעצמן את הכיול המתאים במאגר הנתונים. לאחר מכן נותר להקליד הודעה מוצפנת ולהסיק את הסידור של לוח התקעים על ידי השלמת מילים.
מבצע הפענוח של בלצ'לי פארק ואלן טיורינג
אולם הגרמנים לא טמנו את ידם בצלחת והוסיפו בהדרגה למכונות האניגמה החדשות עוד מערבלים ועוד כבלי חיבור ללוח התקעים. לפולנים פשוט חסרו האמצעים הדרושים לבדיקת מספר כה רב של כיולי מערבלים. כאן הבריטים תפסו את המושכות. במשך תקופה מסוימת הם המשיכו לפענח הודעות לפי הטכניקה הפולנית, ביחידת מפענחי הצפנים שפעלה בבלצ'לי פארק באנגליה. אך המכונות נהיו יותר ויותר מסובכות, וצוות המפענחים שבראשו עמד אלן טיורינג הסתייע בקיצורי דרך נוספים כדי להמשיך לקרוא את ההודעות המוצפנות.
בהמשך פיתח טיורינג, בין השאר בהשראת מכונת ה"בומב" של רייבסקי, מכונה משוכללת יותר שיכלה להתמודד עם מציאת הכיול היומי. שיטת הפיצוח החדשה כבר לא השתמשה בזיהוי שרשראות ממפתחות ההודעה, אך גם היא נעזרה בחיפוש אחרי חזרות שקיימות בטקסט המוצפן. פיתוח המכונה חייב שורה של פריצות דרך בתיאוריה של מדעי המחשב, ואלה תרמו רבות לטיורינג ועמיתיו באנגליה ובארצות הברית בפיתוח המחשבים האלקטרוניים הראשונים אחרי המלחמה.
ליאור ויצהנדלר, מכון דוידסון לחינוך מדעי, הזרוע החינוכית של מכון ויצמן למדע