Overview
Cryptography refers to the mathematics of protecting data from being surreptitiously 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 has led to the development of asymmetric encryption, which uses one public key, freely available to anyone, to encrypt data and uses 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 a recipient to confirm that a message was not altered in transit.
KEY DEVELOPMENTS
Blockchain Blockchain technology employs cryptography to create a ledger that is secure and immutable. Each digital 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 including identity management, supply chain management, smart contracts, transactional records, and cryptocurrencies.
Secure Computation Secure computation, based on cryptography, 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 or patient data is unethical or even illegal.
Within secure computation are zero-knowledge proofs, which are cryptographic methods that allow 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 no new knowledge about the information in question, except 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. Other applications range from cooperative tracking and verification of numbers of tactical nuclear warheads to checking the provenance of digital images.