Book Read Free

Code Warriors

Page 14

by Stephen Budiansky


  In late 1945, an officer stationed at the Army Air Forces’ Wright Field in Dayton, whom Meader had crossed paths with suggested he talk to a businessman in Minnesota he knew. John E. Parker was a hearty, energetic, wheeling-dealing entrepreneur who had shrewdly turned around a failing light aircraft company, securing a contract from Wright Field to produce wooden gliders in a government-owned factory in St. Paul. Parker was also an Annapolis graduate. A few weeks after being introduced to Meader, he received an invitation to Washington to meet the chief of naval operations, Admiral Chester W. Nimitz. At their meeting the head of the U.S. Navy wasted no words, Parker recalled:

  All Nimitz said to me, as he tapped me on the chest was, “I’ve looked into your background and there’s a job I would like to have you do.” And he said, “It may be more important in peacetime than it is in war time.” And I said, “Aye, aye, sir.” I had no idea what I was going to do.9

  What he was going to do was be the public face and chief source of capital for Engstrom’s new company, Engineering Research Associates. Within a few weeks, in January 1946, the company was incorporated with $20,000 in equity supplied by Parker and his financial partners, plus a $200,000 line of credit they secured. More than three dozen of ERA’s new employees came straight out of Op-20-G, recruited by a small office the company set up in Washington and shipped out to Minnesota; others came from the large pool of physicists, mechanical engineers, and electrical engineers freed from defense industries with the end of the war, supplemented by a good number of recent University of Minnesota graduates.

  In his role as ERA’s president, Parker said he often felt like a man pretending to conduct a symphony orchestra “without knowing a note”: “I always used to feel that this group of people sort of felt sorry for me, this poor fellow sitting up in that front office who didn’t know what was going on, and didn’t understand any of the technical things.” But Parker had understood from the start that his job was to provide the money and not ask questions; in any case, all of the real decisions were going to be up to the Navy.10

  Op-20-G cut more official corners in issuing ERA a series of contracted “tasks” without competitive bidding. The company was left to issue an awkward “no comment” when Drew Pearson, in his tell-all Washington newspaper column, ran a small item a few years later revealing that the Navy had entrusted one of its “most closely guarded secrets” to an inexperienced company that had received a “juicy contract” at the behest of the very Navy officers who later turned up as “highly salaried vice presidents of the company.” But in fact ERA performed admirably. The cavernous 140,000-square-foot factory in St. Paul was hardly the ideal place to build sensitive electronic components. The building, originally a radiator foundry, dated from 1920 and climate control was nonexistent; employees wore mittens and overcoats in winter and went shirtless in the summer, and it was frequently necessary to chase out sparrows and swallows that had entered through the screenless windows. One of the early “tasks” assigned the company led to ERA’s development, in its very first year of operations, of the world’s first magnetic drum memory. It was the diameter of a bicycle wheel, was a foot thick, and spun at only 50 rpm, but it could hold thousands of words of data and access them in any order, regardless of where they were stored on the drum.11

  To have ERA build a general-purpose computer, however, required negotiating some bureaucratic obstacles that even Op-20-G’s friends in high places could not easily waive. All Navy contracts went through the Bureau of Ships, which had already decreed that computer development for the Navy was the responsibility of the Office of Naval Research. Wenger told Pendergrass to try to get ONR’s support; Pendergrass drafted a letter outlining their ideas for a computer, but immediately hit another snag as almost no one at ONR was cleared to know about Op-20-G’s secret work. The letter finally landed on the desk of Mina, Rees, head of ONR’s mathematics branch, who telephoned Pendergrass to ask what she was supposed to do with his letter. “Well, answer it I guess,” he replied, and frankly explained that their plan was to have ERA design and build the machine. “She said, ‘Fine, write me an answer,’ ” Pendergrass recalled, “so I wrote an answer saying that this was a great idea. Rees put her initials on it and sent it up to the front office and had it signed by the head of ONR.” Von Neumann and Goldstine added their endorsements after Wenger sent Campaigne and Pendergrass to Princeton to line up their support for the project as well.12

  In August 1947, ERA was assigned “Task 13,” the design of a general-purpose, stored-program computer. Six months later the Navy told ERA to go ahead and build it. The cost was to be $950,000. They named it Atlas, after the mental giant in the comic strip Barnaby.13

  —

  The large array of special-purpose machines that filled multiple floors of Building 4 at the Navy’s Nebraska Avenue site was an attempt to speed up cryptanalytic tasks that were hopelessly slow using standard IBM punch card methods. The IBM sorters and tabulators could perform basic data compilation tasks useful to cryptanalysis, such as counting how often different words appeared in a large body of plaintext that had been punched onto cards, one word per card; libraries of cards containing the code texts of every message collected in a specific system could be searched for code groups that had already been assigned a dictionary meaning, and a catalog printed out showing what groups preceded and followed that known word to help suggest possible meanings of as-yet-unidentified groups; tables of differences between the values of known, frequently occurring code groups could be prepared to help identify words in messages already placed in depth; and, as in the massive hunts for double hits in the Soviet one-time-pad traffic, a huge corpus of collected cipher text could be combed to try to locate additional depths.

  But the IBM machines’ lack of any true memory made those latter kinds of hunt-and-compare sweeps, crucial though they were to routine cryptanalytical work, extremely cumbersome. There was no way to store intermediate results, such as the hypothetical additive calculated by subtracting frequently used code groups from every group of a string of cipher text, except by punching out more cards and feeding them back through the sorters and tabulators for each subsequent step of analysis. To do a thorough, exhaustive search for double hits at every possible relative overlap of every possible pair of messages—an “IBM brute-force run”—sometimes required punching literally millions of cards, one for each message at every possible offset, then running sorts to place the cards in numerical order and scanning the resulting printed indexes by eye for repetitions.14

  The Arlington Hall and Op-20-G machine room groups during the war devised an array of clever add-on contraptions that could be attached to the IBM machines to try to give them the rudiments of a built-in memory, and thus at least a limited ability to search for repetitions directly without all of the initial sorting and repunching. (IBM had a strict rule that its customers were forbidden to touch the inner workings of its machines, which it offered only for lease, not sale, and until the company at last agreed to cooperate the codebreakers always posted a lookout for the IBM service representative before pulling off the cover plate and setting to work with screwdrivers and soldering irons to hook up their latest invention.) Arlington Hall’s F Branch developed something they called the Slide Run Machine, which tried to automate the process of placing known additive key against messages. It used banks of relays to subtract a string of five key groups from cards that had been punched with the cipher texts of thousands of messages; other relays were wired to then detect if two or more of the resulting code groups in the sequence matched any of the 250 most frequently used groups in that system.15

  But aside from still being quite slow—it took about a half second for the Slide Run Machine to test each punch card of cipher text as it was fed in through a hopper—the whole approach, as the cryptanalysts were painfully aware, was extremely crude from a mathematical point of view. It was looking for a few specified needles one haystack at a time when what they really wanted to do was search for ev
