Questions? Feedback? powered by Olark live chat software
Ignorar Navegação

Open source cryptography: Cracking history’s toughest code

Publicado em 29 março, 2016

Cracking Open Source

Innovation through collaboration: A common concept in the open source community that has yielded some amazing achievements and helped shape modern software. More than 70 years ago, this same concept helped reduce the length of World War II by an estimated two years and planted the seeds for modern computing.

Powerful code

On February 23, 1918, German engineer Arthur Scherbius submitted a patent application for a rotor-driven cypher machine, an invention allowing encoded secrets to be carried over radio waves. By the time World War II began, Germany improved the machine to be capable of a mind-blowing 86 trillion cypher combinations. The Wehrmacht Enigma had secured its seat at the table as one of the most powerful tools in World War II, enabling the Germany military to broadcast their most important military plans in total secrecy. Cracking Enigma would take some of the world’s brightest minds more than 10 years. Fortunately, they had a head start thanks to collaborative efforts among multiple nations despite the hurdles that come with military secrecy.

See how the cloud helps open source dev teams do things easier.

Hacking and cracking in the 1930’s

In 1932, Polish intelligence got to work cracking Germany’s Enigma code. Standouts on the Polish intelligence team included cryptologists Marian Rejewski, Henryk Zygalski, and Jerzy Rozycki. The trio collaborated with remarkable success to develop methods and devices that would ultimately lead to cracking Enigma. Within a matter of weeks, Rejewski was able to deduce the internal wiring of Enigma and the team was soon able to decrypt messages on a regular basis. From there, the trio engaged in a game of cat and mouse for the next seven years as the Enigma became more and more complicated. In 1939, the team was evacuated from Poland and ended up continuing their efforts working underground in France.

The first-ever code check-in?

Five weeks before the German invasion in 1939, the Polish cryptography team gifted their research to the United Kingdom and France, providing an invaluable foundation that would give Allied code breakers a seven-year head start. Key innovations in their collaborative care package included the Zygalski sheets, which reproduced the code combinations of the first two rotors in Enigma, and the Polish bomba, a brute-force cryptanalysis machine that could read early Enigma-coded messages.

The necessity to collaborate

When the British government entered the World War in 1939, a brilliant Cambridge mathematician named Alan Turing had been assigned to the British intelligence’s code-breaking complex, Bletchley Park.  Although there was no GitHub in 1940, Turing found inspiration in a "community-contributed idea"—the Polish bomba. After spending months puzzling over the Polish team's work, Turing had an epiphany. The result was the Bombe, an electromechanical machine that could break Enigma codes more effectively than the Polish bomba. Although making progress, Turing knew he had to fast-track innovation. To do so, the notorious “lone wolf” began collaborating with fellow code breakers—mathematician Gordon Welchman and engineer Tommy Flowers.

Checking in new code

Much like a modern open source developer, Welchman himself quickly found a way to innovate and improve on Turing's design. Welchman created an addition to the Bombe called the "diagonal board," which eliminated searches for redundant combinations and made the machine far more efficient. The improved Bombe design would serve British Intelligence throughout the war, saving countless lives and helping bring an early end to the conflict.

The collaboration-based innovation didn't end there. Tommy Flowers, a recruit of Turing's, took the idea for the Bombe hardware and adapted it to his own problem: cracking the Lorenz cypher. Unlike with Enigma, British Intelligence did not have any working German machines to deconstruct. The Lorenz code rotors were even more complex than Enigma, which required British Intelligence to create something new.

Flowers and Turing, using the Bombe as inspiration, realized they needed a machine they could input information into—in essence, a machine they could "program." This huge leap forward resulted in the Colossus, the world's first programmable computer. Colossus was the natural next step after the Bombe—an adaptable, programmable machine that could be used for many different kinds of calculations based on its coding (software). Using thousands of vacuum tubes, the first Colossus entered service in 1943 and soon began cracking Lorenz cyphers.

A model for innovation through collaboration

Colossus helped spark one of Turing's greatest innovations and a cornerstone of computer design to the present day: The idea of reprogrammability and the theory of a separate ROM and RAM. Widely considered to be the father of theoretical computer science, Turing, his team, and the original code breakers in Poland serve as a compelling example of a key concept in the open source community: innovation through collaboration.
 
Although there's a long way between Colossus and the cloud, the seeds of the collaboration familiar to modern, open source developers were present when Turing and Flowers worked together to invent the computer. They are the same seeds that devs can leverage with a cloud-based environment. It's a powerful feeling—and one that the right cloud solution can help modern development teams harness, much like Turing and Flowers and their colleagues did so many years ago at Bletchley Park.

See how cloud computing with an open approach can help solve today's challenges.