TM completed segments: 0
Other segments: 132
TM completed words: 0
Other words: 2604
Original | Translated |
---|
Original | Similar TM records |
---|---|
Introduction to Cryptography | |
Cryptography | |
Cryptography or cryptology (from Ancient Greek: “hidden, secret”; and “to write”, or “study”, respectively[1]) is the practice and study of techniques for secure communication in the presence of third parties called adversaries.[2] | |
More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages;[3] various aspects in information security such as data confidentiality, data integrity, authentication, and non-repudiation[4] are central to modern cryptography. | |
Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, electrical engineering, communication science, and physics. | |
Applications of cryptography include electronic commerce, chip-based payment cards, digital currencies, computer passwords, and military communications. | |
Cryptography prior to the modern age was effectively synonymous with encryption, the conversion of information from a readable state to apparent nonsense. | |
The originator of an encrypted message shares the decoding technique only with intended recipients to preclude access from adversaries. | |
The cryptography literature often uses the names Alice (“A”) for the sender, Bob (“B”) for the intended recipient, and Eve (“eavesdropper“) for the adversary.[5] | |
Since the development of rotor cipher machines in World War I and the advent of computers in World War II, the methods used to carry out cryptology have become increasingly complex and its application more widespread. | |
Modern cryptography is heavily based on mathematical theory and computer science practice; cryptographic algorithms are designed around computational hardness assumptions, making such algorithms hard to break in practice by any adversary. | |
It is theoretically possible to break such a system, but it is infeasible to do so by any known practical means. | |
These schemes are therefore termed computationally secure; theoretical advances, e.g., improvements in integer factorization algorithms, and faster computing technology require these solutions to be continually adapted. | |
There exist information-theoretically secure schemes that provably cannot be broken even with unlimited computing power—an example is the one-time pad—but these schemes are more difficult to use in practice than the best theoretically breakable but computationally secure mechanisms. | |
The growth of cryptographic technology has raised a number of legal issues in the information age. Cryptography’s potential for use as a tool for espionage and sedition has led many governments to classify it as a weapon and to limit or even prohibit its use and export.[6] In some jurisdictions where the use of cryptography is legal, laws permit investigators to compel the disclosure of encryption keys for documents relevant to an investigation.[7][8] Cryptography also plays a major role in digital rights management and copyright infringement of digital media.[9] | |
Terminology | |
The first use of the term cryptograph (as opposed to cryptogram) dates back to the 19th century—originating from The Gold-Bug, a novel by Edgar Allan Poe. | |
10 | |
Until modern times, cryptography referred almost exclusively to encryption, which is the process of converting ordinary information (called plaintext) into unintelligible form (called ciphertext). | |
11 | |
Decryption is the reverse, in other words, moving from the unintelligible ciphertext back to plaintext. | |
A cipher (or cypher) is a pair of algorithms that create the encryption and the reversing decryption. | |
The detailed operation of a cipher is controlled both by the algorithm and in each instance by a “key“. The key is a secret (ideally known only to the communicants), usually a short string of characters, which is needed to decrypt the ciphertext. Formally, a “cryptosystem” is the ordered list of elements of finite possible plaintexts, finite possible cyphertexts, finite possible keys, and the encryption and decryption algorithms which correspond to each key. | |
Keys are important both formally and in actual practice, as ciphers without variable keys can be trivially broken with only the knowledge of the cipher used and are therefore useless (or even counter-productive) for most purposes. | |
Historically, ciphers were often used directly for encryption or decryption without additional procedures such as authentication or integrity checks. | |
There are two kinds of cryptosystems: symmetric and asymmetric. | |
In symmetric systems the same key (the secret key) is used to encrypt and decrypt a message. | |
Data manipulation in symmetric systems is faster than asymmetric systems as they generally use shorter key lengths. | |
Asymmetric systems use a public key to encrypt a message and a private key to decrypt it. | |
Use of asymmetric systems enhances the security of communication. | |
12 | |
Examples of asymmetric systems include RSA (Rivest-Shamir-Adleman), and ECC (Elliptic Curve Cryptography). | |
Symmetric models include the commonly used AES (Advanced Encryption Standard) which replaced the older DES (Data Encryption Standard). | |
13 | |
In colloquial use, the term “code” is often used to mean any method of encryption or concealment of meaning. | |
However, in cryptography, code has a more specific meaning. | |
It means the replacement of a unit of plaintext (i.e., a meaningful word or phrase) with a code word (for example, “wallaby” replaces “attack at dawn”). | |
Cryptanalysis is the term used for the study of methods for obtaining the meaning of encrypted information without access to the key normally required to do so; i.e., it is the study of how to crack encryption algorithms or their implementations. | |
Some use the terms cryptography and cryptology interchangeably in English, while others (including US military practice generally) use cryptography to refer specifically to the use and practice of cryptographic techniques and cryptology to refer to the combined study of cryptography and cryptanalysis. | |
14 | |
15 | |
English is more flexible than several other languages in which cryptology (done by cryptologists) is always used in the second sense above. | |
RFC 2828 advises that steganography is sometimes included in cryptology. | |
16 | |
The study of characteristics of languages that have some application in cryptography or cryptology (e.g. frequency data, letter combinations, universal patterns, etc.) is called cryptolinguistics. | |
History of Cryptography | |
Before the modern era, cryptography focused on message confidentiality (i.e., encryption)—conversion of messages from a comprehensible form into an incomprehensible one and back again at the other end, rendering it unreadable by interceptors or eavesdroppers without secret knowledge (namely the key needed for decryption of that message). | |
Encryption attempted to ensure secrecy in communications, such as those of spies, military leaders, and diplomats. | |
In recent decades, the field has expanded beyond confidentiality concerns to include techniques for message integrity checking, sender/receiver identity authentication, digital signatures, interactive proofs and secure computation, among others. | |
Computer era | |
Prior to the early 20th century, cryptography was mainly concerned with linguistic and lexicographic patterns. | |
Since then the emphasis has shifted, and cryptography now makes extensive use of mathematics, including aspects of information theory, computational complexity, statistics, combinatorics, abstract algebra, number theory, and finite mathematics generally. | |
Cryptography is also a branch of engineering, but an unusual one since it deals with active, intelligent, and malevolent opposition (see cryptographic engineering and security engineering); other kinds of engineering (e.g., civil or chemical engineering) need deal only with neutral natural forces. | |
There is also active research examining the relationship between cryptographic problems and quantum physics (see quantum cryptography and quantum computer). | |
Just as the development of digital computers and electronics helped in cryptanalysis, it made possible much more complex ciphers. | |
Furthermore, computers allowed for the encryption of any kind of data representable in any binary format, unlike classical ciphers which only encrypted written language texts; this was new and significant. | |
Computer use has thus supplanted linguistic cryptography, both for cipher design and cryptanalysis. | |
Many computer ciphers can be characterized by their operation on binary bit sequences (sometimes in groups or blocks), unlike classical and mechanical schemes, which generally manipulate traditional characters (i.e., letters and digits) directly. | |
However, computers have also assisted cryptanalysis, which has compensated to some extent for increased cipher complexity. | |
Nonetheless, good modern ciphers have stayed ahead of cryptanalysis; it is typically the case that use of a quality cipher is very efficient (i.e., fast and requiring few resources, such as memory or CPU capability), while breaking it requires an effort many orders of magnitude larger, and vastly larger than that required for any classical cipher, making cryptanalysis so inefficient and impractical as to be effectively impossible. | |
Advent of modern cryptography | |
Cryptanalysis of the new mechanical devices proved to be both difficult and laborious. | |
In the United Kingdom, cryptanalytic efforts at Bletchley Park during WWII spurred the development of more efficient means for carrying out repetitious tasks. | |
This culminated in the development of the Colossus, the world’s first fully electronic, digital, programmable computer, which assisted in the decryption of ciphers generated by the German Army’s Lorenz SZ40/42 machine. | |
Extensive open academic research into cryptography is relatively recent; it began only in the mid-1970’s. | |
In recent times, IBM personnel designed the algorithm that became the Federal (i.e., US) Data Encryption Standard; Whitfield Diffie and Martin Hellman published their key agreement algorithm; |
|
30 | |
Following their work in 1976, it became popular to consider cryptography systems based on mathematical problems that are easy to state but have been found difficult to solve. | |
31 | |
Since then, cryptography has become a widely used tool in communications, computer networks, and computer security generally. | |
Some modern cryptographic techniques can only keep their keys secret if certain mathematical problems are intractable, such as the integer factorization or the discrete logarithm problems, so there are deep connections with abstract mathematics. | |
There are very few cryptosystems that are proven to be unconditionally secure. | |
The one-time pad is one, and was proven to be so by Claude Shannon. | |
There are a few important algorithms that have been proven secure under certain assumptions. | |
For example, the infeasibility of factoring extremely large integers is the basis for believing that RSA is secure, and some other systems, but even so proof of unbreakability is unavailable since the underlying mathematical problem remains open. | |
In practice, these are widely used, and are believed unbreakable in practice by most competent observers. | |
There are systems similar to RSA, such as one by Michael O. Rabin that are provably secure provided factoring n = pq is impossible; it is quite unusable in practice. | |
The discrete logarithm problem is the basis for believing some other cryptosystems are secure, and again, there are related, less practical systems that are provably secure relative to the solvability or insolvability discrete log problem. | |
32 | |
As well as being aware of cryptographic history, cryptographic algorithm and system designers must also sensibly consider probable future developments while working on their designs. | |
For instance, continuous improvements in computer processing power have increased the scope of brute-force attacks, so when specifying key lengths, the required key lengths are similarly advancing. | |
33 | |
The potential effects of quantum computing are already being considered by some cryptographic system designers developing post-quantum cryptography; the announced imminence of small implementations of these machines may be making the need for preemptive caution rather more than merely speculative.[4] | |
Symmetric-key cryptography | |
Main article: Symmetric-key algorithm | |
diagram showing encrypt with a key and decrypt process | |
Symmetric-key cryptography, where a single key is used for encryption and decryption | |
Symmetric-key cryptography refers to encryption methods in which both the sender and receiver share the same key (or, less commonly, in which their keys are different, but related in an easily computable way). | |
This was the only kind of encryption publicly known until June 1976. | |
30 | |
logic diagram showing International Data Encryption Algorithm cypher process | |
One round (out of 8.5) of the IDEA cipher, used in most versions of PGP and OpenPGP compatible software for time-efficient encryption of messages | |
Symmetric key ciphers are implemented as either block ciphers or stream ciphers. | |
A block cipher enciphers input in blocks of plaintext as opposed to individual characters, the input form used by a stream cipher. | |
The Data Encryption Standard (DES) and the Advanced Encryption Standard (AES) are block cipher designs that have been designated cryptography standards by the US government (though DES’s designation was finally withdrawn after the AES was adopted). | |
34 | |
Despite its deprecation as an official standard, DES (especially its still-approved and much more secure triple-DES variant) remains quite popular; it is used across a wide range of applications, from ATM encryption | |
35 | |
to e-mail privacy | |
36 | |
and secure remote access. | |
37 | |
Many other block ciphers have been designed and released, with considerable variation in quality. Many, even some designed by capable practitioners, have been thoroughly broken, such as FEAL.[4] | |
38 | |
Stream ciphers, in contrast to the ‘block’ type, create an arbitrarily long stream of key material, which is combined with the plaintext bit-by-bit or character-by-character, somewhat like the one-time pad. | |
In a stream cipher, the output stream is created based on a hidden internal state that changes as the cipher operates. | |
That internal state is initially set up using the secret key material. | |
RC4 is a widely used stream cipher; see Category:Stream ciphers.[4] | |
Block ciphers can be used as stream ciphers; see Block cipher modes of operation. | |
Cryptographic hash functions are a third type of cryptographic algorithm. | |
They take a message of any length as input, and output a short, fixed length hash, which can be used in (for example) a digital signature. | |
For good hash functions, an attacker cannot find two messages that produce the same hash. | |
MD4 is a long-used hash function that is now broken; MD5, a strengthened variant of MD4, is also widely used but broken in practice. | |
The US National Security Agency developed the Secure Hash Algorithm series of MD5-like hash functions: SHA-0 was a flawed algorithm that the agency withdrew; SHA-1 is widely deployed and more secure than MD5, but cryptanalysts have identified attacks against it; the SHA-2 family improves on SHA-1, but is vulnerable to clashes as of 2011; and the US standards authority thought it “prudent” from a security perspective to develop a new standard to “significantly improve the robustness of NIST‘s overall hash algorithm toolkit.” | |
39 | |
Thus, a hash function design competition was meant to select a new U.S. national standard, to be called SHA-3, by 2012. | |
The competition ended on October 2, 2012 when the NIST announced that Keccak would be the new SHA-3 hash algorithm. | |
40 | |
Unlike block and stream ciphers that are invertible, cryptographic hash functions produce a hashed output that cannot be used to retrieve the original input data. | |
Cryptographic hash functions are used to verify the authenticity of data retrieved from an untrusted source or to add a layer of security. | |
Message authentication codes (MACs) are much like cryptographic hash functions, except that a secret key can be used to authenticate the hash value upon receipt;[4] this additional complication blocks an attack scheme against bare digest algorithms, and so has been thought worth the effort. | |
Modern cryptography | |
The modern field of cryptography can be divided into several areas of study. | |
The chief ones are discussed here; see Topics in Cryptography for more. | |
Public-key cryptography | |
diagram of Public-key cryptography showing public key and private key | |
Public-key cryptography, where different keys are used for encryption and decryption. | |
Symmetric-key cryptosystems use the same key for encryption and decryption of a message, although a message or group of messages can have a different key than others. | |
A significant disadvantage of symmetric ciphers is the key management necessary to use them securely. | |
Each distinct pair of communicating parties must, ideally, share a different key, and perhaps for each ciphertext exchanged as well. | |
The number of keys required increases as the square of the number of network members, which very quickly requires complex key management schemes to keep them all consistent and secret. | |
headshots of Whitfield Diffie and Martin Hellman |