ery possible needle in every haystack simultaneously. They wanted, first, to be able to test every message against not just five selected groups of additive key but against every possible string of additive; that required some way to rapidly slide tens of thousands of groups of cipher text against tens of thousands of groups of additive key at every offset between them. More important, they wanted to be able to carry out much more sensitive statistical tests on the resulting deciphered sequences of code groups to see if they yielded something that looked like a plausible decoded message text. The technique of using a lookup table of 250 high-frequency words was like trying to determine if a sentence was German or gibberish by testing only if a common German word like eins or und appeared in a particular five-word sequence. Much better results could be obtained if instead the machine could assess the entire message and test whether it statistically resembled the overall patterns of German word usage.

  The measure of what looked like real language versus coincidence involved an application of a statistical method Alan Turing had devised to simplify Enigma bombe runs.* By the end of the war Op-20-G had come up with a behemoth device called Mercury that tried to implement this idea with IBM cards and relays. It represented the apotheosis of the punch card–based cryptanalysis machines. Instead of the Slide Run Machine’s yes-no hunt for frequently appearing code groups, Mercury used a bank of ten thousand plugboard connectors to assign a frequency weight of 0 to 19 to every single code group in a four-digit code system. As each stripped code group was read from a test decipherment, a bank of relays connected its corresponding weight to an electronic adder, which kept a running tally for the entire message. At the end, if the weighted frequency of all the groups exceeded the average value of actual plaintext, it was flagged as a possible hit.

  Setting up the pluggings took days. But the machine proved useful for half a decade after the war because of its ability to carry out at least simple, comprehensive statistical assessments. In addition to placing cipher text against known additive, Mercury offered a powerful tool to directly place cipher text against cipher text in the hunt for depths, exploiting the fact that if two messages of an enciphered code are in depth, the additive key cancels out when one is subtracted from the other, leaving only the difference between the underlying code groups of the message pair. Knowing the plaintext frequency of each code group made it possible to calculate the frequency of every difference between two code groups. So for a cipher text versus cipher text run, the plugs were set up with weighted frequencies of differences.16

  Still, as William Friedman noted toward the end of the war, all of these adaptations of IBM technology, undeniably ingenious as they were, were “improvisations,” attempts to make IBM equipment do “what it was not basically designed to do.” The other electromechanical technology that the Army and Navy codebreakers milked for all it was worth during the war was the tape-based optical comparator. Collectively referred to as rapid analytical machinery, or RAM, these offered the most promising approach to vastly speeding up the process of sliding long streams of data against each other. Two superimposed punched paper tapes, or strips of 70mm film exposed in patterns of opaque and transparent spots, could be run at extremely high speeds through an array of photocell sensors that could simultaneously measure the light coming through as many as a hundred groups at a time, making it possible to locate double hits or search for other kinds of repetitions. By forming one tape into a loop that cycled repeatedly as the other advanced one space with each complete revolution of the first, a “round robin” test covering every possible relative offset between the two data streams could be made. Jack Good jokingly said that he had always regarded it as “one of the great secrets of the war” that “ordinary teleprinter tape could be run on pulleys at nearly thirty miles per hour without tearing,” and the machines attained some remarkable computational speeds. The Navy’s Copperhead, a film comparator used to search for double hits, could scan five hundred messages against five hundred messages in four and a half hours, approximately a hundred times faster than comparable IBM punch card methods.17

  The optical comparators also provided an efficient means to perform a central calculation used to locate depths in streams of polyalphabetic cipher. Known as the “index of coincidence,” this mathematical test was first devised by William Friedman and Solomon Kullback in the 1920s and 1930s (see appendix E for an explanation of the concept). It was a fundamental breakthrough in the cryptanalysis of polyalphabetic ciphers, but it involved a tedious tabulation of the number of identical letters of cipher text that occurred in the same position in each of two messages. The comparators, by shifting two superimposed photographic plates encoded with message texts through all their relative positions, were able to dispense with any electronic counting circuitry altogether, instead weighing up the total number of coincidences in a single analog gulp simply by measuring the total amount of light emerging through the two plates.

  The Colossus machines that GC&CS developed to break the German teleprinter traffic grew out of a similar high-speed comparator device, with the refinement that the stretch of key to be tested was stored electronically in an internal vacuum-tube memory rather than on a tape loop. But Colossus was a very special-purpose machine, as well as an electronically temperamental one, and Frank Rowlett surprised the British by spurning their offer at the end of the war to let the Americans have one of their ten Colossi. Rowlett correctly saw that the future lay in a different direction. If anything, there was more promise, as a model for a general-purpose cryptanalytic calculator, in the “statistical bombe” the U.S. Navy had built as a way to recover the rotor settings for Enigma messages that had resisted the normal approach. Instead of depending on a plaintext crib, the statistical bombe (rather like Mercury did in weighting word frequencies of enciphered codes) deciphered a string of message text at every possible rotor setting and then assessed the roughness in the letter frequencies that emerged from its trial decipherments, to see if any matched that of German plaintext. Although the method was applicable to Enigma messages only in the specific case where the basic setting of the machine had already been recovered, with sufficient improvements in speed and power the approach might offer the basis for a general “cipher text only” attack against a variety of machine cipher systems.18

  As Pendergrass realized during the Moore School lectures, the digital computer could fully implement all of the cryptanalytic functions that IBM and RAM equipment could often only roughly approximate. The flexibility of the computer to pluck a specified piece of data with equal ease from anywhere in a large stored list and compare it with any other piece of data was its most powerful feature for cryptanalytic application. Combined with the ability to perform complex statistical calculations on the fly, the new computers would provide the cryptanalysts a tool that they hoped would continue to give them an advantage into the postwar decades in the never-ending seesaw race between codemakers and codebreakers.

  —

  The major technological challenge of the first computers was fast memory. ERA was banking on a promised RCA vacuum tube, the Selectron, but delays in its availability led the designers to settle on an improved magnetic drum made by ERA itself that was only eight and a half inches wide, spun at 3500 rpm, and held 16,384 24-bit words; with some clever programming techniques, it could be made to perform with an access time of as little as 32 microseconds to find and retrieve a word of memory (though it could take a thousand times longer).19

  Samuel Snyder, who through much of the war led the machine cryptanalysis section at Arlington Hall, belatedly received a copy of Pendergrass’s report and, with a combination of inspiration and agony at the thought that the Army was about to be surpassed by the Navy in the field, set out on a whirlwind tour of computer centers; he visited the research groups at Princeton, Penn, and the Bureau of Standards and some of the new companies getting into the business, including Raytheon and a firm recently established by the ENIAC and EDVAC developers, soon to be called UNIVAC. But mon
