#28. Cryptocurrencies and Blockchain
Encryption Keys in Cryptography: What Are They?
A Brief History of Cryptography: Key Periods
Experts distinguish five main stages in the history of cryptography development, which covered more than 4,000 years:
- The beginning — approximately 3,000 years B.C. During the first stage, the creation of monoalphabetic ciphers began (other specific signs replaced the symbols of the original alphabet in the texts).
- 9th century to the beginning of the 20th century. This period is connected with the creation of polyalphabetic ciphers.
- The first half of the 20th century. Electromechanical typewriters with polyalphabetic ciphers are used for encryption.
- The 1940s and 1950s. Active switch to mathematical algorithms of cryptography with secret keys.
- Modern stage — from the mid-1970s. During this period, cryptography involving public keys was introduced.
What Are Cryptographic Keys?
In cryptography, a key is secret information used by an algorithm in the encryption and decryption of texts, in putting and verifying digital signatures, or in the determination of authentication codes (MAC). The encryption result can differ, depending on the ciphers involved, even if the same algorithm is used.
Encryption provides three key security criteria:
- Confidentiality. Information is hidden from third parties.
- Integrity. Data is protected from alteration during transmission and storage.
- Identifiability. Thanks to encryption, sources and information recipients are authenticated.
A cryptograph is a specialized apparatus or software that encrypts text in accordance with certain algorithms based on cryptographic keys. The most critical parameter is the length of the cryptographic cipher, measured in bits. Nowadays, many encryption algorithms have keys of up to 1,024 bits, which are believed to be the most reliable because it may take entire years to decrypt such information using the most powerful supercomputers.
Types of Cryptographic Keys
Firstly, and most importantly, there are two primary types of cryptographic keys: symmetric and asymmetric. Symmetric keys are used in encryption algorithms for authentication codes. Their main feature is the use of one cipher for forward and reverse cryptographic conversions (encryption and decryption). In some cases, two ciphers are used, but then the reverse keys must be easily computed from the forward keys (and vice versa). This technique guarantees increased confidentiality of the transmitted text. However, there are problems with cipher sharing in ecosystems with an impressive number of users.
Asymmetric keys (including digital signatures) use a pair of ciphers:
- Private keys (PrivateKey) are ciphers that only the owner knows. PrivateKey being kept secret eliminates the risk of forgery by fraudsters of documentation or digital signature.
- Public keys (PublicKey) are ciphers published and used to confirm the authenticity of signed documentation or sent messages. A public key is most often generated using a private key.
In cryptocurrency algorithms and digital signatures, the signature is made with PrivateKey, and the verification is based on PublicKey. In encryption, the opposite is true: messages are encrypted based on public keys, while reading is done using private keys. This lets you check if specific users have actually signed (confirmed transactions, etc.). With this feature, asymmetric algorithms guarantee both data integrity and authenticity. In this case, only recipients can decrypt messages (not even senders).
The advantage of asymmetric algorithms is eliminating the problem of user ciphers distribution within the ecosystem, but the validity of the received keys suffers. This issue is solved by the formation of a specialized Public Key Infrastructure (PKI).
There are two other types of keys in cryptography:
Session keys are ciphers created between a pair of users and provide protection for communication channels. Typically, session keys are shared “secrets” — information generated from the PrivateKey of some users and the PublicKey of others. There are different protocols for creating such keys, among which the Diffie–Hellman method is considered the most common.
Subkeys are the secret data generated during the execution of cryptographic algorithms based on certain ciphers (usually, the process is based on key deployment).
Encryption Key Applications
Cryptographic encryption methods are widely used to ensure confidentiality and integrity of information, identifiability of its sources, protection against third-party reading and theft. Separate crypto keys are used to store virtual funds and confirm transactions in various cryptocurrencies. Ciphers are also routinely used to develop security certificates for personal data entered into web browsers, for encryption and protection of messages in messengers, and in many other areas of activity.