Pretty Good Cryptography
A Layman’s Guide To An Old & Disruptive Technology
This article introduces readers to the basics of Cryptography, its origins, present state and possible future. An old technology is changing the ownership of trust, by systematic disinter-mediation, from mainstream institutions to networks. An idea, that some believe, is too futuristic for the times we live in but could very well be a reality. In any case, developers — the architects of the modern world have started using Cryptography to create new currencies and tokens, upend existing ones and more importantly taking aim at redefining the world of finance and our notions of money in the process. If this isn’t a revolution, I don’t know how else to characterize it. This article is ultimately meant to explain the basic technology behind cryptocurrencies such as Bitcoin and tokens such as Ethereum. Bear in mind — as per the latest SEC ruling, tokens are securities and not currencies so Ether (token) should not be confused with Bitcoin (currency)
Every once in a while, a new technology, an old problem, and a big idea turn into an innovation — Dean Kamen, Inventor
Necessity Is the Mother of Invention
For a word having to do with secrets, "cryptography" has a surprisingly transparent etymology. The word traces back to the Greek roots kryptos, meaning "hidden," and graphein, meaning "to write." (Merriam Webster Dictionary)
If the first thing that comes to your mind when you think of Cryptography is hieroglyphics, your word association qualities are very good. Earliest form of cryptography was in the form of Hieroglyphs (inscriptions on a tomb from the Old Kingdom of Egypt circa 1900 BCE). As is understood today, hieroglyphics were more a dignified work of art than a code or cipher.
The plot thickens between 2nd century BCE and 3rd century CE when the Arthashastra, ( the science of politics) is a brilliant Indian treatise on military strategy, economics and urban planning, composed by Kautilya. The Arthashastra mentions the use of spy networks and mentions giving tasks to spies in secret code.
In 100BC , Julius Caesar was known to use a form of encryption to convey secret messages to his army generals posted in the war front. This is the most well known cipher which was known as a substitution cipher where each character of the alphabet was shifted by 3. So, A became D, B became E etc. So, the word BALL would become EDOO and so on. The “key” to solving this puzzle was obviously shifting the alphabet by 3.
Subsequently, the methods changed from first cryptanalytic techniques developed by the Arabs, progressed to polyalphabetic ciphers developed by Leon Battista Alberti (father of modern cryptology) around the year AD 1467 to the mechanical and electromechanical cipher machines which were in wide use in World War II. The most famous being the German Enigma machine which was cracked by Polish and subsequently British team of chess masters and mathematics dons such as Gordon Welchman, Max Newman, and Alan Turing (the conceptual founder of modern computing).
The Wonder Years
Do You know or remember the feeling when you fall in love for the first time in a nerdy way. I experienced that emotion when I got my hands on my first Intel Pentium IV powered PC (Personal Computer) in 1997. About 6 years ago, Phil Zimmerman created an encryption software called ‘Pretty Good Privacy’ (PGP) which was used to encrypt email, text files, disks etc.
PGP turned out to be my first brush with user friendly Cryptography. The software was very simple to use but the underlying technologies ie a serial combination of hashing, data compression, symmetric-key cryptography, and finally public-key cryptography was complex with each step using one of several supported algorithms.
Symmetric , Asymmetric Cryptography and Hashing
Symmetric cryptography uses one key e.g. Julius Caesars ‘3' key cipher was an example of symmetric Cryptography.
Understandably, symmetric Cryptography was not too secure. Enter asymmetric or public key Cryptography.The illustration below explains the concepts above in one picture:
A Brave, New World
Modern crypto currencies such as Bitcoin are based on 2 technologies:
A. Public Key Cryptography/Asymmetric Cryptography
Let’s say Alice wants to send Bob a message.
1. She signs it using her private key which proves that she originated the message.
2. Alice also uses Bob’s public key to encrypt the message.
3. To decrypt the message, Bob has to use his private key. Therefore, only Bob who owns his private key can open the message.
B. Hash Functions
Hashcash uses symmetric cryptography ie a one way key to create a hash (explained in a crude way — jumble/gobbledygook) out of the input data. Let’s say the data consists of the name Ada. Using a one way key, this data is hashed(jumbled) into 000CFC. The ooo attached ahead of the letters CFC are known in technical terms as ‘Nonce’. In the English language, a Nonce word is a word used for a one time meaning (use once, nonsense otherwise). It is useless otherwise. Example of a nonce word is ‘Wug’ which doesn’t have any meaning except for teaching children.
In case of Bitcoin, a nonce is a string of zeros placed before the input data to create a unique hash(jumble) of data. Bitcoin mining therefore is the use of brute force combinations to find the hash ‘000CFC’. The person who finds this value (using his electricity and computer) is the one who possesses the golden nonce and is rewarded with 25 bitcoins.
However, this is a very simplistic example. The data or message is usually hashed using a Merkle Tree:
In a Merkle tree, each non-leaf node, for example the second layer above is labeled with hash value of the child node (layer 1) in this example. Finally, this tree results in what is called a root hash.
This root hash is then combined with a nonce and the previous block all the way up to the first block in the chain to form a Blockchain:
Bitcoin, therefore is not a currency but rather a reward given to people who use their computers (CPU’s followed by Graphics Processing Unit (GPU) chips and now APplication Specific Integrated Circuits (ASIC) chips) to solve the Cryptographic puzzle and therefore show ‘proof of work’ done to record a transaction in the Blockchain ledger.
Very soon, we may witness quantum cryptography.
Macro Lessons for Entrepreneurs
Adopting a macro view, the application of Cryptography is the application of an old idea (now enabled by advances in machines and computing) to new problems. Although, the world may not be ready for the idea of crypto currencies just yet.
Bloomberg recently published an article titled “Quants are clamoring for data, causing soul searching at large banks”. The crux of this article was that quant hedge funds are searching for new avenues ie information sources to generate superior returns (alpha). This is because of the fact that in this age of big data, where each byte of publicly available data is quickly processed by markets i.e. The alpha is arbitraged away and it’s becoming harder to find new sources of information to generate higher returns.
Similarly, entrepreneurs maybe facing the same dilemma i.e. The market may not be ready for the product yet or in the words of Patrick Collison, CEO, Stripe , it maybe increasingly difficult to find a niche market that is under served. In such cases, it’s important to ask a few questions:
1. Is it the right time i.e. is the market ready for your product? Launching an idea before its time has come can prove detrimental.
2. Is the technology transportable to a different geography, market or client base which is ready or getting ready for the product? This would include regulation and availability of human capital. One of the most renowned economists — Dani Rodrik explains that transplanting manufacturing technologies to a different country is easy (eg Toyota manufacturing cars), agricultural technologies are hard to transplant because of differences in soil and weather and so is the case with services.
3. Is there a different application of the product that can be created by changing the features of the product or adding new features?
In the end, it takes pretty good cryptography to illuminate a larger trend — technology reengineering the real world.
Since my first PC in 1997 and consequently, my first brush with cryptography ie using Pretty Good Privacy (PGP), I am amazed by the rapidity of change.
I could not have thought that in two decades, the technology in a piece of software that was used to secure my emails could one day end up challenging the very concept of money and fiat currencies in its wake. In other words, I could not imagine a future where technology becomes finance and computer code becomes currency.
The lesson for us is that this pace of change is here to stay and observing the trends in technology is nothing short of witnessing a revolution- one that I am very sure will upend our lives and change the way we work and live. With debates around privacy of our data and AI, it is exciting and terrifying at the same time. Therefore, my request to everyone is to learn as much about technology as you can (including but not limited to taking formal classwork on data science).
Our intuition about the future is linear. But the reality of information technology is exponential, and that makes a profound difference. If I take 30 steps linearly, I get to 30. If I take 30 steps exponentially, I get to a billion-
My Intentions are not to scare you. Rather, it is quite the opposite. I am trying to simplify the jargon so that technology becomes more human, fun and understandable. I don’t know whether I am succeeding but to me, trying is half the battle won.