ths of negotiations with possible suppliers led nowhere. Snyder finally decided to take a bold gamble and have ASA just design and build its machine itself. For the memory they purchased a Rube Goldberg–esque system, developed by the Moore School group for EDVAC, called a mercury delay line. The problem in storing a number electronically was to find a way for a circuit to retain a series of electrical pulses until they were needed again. The Moore School memory exploited the fact that sound waves move a lot slower than electricity, especially sound waves moving through a very dense substance such as mercury. An electrical pulse was first changed into an acoustical pulse and the sound then traveled down a two-foot-long glass tube filled with mercury. At the far end, the sound was converted back to an electrical signal, then fed back into the start of the line. At any moment, eight 48-bit words in the form of mechanically vibrating sound waves would be moving in a row down the line. The time it took to access a word from memory depended on how far that particular word was from the end of the line at a given moment, and varied from 48 to 348 microseconds. ASA’s computer called for two large cabinets holding sixty-four delay lines each to give 1,024 words of memory: 1K.20

  The ASA team gamely dubbed their computer with the name of a comic strip character too: theirs was Abner, named after the hillbilly bumpkin Li’l Abner, the joke being that it was “strong but dumb.” But Snyder’s group, with the benefit of having spent some additional time thinking about the requirements of cryptanalysis and what specific computer architectures were most suitable for those tasks, came up with a number of innovations that promised to offset Abner’s brainpower deficiencies with considerable flexibility. A great deal of emphasis was placed on input and output capabilities that could handle large streams of data from a variety of sources and media that the codebreakers were already using to accumulate libraries of intercepted traffic; Abner was to be equipped with devices to read and write on magnetic tape, paper tape, and IBM cards.

 

‹ Prev