Zygalski sheets
Zygalski sheets are perforated cardboard sheets developed by Polish cryptologist Henryk Zygalski in the autumn of 1938 as a manual aid for determining the daily settings of the German Enigma cipher machine, enabling the decryption of intercepted messages during the early stages of World War II cryptanalysis efforts.[1][2] These sheets emerged as a response to a procedural change implemented by the Germans on September 15, 1938, which altered the way Enigma operators indicated message keys, rendering previous Polish cryptanalytic methods—such as the Bomba machine—ineffective and necessitating a new approach to detect "females," or repeated letters in the enciphered indicators.[2][3] For the three-rotor Enigma model then in use, the system consisted of 6 sets of 26 sheets each, totaling 156 sheets, with each sheet featuring a 26-by-26 grid where holes were punched at positions corresponding to potential alignments of the left, middle, and right rotors for a fixed permutation of rotor order.[2][1] In operation, cryptanalysts would stack the relevant sheets based on the first three letters of multiple message indicators, then hold them up to a light source; overlapping holes indicated possible rotor starting positions that produced the observed repeats, mathematically reducing the search space from thousands of possibilities to a handful, often requiring about 12 such "females" from intercepted messages to pinpoint the exact daily keys.[2] This grid-based technique exploited the Enigma's cyclic properties, where a "female" occurs when the same plaintext letter encrypts to the same ciphertext letter three steps apart due to rotor wiring, allowing the elimination of approximately 60% of configurations per indicator.[2] The method proved highly effective through late 1938, enabling the Polish Cipher Bureau to decrypt messages in under two hours when combined with other tools.[3] However, the introduction of two additional rotors in December 1938 expanded the Enigma's variability to five rotors, requiring 60 sets of sheets (1,560 total) and making the manual process too laborious, which ultimately limited its scalability and prompted the development of electromechanical alternatives like the British Bombe.[1][3] The Zygalski sheets were an important element of Polish Enigma cryptanalysis, which enabled the decoding of much of the German traffic in the late 1930s, and were shared with Allied cryptographers—along with Enigma replicas and other techniques—during a secret meeting near Warsaw on July 25–26, 1939, providing a crucial foundation for Bletchley Park's wartime successes.[1][2] Their reconstruction in modern exhibits, such as the Science Museum's Top Secret display, underscores their enduring significance as an innovative, low-tech solution in the history of codebreaking.[4]Background
The Enigma Machine
The Enigma machine was an electromechanical rotor-based cipher device employed by Nazi Germany for secure military communications during World War II. It consisted of a keyboard for entering plaintext, a lampboard displaying the encrypted output, and a core scrambler unit comprising three rotating wheels (rotors), an optional plugboard, and a fixed reflector. The rotors, selected from a set of five (with later models using more), were placed in a specific order and advanced stepwise with each key press, creating a dynamic substitution cipher that permuted the 26 uppercase letters of the German alphabet.[5] The plugboard, located at the front of the machine, enabled operators to connect up to 10 pairs of letters using cables, effectively swapping their signals before and after they passed through the rotors, which increased the cryptographic complexity without altering the core mechanism. The reflector, a stationary component at the end of the rotor assembly, provided a fixed wiring that reflected the signal back through the rotors in a symmetric manner, ensuring that no letter could encrypt to itself in a single pass under the standard configuration. This design, patented in the 1920s and adapted for military use, relied on the rotors' internal fixed wirings—each implementing a unique permutation—to scramble signals unpredictably as the wheels turned.[6][5] Daily key settings, distributed via secure key sheets to synchronize all machines in a network, encompassed several elements to define the encryption configuration for a given day. These included the order of the three rotors (chosen from five available, yielding 60 possible sequences), the ring settings for each rotor (adjustable notches that shifted the internal wiring relative to the external letter ring, with 26 positions per rotor), the initial starting positions of the rotors (Grundstellung, also 26 letters each), and the plugboard pairings (150,738,274,937,250 possible arrangements). In the three-rotor model, the right-hand (fast) and middle (medium) rotors each offered 26 positions, producing 676 unique pairs that were pivotal for isolating these settings in cryptanalytic approaches.[7][8][9] A fundamental property of the Enigma's operation was its generation of a permutation of the alphabet through the combined effects of rotor advancements and reflections, resulting in cycles of even length without fixed points due to the reflector's symmetric design. This cyclic structure, where the permutation could be expressed as a composition involving known shifts and unknown rotor wirings, enabled the detection of rotor positions by analyzing patterns in message indicators—the initial ciphertext segments that encoded the starting rotor settings for each individual message.[10]Polish Codebreaking Efforts
The Polish Cipher Bureau, known as Biuro Szyfrów, intensified its cryptanalytic efforts against German ciphers in the early 1930s, forming a specialized team in 1932 that included the mathematicians Marian Rejewski, Jerzy Różycki, and Henryk Zygalski.[11][12] These recruits were selected through a targeted cryptology course at the University of Poznań in the late 1920s, organized by the Bureau to identify talented individuals capable of applying mathematical rigor to codebreaking, marking a shift from traditional linguistic approaches.[12] By 1932, this team was tasked with tackling the Enigma machine's daily rotor settings, which determined the cipher's variable permutations.[11] Early breakthroughs came swiftly, with the team achieving the first decryption of German military Enigma messages by January 1933.[11] This success stemmed from Rejewski's mathematical analysis of permutations, enabled by key tables supplied by French intelligence in December 1932, which provided critical data on Enigma's commutator connections and reduced the problem's complexity.[11] Using these resources, the Poles reconstructed the machine's internal wiring without physical access, constructing functional replicas and routinely reading commercial Enigma traffic by mid-1933.[11] However, German modifications in 1938 posed severe challenges. On September 15, 1938, the procedure for enciphering message keys was changed: previously, the message key was enciphered twice using a fixed daily Grundstellung, producing six letters with predictable repeats; now, operators chose a random three-letter starting position, transmitted it in clear as the first three letters, and followed it with the single encipherment of the message key using the daily settings, eliminating the repeats exploited by the Bomba machine.[8] Later, on December 15, 1938, two additional rotors (IV and V) were introduced, expanding the possible wheel orders from 6 to 60; these new rotors had turnover notches at different positions (Q for IV and E for V), affecting the stepping sequence.[13][14] These changes, combined with a surge in encrypted traffic volume, rendered existing manual techniques obsolete; Rejewski's cyclometer, which relied on precomputed catalogs of permutation characteristics for rapid detection, became too time-intensive to update and apply effectively against the heightened daily message load.[13][11] This crisis spurred the development of innovative aids like Zygalski sheets to restore breaking efficiency.[13]Invention and Development
Henryk Zygalski and the Polish Cipher Bureau
Henryk Zygalski was a Polish mathematician and cryptologist born on 15 July 1908 in Poznań, then part of the German Empire.[1] He earned a Master's degree in mathematics from the University of Poznań in 1931, with his studies emphasizing advanced topics suitable for cryptologic applications.[1] In September 1932, Zygalski joined the Polish Cipher Bureau as a full-time employee, recruited alongside mathematicians Marian Rejewski and Jerzy Różycki to tackle German encryption challenges; his work there centered on permutation theory to model and break complex ciphers.[15][16] The Polish Cipher Bureau, or Biuro Szyfrów, operated as the signals intelligence arm of the Second Department (intelligence) within the Polish General Staff, maintaining strict secrecy to protect its operations from foreign detection.[17] By the 1930s, the Bureau had evolved into a specialized entity with dedicated sections for foreign cipher analysis, including a German-focused unit in Warsaw where Rejewski's team—comprising Rejewski as the informal leader, Różycki, and Zygalski—conducted their groundbreaking research.[17] This structure allowed the team to work in isolation, supported by military oversight, as Poland faced growing geopolitical pressures from neighboring powers. In the autumn of 1938, amid escalating German threats including the annexation of Austria and demands on Czechoslovakia, Zygalski devised a set of perforated sheets to aid in Enigma decryption.[1][18] These sheets functioned as a low-tech, manual tool to accelerate the identification of rotor settings, complementing electromechanical innovations like Rejewski's Bomba by providing a parallel, resource-efficient method for daily cryptanalytic tasks.[19] This invention marked a pivotal adaptation within the Bureau's efforts, enhancing the team's capacity just before the Enigma's post-1938 modifications rendered earlier techniques insufficient.[1]Motivation and Innovation
A German procedural change to Enigma key encipherment on 15 September 1938—requiring operators to select a random ground setting to encipher the repeated three-letter message key, rather than a fixed setting—rendered the electromechanical Bomba ineffective by eliminating predictable characteristics, while the escalating volume of intercepted messages further strained resources.[2][3] This necessitated a rapid method to identify the approximately 676 possible starting positions for the right and middle rotor pair, while circumventing the complicating effects of the plugboard's 10 to 13 pairwise connections.[2] The Zygalski sheets innovated by exploiting the Enigma machine's fixed reflector and invariant rotor wirings to analyze "female" indicators—the first two letters of the six-letter encrypted preamble that revealed repeats due to the German procedure of enciphering a three-letter key group.[2] These indicators occurred when the same plaintext letter, entered three positions apart during key encipherment, produced the same ciphertext letter, a property inherent to the rotor and reflector design.[3] Crucially, this approach operated independently of the plugboard settings, which only affected letter substitutions before and after rotor passage, thereby drastically narrowing the effective search space from millions of daily keys to manageable rotor alignments.[18] For each of the six possible wheel orders using three rotors, the system required 26 sheets—one for each possible letter—though it would require 60 sets of 26 sheets each (1,560 total) for the 60 possible wheel orders involving five rotors.[2][20] At their core, the sheets' perforations encoded all possible ciphertext outputs for a fixed plaintext letter across rotor pair positions, enabling stacked alignment under light to pinpoint coinciding "females" and thus candidate settings in under two hours per message group.[3]Design and Construction
Structure of the Sheets
The Zygalski sheets consist of 26 thin sheets of translucent cardboard, each corresponding to one of the 26 possible starting positions of the left (slow) rotor.[2] Each sheet features a 26 by 26 grid, comprising 676 cells that represent all possible combinations of positions for the Enigma's right-hand and middle rotors. Physically, each sheet was laid out on a 51 by 51 grid to include margins and labels, with the functional 26 by 26 area representing the rotor positions.[18] Perforations are punched into specific cells of each sheet at positions corresponding to middle and right rotor settings where, for the fixed left rotor position of that sheet, a "female"—a repeated letter in the enciphered message indicators—can occur under the given rotor order and wiring.[2] These holes represent configurations where the Enigma's encryption of some plaintext letter yields the same ciphertext at the initial position and after the three-step rotor advancement, exploiting the machine's cyclic properties.[2] A complete set includes six such series of 26 sheets, one series for each of the 3! = 6 possible orders of the three rotors, allowing coverage of all permutations in the pre-war Enigma model.[2] When the relevant sheets from different series are superimposed and aligned according to observed enciphered message indicators, overlapping holes reveal the possible rotor settings by the pattern of light transmission through aligned perforations.[18] This design was developed in response to the 1938 Enigma modifications that increased the complexity of daily key recovery.[2]Manufacturing Process
The manufacturing of Zygalski sheets involved a meticulous manual process primarily conducted by the Polish Cipher Bureau in 1938, using thin cardboard sheets marked with a 26×26 grid to represent letter positions. Holes, several hundred in number per sheet, were punched to indicate specific Enigma rotor settings where repeated encryptions ("females") could occur, with positions calculated based on the machine's known rotor wirings. These computations for the approximately 105,000 rotor configurations across a full set (derived from 6 rotor orders × 26³ positions) were performed by hand or with rudimentary mechanical calculators, requiring extensive permutation tables and verification to ensure accuracy.[2][18] Punching the holes was done using sharp tools such as razor blades or basic perforators, a hazardous and time-consuming task that demanded steady hands to maintain uniform size and alignment, as even minor deviations could render the sheets unusable during superposition. The Polish team completed initial sets over several weeks, hampered by the labor-intensive nature of the work and the need for repeated checks to minimize errors in the manual encoding process. Sheets were stored flat in protective cases to avoid bending or distortion, preserving their precision for operational use.[18] Following the Polish evacuation, British cryptanalysts at Bletchley Park, under John Jeffreys, replicated and adapted the method, producing two complete sets of perforated sheets between December 1939 and January 1940 to support Enigma recovery efforts. This accelerated production, aided by semi-mechanized perforators, addressed the same computational challenges but benefited from larger team resources, enabling the first wartime decryption using the sheets on January 17, 1940. The process remained error-prone due to the volume of manual verifications required for the grid-based encodings.[2]Operational Method
Detecting Rotor Settings
The detection of rotor settings using Zygalski sheets relied on a manual cryptanalytic technique that exploited vulnerabilities in the Enigma machine's message indicator procedure. Specifically, the method targeted "female" messages—those where the six-letter encrypted indicator (the double-encrypted three-letter message key) exhibited repeated letters in corresponding positions, such as the first and fourth letters being identical. For each female identified in a message, one sheet is selected corresponding to the female's ciphertext letter, position type (1-4, 2-5, or 3-6), rotor order, and assumed left rotor position. Sheets from multiple females (across messages) are then stacked and aligned over a light source, with overlapping holes indicating compatible middle and right rotor positions that aligned across all layers, thereby indicating possible daily rotor settings for those messages.[2][18] Central to this approach was the Enigma machine's self-inverse property, whereby applying the encryption twice with the same settings returned the original plaintext, effectively making the machine its own inverse. This property manifested in the double-encrypted indicator, creating predictable fixed points or cycles in the permutation when repeats occurred, which the Zygalski sheets could isolate. As a result, the unique overlap of perforations ensured that only the correct rotor settings for the day's ground configuration would produce a complete alignment, distinguishing the true settings from false ones amid the vast search space.[2][14] The technique focused exclusively on the right and middle rotors' positions, treating the left rotor separately through a subtraction process after initial identification. This was feasible because the left rotor's slower movement allowed its position to be deduced once the faster right and middle rotors were known, reducing the problem to a 26 × 26 = 676 possible combinations for those two rotors. The plugboard (steckerbrett) was ignored in this phase, as its substitutions affected both the initial and repeated encryptions symmetrically, preserving the rotor-derived patterns in the indicator without altering the overlap uniqueness.[2][21] Mathematically, each Zygalski sheet encoded a set of perforations representing the output positions for a fixed left rotor and varying right/middle settings under the female indicator condition. When superimposing the sheets for multiple females, the intersection of these perforation sets—corresponding to the chained permutations—filtered the 676 candidates down to typically 1 or 2 viable rotor pairs, providing a drastic reduction that enabled manual verification and subsequent full decryption. This intersection exploited the geometric alignment of holes to compute the effective permutation product efficiently without electronic aid.[14][2]Step-by-Step Procedure
The step-by-step procedure for using Zygalski sheets involved a manual process to identify possible Enigma rotor settings from intercepted messages employing the repeated indicator system, where the three-letter message key was enciphered twice consecutively in the initial six letters of each transmission.[2] This method relied on collecting sufficient messages to accumulate "females"—instances where the same ciphertext letter appeared in corresponding positions of the two enciphered indicators (positions 1 and 4, 2 and 5, or 3 and 6), occurring in approximately 11.5% of messages due to the 1/26 probability per position.[2][15] Preparation began with gathering 80 to 100 messages sharing the same daily key, as this volume typically yielded about 10 to 12 usable females across the batch, enabling reliable triangulation.[2] From each message, the six initial letters were examined to extract the female letters: for each of the three possible pairs, if a match occurred (e.g., the second and fifth letters both being 'R'), that ciphertext letter and its position type (A for 1-4, B for 2-5, C for 3-6) were noted, providing up to three females per message but often fewer.[2][18] These extractions were recorded systematically, often aligning them by the first three ciphertext letters to account for the known message preamble shifts.[2] The core operational method used a lightbox for stacking the relevant perforated sheets, selected based on the rotor order under test (one of the 6 possible orders for the three rotors I, II, III) and the leftmost rotor's starting position.[18] For each female, the corresponding sheet (one of 26 per left position, with a 26×26 grid for middle and right rotors) was aligned over the lightbox according to the female's position type and letter, then stacked with sheets from other females in the batch.[2] Light passing through overlapping holes indicated candidate (middle, right) rotor positions compatible with all stacked females; multiple overlaps suggested ambiguities, while a single overlap pinpointed a likely configuration.[15][18] To triangulate the full settings:- Begin with the first female's sheet stack to identify 10 to 20 candidate (middle, right) positions from single or sparse overlaps, noting the assumed left position and rotor order.[2]
- Incorporate subsequent females by stacking their sheets atop the candidates from step 1, iteratively narrowing to 1 to 5 viable rotor position combinations as overlaps eliminate incompatibilities—typically requiring about 10 to 12 females for uniqueness.[2][15]
- Verify the top candidates by applying them to full messages on an Enigma replica or cyclometer to recover the plugboard (Stecker) settings, then cross-check against additional messages; if inconsistent, adjust the rotor order and repeat.[2][3]