בומב

ממוזער|שמאל|250px|מכונת ה"בומב" חיקתה את פעולתן של מספר מכונות אניגמה מחוברות זו לזו. כל אחד מהתופים, הסתובבו במהירות כדי לדמות את פעולת הרוטור.
ה**בומב** היה התקן אלקטרו-מכני אשר שימש את המפענחים הבריטיים ככלי לפענוח הודעות האניגמה במהלך מלחמת העולם השנייה. מכונת הבומב התבססה על התקן פולני משנת 1938 ותוכננה על ידי אלן טיורינג. גורדון ולצ'מן שיפר מאוחר יותר את המכונה.

מקור השם "בומב" בהתקן פענוח בשם "בומבה" אשר תוכנן בשנת 1938 על ידי מריאן רייבסקי מהביורו שיפרוב (שמו הפולני של מטה ההצפנה).

אניגמה סטנדרטית הכילה שלושה רוטורים . כל אחד מהם היה יכול להיות באחד מבין 26 מיקומים שונים. הבומב ניסתה כל מיקום רוטור אפשרי ועבור כל ניסיון ביצעה בדיקה מסוימת. הבדיקה פסלה אלפי מיקומים אפשריים של שלושת הרוטורים. הפתרונות האפשריים המעטים שנותרו נבדקו באופן ידני. על מנת להשתמש בבומב היה על המפענח לייצר "עריסה" - אזור של טקסט מוצפן שעבורו ניתן היה לנחש את הטקסט המקורי.

## האתגר - מכונת האניגמה

