It was clear to US cryptologists even before WWII that the single-stepping mechanical motion of the German Enigma machine introduced several patterns into the code that would, in theory, allow it to be broken. William Friedman, director of the US Army's Signals Intelligence Service, devised a system to correct for this by randomizing the motion of the rotors. His modification consisted of a paper tape reader from a teletype machine attached to a small device with metal "feelers" positioned to pass electricity through the holes. For any given letter pressed on the keyboard, not only would the machine scramble the letters in a fashion largely identical to the Engima, but any holes in the tape at that location would advance the corresponding rotors, before the tape itself was advanced one location. The resulting design went into limited production as the M-134, and in addition to the message settings common with the Enigma, it added the positioning of the tape and the settings of a plugboard that said which line of holes on the tape controlled which rotors.
The M-134 had one distinct disadvantage compared to the Enigma, that the tape had to be identical for any machines hoping to decode messages from other machines. If this tape were intercepted the number of potential settings was large, but not infinite. Then there is the problem of any machine using fragile paper tapes in the heat of battle in field conditions.
Friedman's associate, Frank Rowlett, then came up with a different way to advance the rotors, using another set of rotors. This is not as trivial as it may seem. The Enigma takes one input signal (power from a battery) and creates one output signal, but in this case the rotors needed to be constructed such that between one and five output signals were generated, advancing one or more of the rotors. Rowlett wrote a book about SIGABA (Aegean Press, Laguna Hills, Calif)
There was little money for encryption development before the war in the US, so Friedman and Rowlett built a series of "add on" devices called the SIGGOO (or M-229) that were used with the existing M-134s in place of the paper tape reader. These were external boxes containing a three rotor setup where five of the inputs were live, as if someone had pressed five keys at the same time on an Enigma, and the outputs were "gathered up" into five groups as well – that is all the letters from A to E would be wired together for instance. That way the five signals on the input side would be randomized through the rotors, and come out the far side with power in one of five lines. Now the movement of the rotors could be controlled with a day code, and the paper tape was eliminated. They referred to the combination of machines as the M-134-C.
In 1935 they showed their work to a US Navy cryptologist, Wenger. He found little interest for it in the Navy until early 1937, when he showed it to Cmdr. Laurence Safford[?], Friedman's counterpart in the Navy's Office of Naval Intelligence. He immediately saw the potential of the machine, and he and Cmdr. Seiler then added a number of features to make the machine easier to build, resulting in the Electric Code Machine Mark II (or ECM Mark II), which the Navy then produced as the CSP-889 (or 888).
Oddly the Army was unaware of either the changes or the mass production of the system, but were "let in" on the secret in early 1940. In 1941 the Army and Navy joined in a joint cryptographic system, based on the machine. The Army then started using it as the SIGABA.
SIGABA was similar to the Enigma in basic theory, in that it used a series of rotors to encode every character of the plaintext into a different character of cyphertext. Unlike Enigma's three rotors however, the SIGABA included no less than fifteen.
Simply increasing the number of rotors does not make the machine more secure. This is because in the Enigma system, the rotors only move if the one to their right does so first, and it does that only after 26 key presses. In other words the message has to contain at least 676 (26^2) characters before the third rotor comes into play, and 17,576 characters are needed to move a fourth. For most messages of a few hundred letters, more rotors added no security.
What SIGABA did with these extra rotors was randomize the movement of the main rotors in the machine. In the Enigma the rotors turned one location with every key press, which led to a number of patterns in the cyphertext. While these patterns were hard to find, the British and US applied massive industrial might to the problem, and by the end of the war were able to read practically everything the Germans encrypted.
In the case of the SIGABA, a simple modification was applied that made it more secure. Instead of the rotors being turned by mechanical action of the keyboard, they were instead turned by the electrical action of a separate set of rotors. That is, the SIGABA was essentially two Enigmas in one, one controlling the motion of the other.
The "main Enigma" was known as the cypher rotors and was simply a five-rotor version of the Enigma system. It had all of the benefits and problems of that system, including the way it could generated patterns by which it could be attacked.
This "second Enigma" was itself very secure. It contained two sets of five rotors, only one of which was set to any sort of "day code". The first set, called the control rotors, received four signals every time. They then "ganged" these signals in a random way into the inputs of the next rotor. For instance any one input could be wired to several outputs. These signals travelled though the rotors until the exited with from one to nine outputs being powered.
These signals were then fed into a second set of five smaller rotors called the index rotors containing a day code. The purpose of the index rotors was to randomize the output from the control rotors. After travelling though the index rotors, one or more of five output lines would have power. These then turned the cypher rotors.
This might sound confusing, but the long and short of it was that the SIGABA advanced one or more of its main rotors in a random fashion. This meant that the patterns used to break Enigma were completely hidden. In fact even with the plaintext in hand, there are so many potential inputs to the encryption that it is almost impossible to work out the settings.
On the downside, the SIGABA was also large, heavy, expensive, difficult to operate and mechanically complex and fragile. It was nowhere near as practical a device as the Enigma, which was smaller and lighter than the radios it was used with. It found widespread use in the radio rooms of the US Navy's ships, but as a result of these practical problems the SIGABA simply couldn't be used in the field, and, at least in some theatres, the Navaho wind talkers[?] were used for tactical communications instead. In other theatres, less secure, but smaller lighter and tougher machines were used. SIGABA, impressive as it was, was overkill for tactical communications.
Note that the discussion above is misleading in places. The term 'random' is used in the common sense sense, not any mathematical sense. It is still not possible, in principle and mostly in fact, to produce random outputs from any deterministic machine. See random. In addition, the term 'code' is used in several places and each use is cryptographically mischevious. The SIGABA machines in all their variants were cypher machines, as were the Enigmas and the Japanese stepping switch machines (eg, 'Purple'). The most common use of code in the article above should have been 'setting' or 'partial key'. The 'index rotors' in SIGABA machines were set each day to a different 'combination'. This was not a code, nor even a cypher. In modern terms it was part of the key for this or that message.