CovertCouncil

Tradecraft

TRADECRAFT FILE

One-time pads

The one cipher proven unbreakable if its key is random and never reused. Soviet intelligence relied on it, and a wartime printing shortcut that duplicated pages let US codebreakers read thousands of messages.

One-time pads
A one-time pad: sheets of random five-digit key groups, each used once and destroyed. CIA Museum. The Central Intelligence Agency. Wikimedia Commons, Public domain.

Most ciphers can in principle be broken; the only question is how much traffic and effort it takes. The one-time pad is the exception. If the key is random, at least as long as the message, kept secret and used once only, the enciphered text carries no pattern for a codebreaker to work on. An NSA history puts it plainly: "properly used, a one-time pad is virtually unbreakable."1 The catch lies in the word properly, and the most famous codebreaking story of the early Cold War is about what happened when it was not.

Origins

The idea grew out of telegraphy. In 1917 Gilbert Vernam, an engineer at AT&T, designed a teleprinter system that combined each character of a message electrically with a character punched on a key tape; his patent, "Secret Signaling System," was granted on 22 July 1919.3,7 The Army Signal Corps officer Joseph Mauborgne saw that if the key tape were random and never reused, the system would resist analysis, and the two are usually credited together with the one-time tape.7 An earlier description of the same principle, in an 1882 telegraph codebook by Frank Miller, was identified only in 2011.7

The pencil-and-paper version came from Germany. In the early 1920s cryptographers at the German Foreign Office had pads printed with rows of random number groups, each page used once and then destroyed, and the system was in service by 1923.7 Claude Shannon proved mathematically in the 1940s that a correctly used one-time system offers perfect secrecy; his work was classified in 1945 and published in 1949.7

Soviet pads and their flaw

Soviet intelligence and diplomatic services adopted the one-time pad on a large scale. Their wartime cables were first turned into number groups using a codebook, then "superenciphered by adding a numeric key stream from a one-time pad," in NSA's description.1 Because the pads were believed unbreakable, the US Army did not seriously study the intercepted cables, collected from American cable companies since 1939, until 1 February 1943, when the project later named Venona began at Arlington Hall.1,2

The break came from a manufacturing failure. In October 1943 Lieutenant Richard Hallock's team found signs that some key had been used more than once, creating what codebreakers call a depth.1 In November 1944 Genevieve Feinstein worked out how to spot messages encrypted with the same key from indicators sent in the clear.1 The cause, as NSA later explained, was that the Soviet organization producing KGB pads had turned out about 35,000 pages of duplicate key under the pressure of the German advance on Moscow; the duplicates were sent to widely separated users in the hope of hiding the weakness.1

Stripping the key was only the first step. The underlying code then had to be reconstructed, work led by the linguist Meredith Gardner. In December 1946 he read a 1944 New York KGB message listing scientists on the Manhattan Project.1,2

Only about 3,000 messages were ever partly read, and coverage was uneven: 49 percent of New York KGB messages from 1944, 15 percent from 1943, 1.8 percent from 1942.1,2 None were read in real time. Even so, the decrypts helped identify Klaus Fuchs, the Rosenbergs and others in atomic espionage, and corroborated Elizabeth Bentley's testimony.1 The project ran until 1 October 1980, and NSA released the translations from July 1995.1,2

Pads in the field

Agents carried pads too, and they turned up in arrests. When the FBI searched the New York rooms of Rudolf Abel in 1957, it found "cipher pads" among his radios and microdot equipment.4 In London, MI5 searched the safe-deposit box of the KGB illegal Gordon Lonsdale (Konon Molody (Gordon Lonsdale)) in 1960 and found one-time pads hidden in a cigarette lighter; according to published accounts, they were photographed and put back, and GCHQ used the copies to read his radio traffic to Moscow. More pads were found at the Ruislip bungalow of the Krogers after the arrests of January 1961 (see The Portland spy ring).8 The CIA used them as well: it trained the Soviet diplomat Aleksandr Ogorodnik (TRIGON) in "the use of one-time pads" before his return to Moscow in 1974, and in December 1982 Adolf Tolkachev handed back his radio equipment and one-time pad to his case officer.5,6 Pads were also the natural partner of the shortwave Numbers stations used to send instructions to agents.

Why the system failed when it did

In the cases on record, the mathematics was never the weak point. The breaks came from people and procedures: duplicated pages, pads found and copied, or key used twice. NSA's overview stresses that Venona was read "without supercomputers, capture of keypads, or even a stolen codebook," entirely through the Soviet production error.1

Sources

  1. NSA VENONA: An Overview, Cryptologic Almanac 50th Anniversary Series, National Security Agency (archived by the Internet Archive) (2009).
  2. NSA The Venona Story (Robert L. Benson), National Security Agency, Center for Cryptologic History (archived by the Internet Archive) (2001).
  3. Other US Patent 1,310,719: Secret Signaling System (Gilbert S. Vernam), US Patent Office, via Google Patents (1919-07-22).
  4. FBI Hollow Nickel/Rudolf Abel, Federal Bureau of Investigation, History (archived by the Internet Archive).
  5. CIA TRIGON: Spies Passing in the Night, Central Intelligence Agency, Stories (2016-06-20).
  6. CIA Tolkachev, A Worthy Successor to Penkovsky (Barry G. Royden), Studies in Intelligence 47, no. 3, Central Intelligence Agency, Center for the Study of Intelligence (archived by the Internet Archive) (2003).
  7. Wikipedia One-time pad, Wikipedia.
  8. Wikipedia Portland spy ring, Wikipedia.
  9. Wikipedia English Wikipedia article (used for cross-checking).

Elsewhere in the files