[ממוזער|שמאל|300px|דגם של מכונת הבומב ב[בלצ'לי פארק]]
הצבא הנאצי והלופטוופה עשו שימוש במכונות אניגמה בעלות 3 רוטורים. הרוטורים הכילו כל אחד כ-26 מגעים חשמליים בכל קצה. החיווט בין מגעי הקלט למגעי הפלט בכל רוטור עורבל. שלושת הרוטורים חוברו לתוף משקף נייח, אשר הסיט את הזרם החשמלי חזרה בכיוון הפוך דרך הרוטורים. אוסף הרוטורים והמשקף מכונים "מערבל" בהמשך הערך ומסומנים באות *S*. כל רוטור יכול היה להיות באחד מ-26 מיקומים וכך נוצרו 26x26x26=17,576 אופנים שונים שבהם הרוטורים יכלו לארגן מחדש את אותיות האלפבית. המיקומים ההתחלתיים של הרוטורים יצרו חלק מהמפתח הסודי של האניגמה ומטרת הבומב הייתה למצוא את המיקומים של הרוטורים. בכל צעד של ההצפנה, לפחות רוטור אחד ("הרוטור המהיר") התקדם במיקום אחד. בנקודות זמן מסוימות הרוטורים הנוספים קודמו גם הם. ברם, כאשר המפענחים השתמשו במכונת הבומב הם הניחו, עבור מספר אותיות מצומצם, שרק הרוטור המהיר נע ושהנותרים נותרו נייחים. הסימון *S<sub>1</sub>* ישמש למיקום כלשהו של המערבל. הסימון *S<sub>2</sub>* ישמש לאותו מיקום אך כאשר מניחים שהרוטור המהיר התקדם במיקום בודד. הסימונים *S<sub>3</sub>*, *S<sub>4</sub>* ימשיכו קו זה.

קושי נוסף שהציגו מכונות האניגמה הצבאיות של הנאצים בפני המפענחים היו לוח התקעים (הקרוי בגרמנית "שטקרברט") אשר תרם ערבול נוסף לאותיות. המספר העצום של חיווטי תקעים אפשריים הפך את תהליך הפענוח לקשה בהרבה. אותיות הוחלפו בזוגות: אם האות A \הוחלפה באות R אזי R הוחלפה באות A. החוקיות הזו נוצלה על ידי "הלוח האלכסוני" של ולצ'מן, אשר הוכנס כשיפור למכונת ה"בומב". אם נסמן את לוח התקעים באות *P*, אזי מאחר שהלוח יצר החלפה של זוגות אזי הפעלת האופרטור *P* פעמיים החזיר את המקור : P(P(x)) = x.

ניתן להתבונן בתהליך ההצפנה כהפעלת *P*, לאחר מכן הפעלת *S* ולבסוף הפעלת *P* שוב. מתמטית תהליך ההצפנה של האניגמה יכול להיכתב כך : E(x)=P(S(P(x))). האניגמה היא גם בעל תכונה של "היזון=חוזר": הפענוח זהה להצפנה כך שמתקיים : E(E(x))=x.

## עקרון הפעולה של ה"בומב"
שמאל|ממוזער|320px|A deduction step used by the bombe; while the actual intermediate values after the plugboard ''P'' – the "steckered" values – are unknown, if one is guessed then it is possible to use the crib to deduce other steckered values. Here, a guess that ''P(''<tt>A</tt>'')''=<tt>Y</tt> can be used to deduce that ''P(''<tt>T</tt>'')''=<tt>Q</tt> because <tt>A</tt> and <tt> T</tt> are linked at the 10th position in the crib.
במכונת הבומב נעשה שימוש באוסף רוטורים בעלי חיווט פנימי זהה לזה שבאניגמה. אולם הרוטורים תוכננו כך שיסובבו על ידי מנוע כך שכל התצורות האפשריות עבור מיקומי הרוטורים תסרקנה. הרוטורים בבומב הכילו אוסף כפול של מגעים וכן חיווט על מנת לחקות את השיקוף שבאניגמה. מכונת הבומב הכילה מספר אוספים של רוטורים שחווטו בהתאם ל**תפריט** שהוכן מראש על ידי המפענחים. בכל מיקום של הרוטורים, בוצעה בדיקה חשמלית. מספר רב של תצורות שנבדקו נפסלו מאחר שהבדיקה החשמלית הובילה לסתירה לוגית. אם הבדיקה לא העלתה סתירה לוגית המכונה עצרה וצלצלה בפעמון על מנת לאפשר בחינה ידנית מעמיקה של הפתרון המוצע. בדרך כלל בוצעה הבדיקה הידנית על גבי העתק של מכונת אניגמה, על מנת לבחון האם הפענוח מוביל למילים תקינות בגרמנית. לרוב נדרשו מספר רב של ניחושים שגויים והתאמות כושלות בטרם נמצא הפענוח הנכון.

### עריסות
הבדיקה בוצעה על ידי ביצוע היקשים מתוך קטע קצר, של טקסט מקור ידוע (או מנוחש), אשר כונה **עריסה**.
למשל, מפענח עשוי היה לחשוד שהביטוי ATTACKATDAWN היה מיוצג על ידי רצף תווים בטקסט המוצפן כ- WSNPNLKLSTCS:

תהליך מציאת העריסה לא היה פשוט. הוא דרש היכרות משמעותית עם העגה הצבאית הגרמנית ועם הרגלי התקשורת של המפעילים.

### לוח התקעים
האניגמה הצבאית של הנאצים הכילה לוח תקעים (*P*) אשר אפשר חיווט למטרת החלפת אותיות לפני ואחרי פעולת המערבל הראשי (*S*). אילו לא היה לוח תקעים כלל, היה זה יחסית פשוט לבדוק את תצורת הרוטורים.

ניתן היה אז לאתחל עותק של האניגמה עם אות העריסה A מוצפנת עליו, ומושווית עם הטקסט המוצפן W. אם הם התאימו ניתן יהיה לעבור לאות הבאה ולבדוק ש T מתאים ל S וכך הלאה עבור העריסה כולה. אם בנקודה כלשהי לא תהיה התאמה בין האותיות, אזי תצורת הרוטורים ההתחלתית תידחה. רוב התצורות השגויות ייפסלו לאחר בדיקת שתי אותיות בלבד. הבדיקה הזו הייתה יכולה להתבצע באופן ממוכן עבור כל 17,576 התצורות האפשריות של הרוטורים.

ברם, עם לוח התקעים היה קשה בהרבה לבצע הצפנות ניסוי משום שלא היה ידוע אילו טרנספורמציות התבצעו בין אותיות העריסה והטקסט המוצפן. למשל, *P(*A*)* וכן *P(*W*)* היו בלתי ידועות משום שתצורות לוח התקעים היו נעלם.

### היקשים לוגיים אודות ערכי התקעים
ממוזער|שמאל|את אותיות העריסה ניתן לסדר בגרף על מנת לספק '''תפריט''' המפרט כיצד יש לאתחל את פעולת הבומב. היו רצפים של אותיות שיצרו לולאות או '''סגורים'''. ה'''תפריט''' שבאיור לעיל כולל את הלולאות <tt>ATLK</tt>, <tt>TNS</tt> and <tt>TAWCN</tt>. ככל שקימות לולאות רבות יותר בתפריט, כך גדל מספר תצורות הרוטורים שהבומב יכול לדחות. המשמעות היא פחות עצירות שווא לצורך וידוי פענוח.
טיורינג גרס שאף על פי שערכי *P(*A*)* or *P(*W*)*, היו בלתי ידועים, עדיין העריסה סיפקה קשרים ידועים בין הערכים הללו - שהם הערכים לאחר טרנספורמציית לוח התקעים. על ידי שימוש בקשרים הללו, יכול היה מפענח למצוא סתירה לוגית שבמסגרתה תצורת הרוטורים הנבדקת יכלה להיפסל.

לדוגמה: מפענח עשוי לנחש ש *P(*A*)*=Y. תוך התבוננות במיקום 10, ניתן להבחין שהאות A מקודדת לאות T כלומר :

: \texttt{T} = P(S_{10}(P(\texttt{A})))

מאחר ש *P* הוא ההפכי של עצמו, ניתן להפעיל את הפונקציה עבור שני הצדדים על מנת להשיג את המשוואה הבאה :

: P(\texttt{T}) = S_{10}(P(\texttt{A}))

משוואה זו מדגימה את היחס בין *P(*A*)* לבין *P(*T*)*. אם *P(*A*)*=Y, וכן *S<sub>10</sub>(*Y*)*=Q ניתן להסיק ש

: P(\texttt{T}) = S_{10}(P(\texttt{A})) = S_{10}(\texttt{Y})=\texttt{Q}.

בעוד שהעריסה לא מאפשרת לנו להחליט מהם הערכים המתקבלים לאחר המעבר דרך לוח התקעים, העריסה מספקת אילוץ. במקרה זה העריסה מדגימה כיצד *P(*T*)* ידוע לחלוטין אם *P(*A*)* ידוע.

באותו אופן, T מקודד ל L במיקום 8. על ידי שימוש ב *S<sub>8</sub>*, ניתן להקיש את ערך התקעים עבור L ולקבל :

: P(\texttt{L}) = S_{8}(P(\texttt{T})) = S_{8}(\texttt{Q})=\texttt{G}.

במיקום 6, K מקודד ל L. מאחר שמכונת האניגמה היא בעלת משוב עצמי, הרי ש L יכול להיות מקודד גם ל K. לכן, ניתן להקיש ערך עבור *P(*K*)*, שהוא :
: P(\texttt{K}) = S_{6}(P(\texttt{L})) = S_{6}(\texttt{G})=\texttt{F}.
ולפי אותם שיקולים במיקום 7 ניתן לקבל:
: P(\texttt{A}) = S_{7}(P(\texttt{K})) = S_{7}(\texttt{F})=\texttt{N}.
ברם, במקרה זה, הגענו לסתירה מאחר שהנחנו בתחילה ש *P(*A*)*=Y. המשמעות היא שההנחה הראשונית הייתה שגויה ושעבור תצורת הרוטורים הנוכחית *P(*A*)*&ne;Y
(טיעון מסוג זה מכונה "הוכחה בדרך השלילה").

עבור תצורה בודדת של הרוטורים, יכול היה המפענח לנסות כל אפשרות עבור *P(*A*)*. אם כל האפשרויות מובילות לסתירה אזי תצורת הרוטורים יכולה להיפסל. ה"בומב" ממכנת את התהליך, ומבצעת את ההיקשים הלוגיים מיד תוך שימוש בחיבורים חשמליים וכן תוך ביצוע בדיקה חוזרת עבור כל 17,576 התצורות האפשריות של הרוטורים.

### מיכון ההיקשים באמצעות מעגל חשמלי
על מנת למכן את ההיקשים הלוגיים, הבומב הפכה למעגל חשמלי. זרם עבר במעגל כדי לייצג את כל ההיקשים הלוגיים האפשריים שניתן היה לקבל עבור מיקום מסוים. על מנת לייצר את המעגל, הבומב השתמשה במספר קבוצות של רוטורים אשר חוברו יחד בהתאם להוראות שניתנו בתפריט אשר נגזר מעריסה. מאחר שבכל אניגמה היו 26 קלטים ופלטים, הקבוצות של הרוטורים חוברו יחד באמצעות כבלים 26 צדדיים.

### שימוש מעשי
בומבס עשו שימוש במספר קבוצות של רוטורים שהסתובבו יחד על מנת לבדוק השערות אודות תצורות אפשריות של האניגמה כמו למשל סדר הרוטורים בקבוצה.

בעוד שהבומב של טיורינג עבדה בתאוריה, נדרשו עריסות ארוכות באופן לא הגיוני על מנת לאפשר למכונה לפסול מספר גדול של תצורות. גורדון ולצ'מן מצא שיטה להשתמש בסימטריה של תקע האניגמה על מנת להגדיל את כוח ה"בומב". הוא הציע להצמיד לבומב **לוח אלכסוני** שהגדיל את יעילות ה"בומב".

## מכונת ה"בומב" הבריטית
ה"בומבס" נבנו ב-לצ'וורת' בבריטניה, תחת הנחייתו של הארולד קין. כל בומב הייתה ברוחב 213 סנטימטרים, בגובה 198 סנטימטרים ובעומק 60 סנטימטרים. משקל כל מכונה היה טון. בחזית כל בומב היו 108 מקומות בהם ניתן היה למקם רוטורים. הרוטורים סודרו ב-3 קבוצות של 12 שלשות. כל שלשה, סודרה אנכית וייצגה את שלושת הרוטורים במכונת האניגמה. הרוטורים בבומב הכילו מגעים וחיווטים כפולים על מנת לחקות את השיקוף באניגמה. הקלט והפלט של כל שלשת רוטורים חוברו לכבלים. כך ניתן היה לחווט מחדש את הבומב בהתאם למתודולוגיות של טיורינג וולצ'מן ובהתאם לכל אחד מהטקסטים המוצפנים.

## היסטוריה ושימושים
[280px|שמאל|ממוזער|בחלק האחורי של המכונה, היו חיווטים מורכבים ביותר שחיברו את התופים לפי התצורות שהוכתבו על ידי התפריט. ה"בומב" המוצגת במוזיאון של [בלצ'לי פארק היא שחזור חלקי בלבד של המכונה האמיתית]]
תוך שימוש בשיטות פיענוח שפותחו על ידי הפולנים, הצליחו מפענחים בריטיים בבלצ'לי פארק לקרוא את הודעות האניגמה בתחילת מלחמת העולם השנייה. ההצלחה נבעה מהיכולת לנצל פרצות בנוהלי התפעול הגרמניים. המפענחים חששו שהגרמנים ישנו בעתיד את הנהלים ויהפכו את שיטות הפענוח הקיימות לעקרות.

על מנת להקדים תרופה למכה, תכנן המתמטיקאי הבריטי אלן טיורינג את הבומב לפי עקרון כללי יותר - ההנחה שקיים טקסט שהמפענחים מסוגלים לפענח במקום כלשהו בהודעה. שיטה זו עשתה שימוש בעריסה. (הפולנים גם כן ניצלו עריסות. למשל הגרמנים נהגו להשתמש בצירוף "ANX" עבור המילה "עבור" ("TO" באנגלית) שלאחריה האות "X" שייצגה רווח).

מכונת הבומב הראשונה, אשר התבססה על התכנון המקורי של טיורינג ולא הכיל את הלוח האלכסוני, הגיעה לבלצ'לי פארק במרץ 1940 וכונתה "ניצחון". המכונה השנייה אשר כונתה "אגנוס" צוידה בלוח האלכסוני של ולצ'מן והותקנה ב-8 באוגוסט 1940. המכונות המשופרות כונו בומבס מסוג "ספידר".

עד סוף מרץ 1941, פותחה גרסה מתקדמת יותר של הבומב אשר כונתה "ג'מבו".

במהלך שנת 1940, פענחו שתי המכונות כ-178 הודעות. עד סוף שנת 1941 היו בשימוש כ-16 מכונות בומב. עד סוף שנת 1942 גדל מספר המכונות ל-49. בסוף שנת 1943 הוכפל המספר ל-99 מכונות בומב פעילות. עד מאי 1945 פעלו 211 מכונות שלצורך תפעולן נדרש כוח אדם של כ-2,000 אנשים.

הגרמנים שינו את כיול המכונות שלהם בכל יום בחצות. הבריטים שמו לעצמם כיעד למצוא את התצורה החדשה לפני סוף היום (רצוי עד הצהריים). עם מנוע שהסתובב במהירות של 120 סיבובים לדקה, כל הצירופים נבדקו בפחות מ-6 שעות. בממוצע, לקח חצי מהזמן הזה למצוא התאמה נכונה.

היו חמש תחנות מרחביות שהפעילו מכונות "בומב" מחוץ לאתר בבלצ'לי פארק. הן מוקמו באדסטוק, בגיהורסט, בוייבנדון, בסטנמור ובאיסטקוט.

לאחר מלחמת העולם השנייה, כ-50 בומבס נשמרו באתר שבאיסטקוט, בעוד המכונות הנותרות הושמדו. הבומבס שנשמרו הופעלו על צפנים של הגוש המזרחי. על פי הידוע "חלק מהמכונות נועדו למשמורת בעוד אחרות נועדו להריץ מטלות חדשות."

בספטמבר 2006, קבוצה שהובלה על ידי ג'ון הרפר התקרבה לסוף העבודה על פרויקט שארך כ-10 שנים ומטרתו הייתה לשחזר מכונת בומב עובדת.

## האתגר שבמכונת אניגמה בעלת 4 רוטורים
ממוזער|320px|מכונת בומב אמריקנית
בסוף 1941 חווה הצי הגרמני מפלות אשר בשילוב עם דוחות מודיעין שכנעו את האדמירל קרל דניץ שבעלות הברית מסוגלות לקרוא את התשדורות של הצי הגרמני. זו הסיבה שרוטור רביעי דק בעל חיווט סמוי הוכנס לאניגמות של הצי הגרמני על מנת ליצור את מערכת ה"טריטון". ל"טריטון" היה מנגנון שאפשר תאימות עם מכונות בעלות 3 רוטורים בעת הצורך.

למזלן של בעלות הברית, בדצמבר 1941, לפני כניסת המכונה לשירות מבצעי, נשלחה בטעות הודעה מצוללת תוך שימוש ב-4 רוטורים. לאחר מכן נשלחה ההודעה שוב אך הפעם תוך שימוש ב-3 רוטורים. הדבר הביא לחשיפת החיווט של הרוטור הנוסף. בפברואר 1942, הפך השינוי במספר הרוטורים לרשמי, ויכולת הבריטים לקרוא הודעות של צוללות גרמניות כמעט ופגה עד אשר הגיע ציוד חדש שהיה ביכולתו לעשות שימוש במידע אודות החיווט של הרוטור הרביעי.

האביב היה מוצלח עבור הצוללות הגרמניות. הן נחלו ניצחונות בהתקפות על הספינות של בעלות הברית בשל מידת האבטחה של התקשורת שלהן וכן בשל יכולתן המודיעינית לקרוא את ההודעות ששלחו ספינות של בעלות הברית באמצעות "קוד הצי מספר 3". בין ינואר למרץ 1942, הטביעו צוללות גרמניות כ-216 ספינות. במאי 1942 החלו האמריקאים להשתמש בשיטת השיירות וכן דרשו מערי חוף להחשיך את התאורה בלילה על מנת שהספינות של בעלות הברית לא יחשפו. אולם אמצעים אלו הועילו רק במעט לספינות של בעלות הברית.

לאור הנסיבות, הופעלה בבלצ'לי פארק תוכנית חירום. מטרת התוכנית הייתה לתכנן מכונות בומב שיוכלו לפענח את האניגמה בעלת ארבעת הרוטורים, עד אוגוסט או ספטמבר 1942. הצורך הבהול, הוביל את האמריקאים לחקור במקביל תכנון מכונות תחליפיות לבומב. המאמץ האמריקאי התבסס על תרשימים שסופקו לקציני הצי האמריקני בעת ביקור שקיימו בבלצ'לי פארק ביולי 1942. ב-3 בספטמבר 1942 כבר הוצבה דרישה לתקציב עבור מאמץ הפיתוח האמריקאי. ביום הבא כבר אושר התקציב. מאמץ הפיתוח האמריקני הובל על ידי ג'וזף דש מחברת NCR במעבדת הצי האמריקני לחקר המחשוב באוהיו.

הבומבס האמריקניות החלו לפעול בסוף מאי 1943. רוחב כל מכונה היה כ-3 מטרים, גובהה כ-2 מטרים, עומקה שישים ס"מ (10x7x2 רגל) ומשקלה מעל 2 טון. כ-120 מכונות נבנו לפני שהוחלט להפסיק את היצור בספטמבר 1944 בשל ההתקדמות המהירה במלחמה. הבומב האחרונה שיוצרה ממוקמת בתצוגה במוזיאון ההצפנה הלאומי שבארצות הברית.

## מקורות

* Donald Davies, "The Bombe – a Remarkable Logic Machine," *Cryptologia*, 23(2), April 1999, pp. 108–138.
* Donald Davies, "Effectiveness of the Diagonal Board," *Cryptologia*, 23(3), July 1999, pp. 229–239.
* John Keen, "Harold 'Doc' Keen and the Bletchley Park bombe," 2003.
* Michael Smith, *Station X*, Channel 4 Books, 1998, .
* Gordon Welchman, *The Hut Six Story: Breaking the Enigma Codes*, M&M Baldwin, 1997, 1998, .


## ראו גם
* אלן טיורינג
* פיצוח האניגמה
* בומבה - מכונה ייעודית שתוכננה באוקטובר 1938 על ידי המפענח מריאן רייבסקי מהביורו שופרוב במטרה לפענח את הצפנים של מכונת האניגמה הגרמנית. מכונת ה"בומב" של טיורינג התבססה על מכונת הבומבה.
* קולוסוס (מחשב)
* הית' רובניזון

## קישורים חיצוניים

* הבומב של טיורינג - אודות המכונה ואופן פעולתה
* פרויקט שחזור הבומב
* תיאור הבומב הבריטית על ידי טוני סייל
* סימולטור בומב בג'אווה סקריפט
* האניגמה והבומב של טיורינג האתר מכיל גם סימולטור.
* [פענוח ה[אניגמה] וההיסטוריה של מכונת הבומב]
* הבומב במיצג של הצי האמריקאי
* Dayton Codebreakers הסברים אודות ה"בומב" של הצי האמריקאי ואישים במעבדת המחשוב של הצי.

## הערות שוליים

קטגוריה:ערכים שבהם תבנית בריטניקה אינה מתאימה
קטגוריה:בלצ'לי פארק
קטגוריה:תקיפות קריפטוגרפיות
קטגוריה:אלן טיורינג
קטגוריה:אניגמה
קטגוריה:הממלכה המאוחדת: המצאות