The bomba, or bomba kryptologiczna (Polish for "bomb" or "cryptologic bomb") was a special-purpose machine designed about October 1938 by Polish Cipher Bureau cryptologist Marian Rejewski to break German Enigma-machine ciphers.
How the machine came to be called a "bomb" has been an object of fascination and speculation. One theory, most likely apocryphal, originated with Polish engineer and army officer Tadeusz Lisicki (who knew Rejewski and his colleague Henryk Zygalski in wartime Britain but was never associated with the Cipher Bureau). He claimed that Jerzy Różycki (the youngest of the three Enigma cryptologists, and who had died in a Mediterranean passenger-ship sinking in January 1942) named the "bomb" after an ice-cream dessert of that name. This story seems implausible, since Lisicki had not known Różycki. Rejewski himself stated that the device had been dubbed a "bomb" "for lack of a better idea". Perhaps the most credible explanation is given by a Cipher Bureau technician, Czesław Betlewski: workers at B.S.-4, the Cipher Bureau's German section, christened the machine a "bomb" (also, alternatively, a "washing machine" or a "mangle") because of the characteristic muffled noise that it produced when operating.
According to a top-secret U.S. Army report dated 15 June 1945,
The German Enigma used a combination key to control the operation of the machine: rotor order, which rotors to install, which ring setting for each rotor, which initial setting for each rotor, and the settings of the stecker plugboard. The rotor settings were trigrams (for example, "NJR") to indicate the way the operator was to set the machine. German Enigma operators were issued lists of these keys, one key for each day. For added security, however, each individual message was encrypted using an additional key modification. The operator randomly selected a trigram rotor setting for each message (for example, "PDN"). This message key would be typed twice ("PDNPDN") and encrypted, using the daily key (all the rest of those settings). At this point each operator would reset his machine to the message key, which would then be used for the rest of the message. Because the configuration of the Enigma's rotor set changed with each depression of a key, the repetition would not be obvious in the ciphertext since the same plaintext letters would encrypt to different ciphertext letters. (For example, "PDNPDN" might become "ZRSJVL.")