Introduction to Cryptography
There’s nothing you can know that isn’t known.
Nothing you can see that isn’t shown.
All you need is…PUBLIC KEY CRYPTOGRAPHY!!!
– with apologies to Lennon-McCartney
Without public key cryptography, cryptocurrency fails. Public key cryptography proves ownership and enforces privacy. It arrived relatively recently, though, appearing on the scene in the mid-1970’s at the same time as the personal computer revolution.
The art and science of cryptography encode (i.e., encrypt) messages so that no one can read them except the intended audience. Only the proper recipient decodes (i.e., decrypts) the message, maintaining privacy between communicators.
A key is used to encrypt and decrypt messages. In asymmetric cryptography (another name for public key cryptography), the key to encrypt a message is different from the key to decrypt the message.
In symmetric encryption, the key to decrypt a message is the same as the key used to encrypt it. This strategy creates a key distribution problem: the sender not only has to send the message but also find a secure way to send the key as well. When a villain intercepts the key and the message both, privacy disintegrates.
Whitfield-Diffie Key Distribution Solution
Linguistics, language, and puzzle skills ruled cryptography through most of history, but from the mid-twentieth century onward, math has been predominant.
In the 1970’s at Stanford University, Whitfield Diffie, Martin Hellman, and Ralph Merkle found a mathematical solution to the key distribution problem. In their solution, they used modular arithmetic and one-way functions. (Among other accomplishments, Ralph Merkle also contributed greatly to cryptocurrency as the inventor of Merkle trees.)
Modular arithmetic deals with remainders and incorporates a set of numbers that wrap around to the beginning after a certain point. That is, 7 mod 3 equals 1 because 1 is what remains after dividing 3 into 7. A 12-hour clock provides the most common example of the wrap-around nature of modular arithmetic. If it’s 8:00 a.m. now, 6 hours from now will not be 14:00 o’clock but 2:00 p.m. The main point to remember is that modular arithmetic behaves non-intuitively and yields unexpected results.
In mathematics, one-way functions execute easily but strongly resist reverse engineering. Think of a bowl of soup served in a restaurant. The cook easily followed the recipe to create it, perhaps even improvising some ingredients at hand. You may well be able to detect this flavor and the spices, but without the recipe and exact ingredients the chef used, you’ll have a difficult time duplicating that bowl of soup.
In the Whitfield-Diffie algorithm, correspondents share some public information for the key but keep private information that prevents an eavesdropper from reproducing that key. The team presented their solution publicly in June 1976 at the National Computer Conference.
Enter Asymmetric Cryptography
Whitfield-Diffie solves the key distribution problem but still uses symmetric encryption.
Upon learning of the Whitfield-Diffie solution, Ron Rivest, Adi Shamir, and Leonard Adelman at the MIT Laboratory for Computer Science began building on those mathematical concepts to discover a solution for asymmetric encryption. In April 1977, they succeeded. This became known as RSA after the names of the creators.
In asymmetric encryption, you publish a public key that everyone knows. People use this to encrypt messages that only you can decrypt because you know the private key. Simply put, a public key is just a number created by multiplying two numbers of the private key. If the numbers used are sufficiently large, discovering those two numbers is computationally intensive and time-consuming.
Encryption for the Rest of Us
Using RSA encryption challenged the resources of the computers in those days. Encryption belonged only to the powerful and wealthy — the military, governments, large corporations, etc. Paul Zimmerman envisioned encryption available to anyone with a personal computer. He implemented Pretty Good Privacy (PGP) and released it to the public for free in June 1991.
Zimmerman overcame the resource intensive computational slowness of asymmetric encryption by implementing a hybrid algorithm. The message itself used a symmetric key, and asymmetric cryptography encrypted the key to safely send it with the message.
Hello, Hal Finney
The first employee Phil Zimmerman hired at PGP was Hal Finney. Hal Finney would become the first person to show any interest when an unknown person calling himself Satoshi Nakamoto arrived on the scene in 2008 proposing something he called Bitcoin.
Multiple attempts to create private digital money protected by asymmetric encryption failed throughout the 1990’s. In Amsterdam, David Chaum created DigiCash but required all transactions to be validated by a centralized company. DigiCash failed when Chaum’s company went bankrupt in 1998. British researcher Adam Back created HashCash in 1997 utilizing a Proof of Work method to create new coins. HashCash failed because a coin could only be used once. Users needed to create new coins every time they wanted to purchase something.
Hal Finney solved the HashCash problem by making the first reusable proof of work system (RPOW). He made his attempt at a digital money project with something he called CRASH (for Crypto cASH). (Lesson learned: call a computer program CRASH and expect it to fail.)
Hal Finney became the first person after Satoshi to run a Bitcoin node and was the first recipient of Bitcoin from the first transaction on the network.
Hal encouraged Satoshi with the wisdom of a seasoned pro who has not grown jaded with cynicism: “Imagine that Bitcoin is successful and becomes the dominant payment system in use throughout the world. Then the total value of the currency should be equal to the total value of all the wealth in the world…Even if the odds of Bitcoin succeeding to this degree are slim, are they really 100 million to one against? Something to think about.”
Later on, Hal Finney contracted the fatal disease of ALS and posted some parting words to the community on March 19, 2013:
“After a few days, bitcoin was running pretty stably, so I left it running. Those were the days when difficulty was 1, and you could find blocks with a CPU, not even a GPU. I mined several blocks over the next days. But I turned it off because it made my computer run hot, and the fan noise bothered me…The next I heard of Bitcoin was late 2010, when I was surprised to find that it was not only still going, bitcoins actually had monetary value. I dusted off my old wallet, and was relieved to discover that my bitcoins were still there. As the price climbed up to real money, I transferred the coins into an offline wallet, where hopefully they’ll be worth something to my heirs.”
Final Thoughts and Further Reading
The history of cryptography from Whitfield-Diffie to Bitcoin and beyond continues to progress. Math provides the foundation. Modern math unlocks possibilities unheard of before the middle of the twentieth century. Mathematical research continues, and when quantum computing becomes common, new mathematical possibilities will emerge.
Beyond math, decentralization drives the history of modern cryptography. Everyone deserves privacy. When Rivest, Shamir, and Adelman created public key cryptography, only powerful and centralized organizations benefitted immediately. Phil Zimmerman’s Pretty Good Privacy (PGP) expanded the market to include anyone wanting to use cryptography on a personal computer. With Bitcoin, anyone who uses the cryptocurrency gets the privacy of public key cryptography as an integral component of the system.
Many sources provide further in-depth information on the history of cryptography and its emergence in cryptocurrency:
A popular book on the history of cryptography is Simon Singh’s The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography.
The early chapters of Nathaniel Popper’s Digital Gold: Bitcoin and the Inside Story of the Misfits and Millionaires Trying to Reinvent Money cover the early history of cryptocurrency.
Archives, articles, and a wealth of primary material can be found here.
This article by Wilton Thornburg was previously published on Coincentral.com
About the Author:
Wilton Thornburg is a software engineer, currently based in the greater Boston area.