Cryptography is the practice of protecting data from being altered or accessed inappropriately. It is essential for most internet activity, including messaging, e-commerce, and banking. There are two main types of cryptography: symmetric and asymmetric. Symmetric cryptography requires both parties to share one secret key to encrypt and decrypt data. In practice, sharing this secret key can be difficult. This led to the development of asymmetric encryption, which uses one public key, freely available to anyone, to encrypt data and a different private key to decrypt data. Hashing is another cryptographic method that generates a unique fixed-length string of numbers for a given input. Through the combination of hashing and other techniques, cryptography also enables identity verification and allows the recipient to confirm that the message was not altered in transit.
Blockchain technology employs cryptography to create a ledger that is secure and immutable. Each block in the blockchain contains a transaction and a cryptographic hash of the previous block, forming a chain. In this way, the blockchain is immutable, since changing earlier blocks would change the hashes and be easily detected. Blockchain technology has been applied to a variety of use cases:
- Identity Management: Blockchain securely stores a person's essential documents (like tax returns and health records), allowing selective data disclosure upon request. Applications like SpruceID are emerging for identity management using blockchain.
- Supply Chain Management: Blockchain offers a transparent way to track goods, their origins, and their quantities, benefiting industries with high-value or authenticity concerns like diamonds and luxury goods.
- Smart Contracts: These are programmable self-executing contracts stored on the blockchain, eliminating the need for a third-party executor and increasing transaction efficiency.
- Transactional records: Many kinds of transactional records can be stored on a blockchain, thereby streamlining the process of buying and selling items by reducing fraud, increasing transparency, reducing paperwork, and making the process more efficient.
- Cryptocurrencies: Digital currencies like Bitcoin and Ethereum use blockchain technology to create tokens that can act as a form of currency that does not have to be regulated or controlled by any central authority.
Another significant subsection of cryptography is secure computation, which enables multiple parties to contribute inputs to a function that they jointly compute without sharing their individual inputs with each other. Secure computation is extremely useful in financial and health settings where sharing individual client/patient data is unethical or even illegal.
A zero-knowledge proof is a cryptographic method that allows one person to prove to someone else that he or she knows a specific piece of information without revealing to the other person any details about that information. The term "zero-knowledge" indicates that the receiver gains zero new knowledge about the information in question, apart from the fact that what the prover is saying is true. Zero-knowledge proofs have applications in banking, where a buyer may wish to prove to a seller the possession of sufficient funds for a transaction without revealing the exact amount of those funds. There are also applications ranging from cooperative tracking and verification of numbers of tactical nuclear warheads to provenance for digital images.