ניתן להתבונן בתהליך ההצפנה כהפעלת "P", לאחר מכן הפעלת "S" ולבסוף הפעלת "P" שוב. מתמטית תהליך ההצפנה של האניגמה יכול להיכתב כך : formula_2. האניגמה היא גם בעל תכונה של "היזון=חוזר": הפענוח זהה להצפנה כך שמתקיים : formula_3.
עקרון הפעולה של ה"בומב".
במכונת הבומב נעשה שימוש באוסף רוטורים בעלי חיווט פנימי זהה לזה שבאניגמה. אולם הרוטורים תוכננו כך שיסובבו על ידי מנוע כך שכל התצורות האפשריות עבור מיקומי הרוטורים תסרקנה. הרוטורים בבומב הכילו אוסף כפול של מגעים וכן חיווט על מנת לחקות את השיקוף שבאניגמה. מכונת הבומב הכילה מספר אוספים של רוטורים שחווטו בהתאם לתפריט שהוכן מראש על ידי המפענחים. בכל מיקום של הרוטורים, בוצעה בדיקה חשמלית. מספר רב של תצורות שנבדקו נפסלו מאחר שהבדיקה החשמלית הובילה לסתירה לוגית. אם הבדיקה לא העלתה סתירה לוגית המכונה עצרה וצלצלה בפעמון על מנת לאפשר בחינה ידנית מעמיקה של הפתרון המוצע. בדרך כלל בוצעה הבדיקה הידנית על גבי העתק של מכונת אניגמה, על מנת לבחון האם הפענוח מוביל למילים תקינות בגרמנית. לרוב נדרשו מספר רב של ניחושים שגויים והתאמות כושלות בטרם נמצא הפענוח הנכון.
עריסות.
הבדיקה בוצעה על ידי ביצוע היקשים מתוך קטע קצר, של טקסט מקור ידוע (או מנוחש), אשר כונה עריסה.
למשל, מפענח עשוי היה לחשוד שהביטוי ATTACKATDAWN היה מיוצג על ידי רצף תווים בטקסט המוצפן כ- WSNPNLKLSTCS:
תהליך מציאת העריסה לא היה פשוט. הוא דרש היכרות משמעותית עם העגה הצבאית הגרמנית ועם הרגלי התקשורת של המפעילים.
לוח התקעים.
האניגמה הצבאית של הנאצים הכילה לוח תקעים ("P") אשר אפשר חיווט למטרת החלפת אותיות לפני ואחרי פעולת המערבל הראשי ("S"). אילו לא היה לוח תקעים כלל, היה זה יחסית פשוט לבדוק את תצורת הרוטורים.
ניתן היה אז לאתחל עותק של האניגמה עם אות העריסה A מוצפנת עליו, ומושווית עם הטקסט המוצפן W. אם הם התאימו ניתן יהיה לעבור לאות הבאה ולבדוק ש T מתאים ל S וכך הלאה עבור העריסה כולה. אם בנקודה כלשהי לא תהיה התאמה בין האותיות, אזי תצורת הרוטורים ההתחלתית תידחה. רוב התצורות השגויות ייפסלו לאחר בדיקת שתי אותיות בלבד. הבדיקה הזו הייתה יכולה להתבצע באופן ממוכן עבור כל 17,576 התצורות האפשריות של הרוטורים.
ברם, עם לוח התקעים היה קשה בהרבה לבצע הצפנות ניסוי משום שלא היה ידוע אילו טרנספורמציות התבצעו בין אותיות העריסה והטקסט המוצפן. למשל, "P("A")" וכן "P("W")" היו בלתי ידועות משום שתצורות לוח התקעים היו נעלם.
היקשים לוגיים אודות ערכי התקעים.
טיורינג גרס שאף על פי שערכי "P("A")" or "P("W")", היו בלתי ידועים, עדיין העריסה סיפקה קשרים ידועים בין הערכים הללו - שהם הערכים לאחר טרנספורמציית לוח התקעים. על ידי שימוש בקשרים הללו, יכול היה מפענח למצוא סתירה לוגית שבמסגרתה תצורת הרוטורים הנבדקת יכלה להיפסל.
לדוגמה: מפענח עשוי לנחש ש "P("A")"=Y. תוך התבוננות במיקום 10, ניתן להבחין שהאות A מקודדת לאות T כלומר :
מאחר ש "P" הוא ההפכי של עצמו, ניתן להפעיל את הפונקציה עבור שני הצדדים על מנת להשיג את המשוואה הבאה :
משוואה זו מדגימה את היחס בין "P("A")" לבין "P("T")". אם "P("A")"=Y, וכן "S10("Y")"=Q ניתן להסיק ש
בעוד שהעריסה לא מאפשרת לנו להחליט מהם הערכים המתקבלים לאחר המעבר דרך לוח התקעים, העריסה מספקת אילוץ. במקרה זה העריסה מדגימה כיצד "P("T")" ידוע לחלוטין אם "P("A")" ידוע.
באותו אופן, T מקודד ל L במיקום 8. על ידי שימוש ב "S8", ניתן להקיש את ערך התקעים עבור L ולקבל :
במיקום 6, K מקודד ל L. מאחר שמכונת האניגמה היא בעלת משוב עצמי, הרי ש L יכול להיות מקודד גם ל K. לכן, ניתן להקיש ערך עבור "P("K")", שהוא :
ולפי אותם שיקולים במיקום 7 ניתן לקבל:
ברם, במקרה זה, הגענו לסתירה מאחר שהנחנו בתחילה ש "P("A")"=Y. המשמעות היא שההנחה הראשונית הייתה שגויה ושעבור תצורת הרוטורים הנוכחית "P("A")"≠Y
(טיעון מסוג זה מכונה "הוכחה בדרך השלילה").
עבור תצורה בודדת של הרוטורים, יכול היה המפענח לנסות כל אפשרות עבור "P("A")". אם כל האפשרויות מובילות לסתירה אזי תצורת הרוטורים יכולה להיפסל. ה"בומב" ממכנת את התהליך, ומבצעת את ההיקשים הלוגיים מיד תוך שימוש בחיבורים חשמליים וכן תוך ביצוע בדיקה חוזרת עבור כל 17,576 התצורות האפשריות של הרוטורים.
מיכון ההיקשים באמצעות מעגל חשמלי.
על מנת למכן את ההיקשים הלוגיים, הבומב הפכה למעגל חשמלי. זרם עבר במעגל כדי לייצג את כל ההיקשים הלוגיים האפשריים שניתן היה לקבל עבור מיקום מסוים. על מנת לייצר את המעגל, הבומב השתמשה במספר קבוצות של רוטורים אשר חוברו יחד בהתאם להוראות שניתנו בתפריט אשר נגזר מעריסה. מאחר שבכל אניגמה היו 26 קלטים ופלטים, הקבוצות של הרוטורים חוברו יחד באמצעות כבלים 26 צדדיים.
שימוש מעשי.
בומבס עשו שימוש במספר קבוצות של רוטורים שהסתובבו יחד על מנת לבדוק השערות אודות תצורות אפשריות של האניגמה כמו למשל סדר הרוטורים בקבוצה.
בעוד שהבומב של טיורינג עבדה בתאוריה, נדרשו עריסות ארוכות באופן לא הגיוני על מנת לאפשר למכונה לפסול מספר גדול של תצורות. גורדון ולצ'מן מצא שיטה להשתמש בסימטריה של תקע האניגמה על מנת להגדיל את כוח ה"בומב". הוא הציע להצמיד לבומב לוח אלכסוני שהגדיל את יעילות ה"בומב".
מכונת ה"בומב" הבריטית.
ה"בומבס" נבנו ב-לצ'וורת' בבריטניה, תחת הנחייתו של הארולד קין. כל בומב הייתה ברוחב 213 סנטימטרים, בגובה 198 סנטימטרים ובעומק 60 סנטימטרים. משקל כל מכונה היה טון. בחזית כל בומב היו 108 מקומות בהם ניתן היה למקם רוטורים. הרוטורים סודרו ב-3 קבוצות של 12 שלשות. כל שלשה, סודרה אנכית וייצגה את שלושת הרוטורים במכונת האניגמה. הרוטורים בבומב הכילו מגעים וחיווטים כפולים על מנת לחקות את השיקוף באניגמה. הקלט והפלט של כל שלשת רוטורים חוברו לכבלים. כך ניתן היה לחווט מחדש את הבומב בהתאם למתודולוגיות של טיורינג וולצ'מן ובהתאם לכל אחד מהטקסטים המוצפנים.
היסטוריה ושימושים.
תוך שימוש בשיטות פיענוח שפותחו על ידי הפולנים, הצליחו מפענחים בריטיים בבלצ'לי פארק לקרוא את הודעות האניגמה בתחילת מלחמת העולם השנייה. ההצלחה נבעה מהיכולת לנצל פרצות בנוהלי התפעול הגרמניים. המפענחים חששו שהגרמנים ישנו בעתיד את הנהלים ויהפכו את שיטות הפענוח הקיימות לעקרות.
על מנת להקדים תרופה למכה, תכנן המתמטיקאי הבריטי אלן טיורינג את הבומב לפי עקרון כללי יותר - ההנחה שקיים טקסט שהמפענחים מסוגלים לפענח במקום כלשהו בהודעה. שיטה זו עשתה שימוש בעריסה. (הפולנים גם כן ניצלו עריסות. למשל הגרמנים נהגו להשתמש בצירוף "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 רוטורים.
בסוף 1941 חווה הצי הגרמני מפלות אשר בשילוב עם דוחות מודיעין שכנעו את האדמירל קרל דניץ שבעלות הברית מסוגלות לקרוא את התשדורות של הצי הגרמני. זו הסיבה שרוטור רביעי דק בעל חיווט סמוי הוכנס לאניגמות של הצי הגרמני על מנת ליצור את מערכת ה"טריטון". ל"טריטון" היה מנגנון שאיפשר תאימות עם מכונות בעלות 3 רוטורים בעת הצורך.
למזלן של בעלות הברית, בדצמבר 1941, לפני כניסת המכונה לשירות מבצעי, נשלחה בטעות הודעה מצוללת תוך שימוש ב-4 רוטורים. לאחר מכן נשלחה ההודעה שוב אך הפעם תוך שימוש ב-3 רוטורים. הדבר הביא לחשיפת החיווט של הרוטור הנוסף. בפברואר 1942, הפך השינוי במספר הרוטורים לרשמי, ויכולת הבריטים לקרוא הודעות של צוללות גרמניות כמעט ופגה עד אשר הגיע ציוד חדש שהיה ביכולתו לעשות שימוש במידע אודות החיווט של הרוטור הרביעי.