Decrypting the Internet of value
By: Mike Co
Tags: Technology, History, Bitcoin, Cryptocurrency, Cryptography

The art of encryption, called cryptography, is the way information is secured. Cryptography is primarily the question of: How can Alice send critical information to Bob without Eve being able to decode it? Before the Internet, history has seen many clever ways to encode and send information, followed by clever ways to decipher. Cryptography has also been a powerful force for technological progress: Alan Turing, the father of computer science, was a codebreaker in World War II.

As computers connected to form the early Internet, the network was built to withstand nuclear attacks. However, the early Internet had a flaw, and high school students were able to infiltrate the network as it was unencrypted. So as the Internet develops to connect billions of people today, strong encryption is required to secure an increasingly digital global economy. Unlike the Internet however, the global economy is highly fragmented, being divided into 180 local fiat monetary systems. Building upon the history of encryption and the decentralized Internet, Bitcoin, a native Internet currency has emerged. Bitcoin is the culmination of a powerful technological history.

A long time ago, one of the earliest encryption techniques was used in Ancient Rome. Caesar himself would communicate using a substitution cipher: “If he had anything confidential to say, he wrote it in [substitution] cipher… If anyone wishes to decipher these, he must substitute the fourth letter of the alphabet, namely D for A.” His confidants would agree upon the alphabetic shift beforehand, i.e. +3, as a private key. For centuries, Caesar’s cipher was effective at protecting critical information.

Variations of Caesar’s cipher were later broken by techniques such as brute force, i.e. testing all 26 different letter combos, and frequency analysis. In the 9th century Al-Kindi, the father of Arab philosophy, invented frequency analysis to break the Caesar cipher. Across all languages, certain letters appear more frequently than others. Any piece of writing will tend to follow the same letter frequency distribution, i.e. E appears most frequently at ~12% of the time and Z only appears ~.07%.

As an example of frequency analysis, we can encrypt this entire paragraph using the Caesar cipher with a shift of +3. If an attacker were to intercept the message and tally the letter frequency, the original shift could be easily found. After tallying the letters in the encrypted message, H appears ~12% of the time. Compared to the master English Letter Frequency chart, H should shift back to E, indicating a shift of +3.

Frequency analysis required cryptography to evolve past simple alphabetic substitution ciphers. Polyalphabetic substitution, resulting most infamously in the Nazi Enigma machine, was evolved to be unbreakable by conventional frequency analysis. World War II depended on breaking the Nazi Enigma, which at first glance looked like a simple typewriter. Typing a letter on the keyboard would light up a different letter on the lightboard. Behind the scenes, an electrical circuit conducted polyalphabetic substitution.

In simple form, typing A on the Enigma keyboard would encrypt to signal B on the lightboard. To decode, typing in B would light up A and vice versa, after going through a maze of wires in the Rotor and Reflector. As WWII raged, the Nazi regime would further complicate the wiring by adding a plugboard and more rotors. An Enigma flaw was that no typed letter could light itself: A could never light A, Z could never be Z, etc. Such clues would increase the probability of swift Enigma decryption, which could have 150 trillion possible combinations.¹

British codebreaker Alan Turing was able to decrypt Enigma using another electromechanical device called the Bombe, which processed many combinations at once. However, Nazis had a more powerful encryption than Enigma: the Lorenz cipher. Breaking Lorenz required Bombe engineers to go on to build the first electronic computer, the Colossus, aided by Turing’s work. Colossus used vacuum tubes to simulate transistors that speak the basic language of computing: i.e. running a current to switch transistors on (1) or off (0) creates binary code.

Colossus’ design later evolved into the computer we know today. The drive to decode is a powerful catalyst for technological revolution. As computers became interconnected across vast distances, a truly decentralized communication network was born. If one node were destroyed, even a major city, sent messages could circumvent the point of failure. Unlike existing phone lines, TV & Radio stations, “computer-communications had no hub, no central switching station, no governing authority, and assumed that the links connecting any city to any other were totally unreliable.”²

Called the Arpanet, this network was built to withstand nuclear attacks during the height of the Cold War. Interestingly, the network’s ability for fault tolerance also made communications on the network extremely difficult to control. As pioneer John Gilmore once put it, “The Internet interprets censorship as damage and routes around it.”³ However, despite its resilience, the Arpanet had a flaw: it was unencrypted. In 1973, a group of high school students were able to infiltrate the military grade network.⁴

Internet pioneers Vint Cerf and Bob Kahn were initially interested in building encryption into the core Internet protocol (called TCP/IP) to avoid such infiltrations, but their hands were tied. One of the techniques Vint Cerf considered was “public key crypto”. As an example of this technology, Caesar could use public-private key cryptography to make his cipher more difficult to break: I.e. instead of sharing a simple shift of +3 with close friends, Caesar could share a private key with a series of custom shifts.

Using public key crypto, frequency analysis is ineffective as single letters can represent multiple other letters at a time (mapping F -> H, and F -> E simultaneously). Today however, even Caesar’s improved cipher would be easily broken in the age of computers. The only way to avoid a computer brute forcing all possible combinations would be to use an extremely long private key, such as a 256-bit encryption (imagine the security of a private key that is 256 1’s and 0’s long). However, if Caesar’s private key is itself compromised, the message is no longer safe. Needing to actively share a private key with friends increases the risk of it falling into the wrong hands.

So today, how are Internet computers able to communicate securely without needing to actively share private keys? Transport Layer Security (TLS) helped solve this problem using a technique called asymmetric encryption: whereby your public key allows anyone to communicate with you, but your private key does not need to be shared with anyone else.

By asymmetric encryption, anyone can send you a message encrypted using your known public key. While that information is sent openly across the Internet, it can be deciphered by using only your private key, and vice versa. Asymmetric encryption allowed public key cryptography to become the foundation of secure messaging on the open internet today.⁵ TLS uses 256-bit keys that are impossible to brute force. For context, 256-bit encryption means there are 2256 possible combinations, an astronomical number:⁶