תיאור מתמטי.
מבחינה מתמטית, ההתמרה שמבצעת האניגמה עבור כל אות היא מכפלת תמורות שמבצעים החלקים השונים במכונה. בהנחה שהאניגמה היא תלת רוטורית טיפוסית לחיל האוויר/הצבא הגרמני, נסמן באותיות formula_7 את הפעולות על הרוטורים הימני, האמצעי והשמאלי, בהתאמה. באות formula_8 נסמן את התמרת לוח התקעים וב-formula_9 את פעולת המשקף (שהיא מכפלת 13 חילופים קבועים). את תמורת ההצפנה formula_10 אפשר לבטא כ:
לאחר כל לחיצת מקש, מסתובבים הרוטורים ומשנים את ההתמרה. למשל, אם הרוטור הימני formula_12 מסתובב
formula_13 צעדים, ההתמרה הופכת ל- formula_14, כאשר formula_15 הוא התמורה הציקלית שממפה את A ל-B, את B ל-C וכך הלאה. באופן דומה, הרוטורים המרכזי והשמאלי ייוצגו על ידי formula_16ו-formula_17 סיבובים של formula_18 ו-formula_19. במצב כזה תתואר פונקציית הקידוד על ידי:
פיצוח הצופן.
פיצוח צופן האניגמה מורכב ממספר אירועים שלא היה די בכל אחד מהם בנפרד, אולם שילובם יחד הביא לפיצוח המוצלח של הצופן ולשבירת המצור הימי על בריטניה. בנוסף, יש להבדיל בין פיצוח האניגמה הרגילה, ששימשה את כוחות היבשה וחיל האוויר, פיצוח שהתרחש במועד מוקדם יותר, לבין פיצוח האניגמה של הצי, שהייתה מורכבת יותר וקשה יותר.
בתום המלחמה המשיכו הבריטים לשמור על סוד הפיצוח. בריטניה המליצה למושבותיה לשעבר להשתמש באניגמה בטענה כי צופן המכונה "אינו בר פיצוח". הסוד נחשף רק בשנות השבעים.
נהלים לשימוש באניגמה.
התקשורת הצבאית הגרמנית פוצלה למספר רשתות שונות. כל רשת התאפיינה באתחול שונה של מכונות האניגמה. רשתות התקשורת הללו כונו בבלצ'לי פארק "מפתחות", וניתנו להם כינויים כגון "אדום" ו"כריש". כל יחידה שפעלה ברשת הייתה אמונה על רשימה של אפשרויות אתחול עבור האניגמה לפרק זמן עתידי נתון.
כדי שהודעה תוצפן ותפוענח כשורה, נדרשו השולח והמקבל לאתחל את האניגמה שברשותם באופן זהה. בחירת הרוטורים וסדרם, נקודת ההתחלה וחיבורי לוח התקעים חייבים היו להיות זהים.
למצב ההתחלתי של מכונת האניגמה יש מספר היבטים:
האניגמה תוכננה להיות בטוחה אפילו אם החיווט היה ידוע למאזין, הגם שבפועל נשמר החיווט בסוד. חיווט סודי אפשר למספר התצורות האפשריות להיות בערך 10114. אם נחשפים תצורת החיווט ופרמטרים אחרים, קטן מספר האפשריות לכ-1023.
משתמשי האניגמה היו בטוחים שהאבטחה שסיפקה האניגמה היא חסרת פשרות, בשל המספר הרב של האפשרויות. מבחינת הגרמנים, היה זה בלתי מתקבל על הדעת שאויב יוכל לנסות כל אפשרות בהתקפת כוח גס. גם אילו אויב היה מצליח לפענח הודעה בשיטה זו, הרי שהזמן שהצריך הדבר היה הופך הודעה זו למיושנת ובעלת תועלת מועטה.
אינדיקטורים.
בדרך כלל נותרו רוב המפתחות קבועים למשך יממה, אולם עבור כל הודעה נבחר מיקום רוטורים התחלתי שונה. הסיבה לכך טמונה בעובדה ששליחת מקבץ הודעות מוצפנות באותו מפתח מאפשרת למפענח להשתמש בשיטת ניתוח תדירות. המיקום ההתחלתי שודר יחד עם הטקסט המוצפן. שם השיטה היה "נוהל האינדיקטור". מאחר שחלק מהאינדיקטורים היו חלשים, הצליחו בעלות הברית למצוא פרצה באניגמה.
אחד מנוהלי האינדיקטור המוקדמים נוצל על ידי מפענחים פולניים כדי לפצח לראשונה את צופן האניגמה. הנוהל הורה למפעיל לאתחל את המערכת בתיאום עם רשימת התצורות שברשותו. הרשימה כללה מיקום התחלתי של הרוטורים (בגרמנית: "Grundstellung" - תצורה התחלתית). תצורה אפשרית הייתה למשל AOH. המפעיל היה מסובב את הרוטורים עד אשר היה מבחין דרך אשנב הרוטורים בצירוף AOH. בנקודה זו היה המפעיל בוחר צירוף התחלתי שרירותי עבור ההודעה המסוימת. למשל, המפעיל עשוי היה לבחור EIN. צירוף זה היה הופך ל"תצורת ההודעה". המפעיל היה מקליד אז EIN פעמיים, כדי לאפשר זיהוי של שגיאות שידור. התוצאות היו אינדיקטור מוצפן שכן לאחר הקלדת EIN פעמיים היה עשוי להתקבל XHTLOA, צירוף שהיה משודר יחד עם ההודעה. לבסוף היה המפעיל מסובב את הרוטורים כך שיתאימו לתצורת ההודעה שלו. במקרה שלעיל היה מסובבם לקבלת הצירוף EIN. לבסוף היה יכול להתחיל להקליד את תוכן ההודעה עצמה.
בצד המקבל היה צורך בהיפוך הפעולה. על המפעיל בצד המקבל היה לאתחל את המכונה לתצורה ההתחלתית ולהדפיס את שש האותיות הראשונות בהודעה (במקרה זה - XHTLOA). בדוגמה שלעיל היה מתקבל EINEIN. אז היה המפעיל בצד המקבל יודע שעליו להזיז את הרוטורים למצב EIN. לאחר שעשה כן היה מדפיס את הכתב המוצפן הנותר, ומפענח את ההודעה.
חולשת השיטה נבעה משני גורמים:
במהלך המלחמה שימשו ספרי הצופן על מנת לאתחל את תצורת הרוטורים והטבעת. לכל הודעה בחר המפעיל מיקום התחלה אקראי, למשל WZA, ומפתח הודעה אקראי, למשל SXT. הוא הזיז את הרוטורים לתצורה WZA וקודד את מפתח ההודעה SXT. נניח שהתוצאה הייתה UHL. בשלב זה אתחל המפעיל את מפתח ההודעה SXT כמיקום ההתחלה וקודד את ההודעה. לאחר מכן, שידר את מיקום ההתחלה WZA, את מפתח ההודעה המקודד UHL ורק לבסוף את ההודעה. המקבל אתחל את מיקום ההתחלה בהתאם לשלשה הראשונה WZA ופיענח את השלשה השנייה, UHL, כדי להשיג את מפתח ההודעה SXT. מפתח ההודעה SXT שימש אז כמיקום התחלה כדי לפענח את ההודעה.
כך הייתה כל תצורה התחלתית שונה, וההליך החדש אכן היה חסין מפרצת האבטחה שהייתה מנת חלקה של שיטת המפתחות המקודדים הכפולים.
ההליך שימש את הוורמאכט והלופטוואפה בלבד. לקריגסמרינה היו הליכים מורכבים ומקיפים בהרבה בנושא האניגמה. הקריגסמרינה קבע שלפני הצפנה באניגמה, הייתה ההודעה מקודדת באמצעות ספר צפנים בשם Kurzsignalheft. הספר הכיל טבלאות שהמירו משפטים לקבוצות בנות ארבע אותיות. כל סוגי הביטויים בנושאים מגוונים נרשמו, למשל נושאים לוגיסטיים כמו תדלוק ומפגש עם אוניות אספקה, מיקומים ורשימות קואורדינטות, שמות נמלים, מדינות, כלי נשק, תנאי מזג אוויר, מיקומי אויב ואניות וכן טבלאות זמנים ותאריכים.
קיצורים וקווים מנחים.
באניגמה הצבאית היו רק 26 אותיות. תווים אחרים הוחלפו בצירופים נדירים של אותיות. תו הרווח הורד כליל או הוחלף על ידי X. ה-X שימש במקור כסימן לעצירה או כסימן הנקודה. ביחידות הצבא השונות היה שוני בין תווים מסוימים.
הוורמאכט החליף פסיק בצירוף ZZ, וסימן שאלה - במילה FRAGE (בגרמנית: שאלה) או FRAQ. הקריגסמרינה, בשונה מהוורמאכט, החליף פסיק ב-Y וסימן שאלה ב-UD. הצירוף CH, הקיים למשל במילה Acht (בגרמנית: שמונה) או במילה Richtung (בגרמנית: כיוון) הוחלף ב-Q (ולכן נכתב AQT וכן RIQTUNG). שניים, שלושה או ארבעה אפסים הוחלפו ב-CENTA, MILLE או MYRIA בהתאמה.
הוורמאכט והלופטוואפה שידרו הודעות בסדרות של חמישה תווים. הקריגסמרינה שידר סדרות של ארבע אותיות תוך שימוש בארבעת הרוטורים שבמכונה. שמות או מילים שהופיעו תדיר בהודעות שונו ככל האפשר. מילים כמו Minensuchboot (בגרמנית: שולת מוקשים) עשויות היו להיכתב כ-MINENSUCHBOOT ,MINBOOT ,MMMBOOT או MMM354. כדי להקשות על ניסיון פיצוח אפשרי, נאסר לשלוח הודעה שבה יותר מ-250 תווים. הודעות ארוכות פוצלו למספר חלקים, שלכל אחד היה מפתח משלו.
גלגולים היסטוריים של המכונה.
במהלך השנים פותחו דגמים רבים וגרסאות שונות למשפחת האניגמה. מכונות האניגמה המוקדמות ביותר היו דגמים מסחריים המתוארכים לשנת 1920. החל מאמצע שנות ה-20 החלו ענפים שונים בצבא הגרמני להשתמש באניגמה תוך ביצוע מספר שינויים ששיפרו את האבטחה. מספר מדינות אחרות אימצו או סיגלו את תכנון האניגמה במכונות ההצפנה שלהן.
שימוש מסחרי באניגמה.
ב-23 בפברואר 1918 הגיש המהנדס הגרמני ארתור שרביוס פטנט עבור מכונת הצפנה מבוססת על רוטורים, והקים יחד עם ריצ'רד ריטר את חברת "Scherbius &amp; Ritter". השניים פנו לצי הגרמני ולמשרד החוץ עם הדגם שלהם, אולם אף גוף לא גילה בו עניין מיוחד. לאחר מכם הם הקנו זכויות על הפטנט לחברת "Gewerkschaft Securitas", שייסדה את חברת "Chiffriermaschinen Aktien-Gesellschaft". ריטר ושרביוס היו חלק מחברי הדירקטוריון שלה.
החברה החלה לפרסם מכונות רוטורים בשם אניגמה דגם A, שהוצגה בכנס של איגוד הדואר העולמי ב-1923 וב-1924. המכונה הייתה מגושמת וכבדה, ושילבה מכונת כתיבה. מידות המכונה היו 65×45×35 סנטימטר והיא שקלה בערך 50 קילוגרם. דגם B הוצג, והיה בעל מבנה דומה.
על אף שעל שני הדגמים A ו-B התנוסס השם "אניגמה", היו שני דגמים אלה שונים למדי מגרסאות מאוחרות יותר, הן מבחינה פיזית (מידותיהם ומשקלם) והן מבחינת ההצפנה - בשניהם לא היה משקף. את רעיון המשקף, תכונת מפתח במכונות אניגמה, הגה וילי קורן, עמיתו של שרביוס, והוא נכלל לראשונה באניגמה C, דגם מ-1926.
מודל C היה קטן ונייד יותר מקודמיו. חסרה בו מדפסת - במקומה הסתמכו על מפעיל שקרא נורות, דבר שזיכה את המכונה בכינוי "אניגמה זרחנית", כדי להבדילה מדגמים A ו-B. אניגמה C הפכה במהרה למיושנת, כאשר דגם אניגמה D תפס את מקומה ב-1927. בגרסה זו נעשה שימוש רחב יותר. עותקי דגם זה הגיעו לשוודיה, להולנד, לאנגליה, ליפן, לאיטליה, לספרד, לארצות הברית ולפולין.
אניגמה צבאית.