FOR NEARLY AS LONG AS HUMANS HAVE BEEN SENDING MESSAGES, THEY'VE BEEN CREATING WAYS TO DO SO IN SECRET
From primitive military cyphers, to modern day cryptocurrency, this Crypt Keeper section shall chronicle mysterious methods for securing data.
DEFINITIONS
CRYPTOGRAPHY- the act of encrypting and decrypting data; encoding and decoding. CYPHER- algorithm (defined steps) used for encrypting and decrypting. STEGANOGRAPHY- creative ways of concealing a plaintext message.
HISTORY
1500ish BCE- Sumerian potter uses cuneiform style symbols to encode his special formula for making pottery glaze. 400ish BCE- Greek secret agent hides enemy plans, written on leaves stored in a servant's healing poultice. Other messages were hidden in entrails of freshly killed animals, and sent with messengers posing as hunters. Another Greek hid a message tattooed on his slave's head. Scytale style cyphers were also used around this time, which involved writing a message on a long strip of paper or belt, that deciphered a secret message once wrapped around a designated tube or staff. 200ish BCE- Polybius checkerboards came into fashion as a substitution cypher, where a plaintext letter is completely replaced by a different letter that corresponds to a defined position on the board. Substitution cyphers were later used by Persians, that involved replacing letters with names of birds, or astrological symbols. 100 BCE- Messages composed in foreign languages and ideograms can also be an effective way to conceal a secret. Julius Caesar used the Greek alphabet to obfuscate communication with his Roman army. Enemies from Gaul (now France) where not able to understand the messages written in Greek characters. Caesar also made use of a substitution cypher. 1ish BCE- This is around the time that it became popular to secure love notes, and other secret correspondence, with "ink" (milk, flax, certain types of plant sap) that was nearly invisible until you added another component to darken the letters. 300ish BCE- Chinese women communicated opressive sorrows to each other in a secret language they created called Nushu. These messages also came with a "burn after reading" expectation. 400 BCE- One of the 64 disciplines in the Indian Kama Sutra was cryptography; using substitution cyphers to encrypt the original sext messages. ...More cool history to get built out as I learn it.
MODERN EXAMPLES
Blockchain Cryptography
Simply explaining the way wallets, public keys, private keys, and encryption works in the context of blockchain.
Simple explanation of how cryptographic hashing algorithms build out and help secure a blockchain.
Zero-Knowledge Proofs-
From scaling a blockchain, to nuclear disarmament, zero knowledge proofs have an impressive range of use cases. In essence, the process involves revealing that you know something, without revealing what that something is. This can allow a user to prove something (amount of funds, if a vote was cast, correct nonce for a hashing target, if a country has a nuclear missile, etc.) without revealing sensitive data about the info. For example, we can verify that you voted, without knowing what your vote was.
The three main properties of Zero Knowledge Proofs are: 1) Correctness- works best if both parties are honest. 2) Soundness- proof should be setup to where if you don't actually know the secret, then you cannot prove the statement. 3) Zero Knowledge- the other party learns nothing more than the statement you wanted to prove.
These proofs can contribute to more privacy and anonymization, without sacrificing functionality. The catch is that- although you can setup a proof to provide near certainty, you will not be 100% certain, the same way you would if you could verify the secret itself. Also, be careful when setting up a proof that you don't give away too much info in the process that can be used triangulate what the secret actually is.
If you want to know more, here's a helpful video-
zk-SNARKS-
zk-SNARKS are a derivative of zero knowledge proofs, being used to help scale and anonymize blockchains. The acronym stands for "zero knowledge- succinct noninteractive argument of knowledge". Like with zero knowledge proofs, it helps establish trust for doing business on the blockchain, without giving away sensitive data.