Hubbry Logo
CryptographyCryptographyMain
Open search
Cryptography
Community hub
Cryptography
logo
8 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Cryptography
Cryptography
from Wikipedia

Lorenz cipher machine with twelve rotors mechanism
Lorenz cipher machine, used in World War II to encrypt communications of the German High Command

Cryptography, or cryptology (from Ancient Greek: κρυπτός, romanizedkryptós "hidden, secret"; and γράφειν graphein, "to write", or -λογία -logia, "study", respectively[1]), is the practice and study of techniques for secure communication in the presence of adversarial behavior.[2] More generally, cryptography is about constructing and analyzing protocols that prevent third parties or the public from reading private messages.[3] Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, information security, electrical engineering, digital signal processing, physics, and others.[4] Core concepts related to information security (data confidentiality, data integrity, authentication and non-repudiation) are also central to cryptography.[5] Practical 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, converting readable information (plaintext) to unintelligible nonsense text (ciphertext), which can only be read by reversing the process (decryption). The sender of an encrypted (coded) message shares the decryption (decoding) technique only with the intended recipients to preclude access from adversaries. The cryptography literature often uses the names "Alice" (or "A") for the sender, "Bob" (or "B") for the intended recipient, and "Eve" (or "E") for the eavesdropping adversary.[6] Since the development of rotor cipher machines in World War I and the advent of computers in World War II, cryptography methods have become increasingly complex and their applications more varied.

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 actual practice by any adversary. While it is theoretically possible to break into a well-designed system, it is infeasible in actual practice to do so. Such schemes, if well designed, are therefore termed "computationally secure". Theoretical advances (e.g., improvements in integer factorization algorithms) and faster computing technology require these designs to be continually reevaluated and, if necessary, adapted. Information-theoretically secure schemes that provably cannot be broken even with unlimited computing power, such as the one-time pad, are much more difficult to use in practice than the best theoretically breakable but computationally secure schemes.

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.[7] 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.[8][9] Cryptography also plays a major role in digital rights management and copyright infringement disputes with regard to digital media.[10]

Terminology

[edit]
diagram showing shift three alphabetic cypher D becomes A and E becomes B
Alphabet shift ciphers are believed to have been used by Julius Caesar over 2,000 years ago.[6] This is an example with k = 3. In other words, the letters in the alphabet are shifted three in one direction to encrypt and three in the other direction to decrypt.

The first use of the term "cryptograph" (as opposed to "cryptogram") dates back to the 19th century – originating from "The Gold-Bug", a story by Edgar Allan Poe.[11][12]

Until modern times, cryptography referred almost exclusively to "encryption", which is the process of converting ordinary information (called plaintext) into an unintelligible form (called ciphertext).[13] 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 carry out 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 string of characters (ideally short so it can be remembered by the user), which is needed to decrypt the ciphertext. In formal mathematical terms, a "cryptosystem" is the ordered list of elements of finite possible plaintexts, finite possible cyphertexts, finite possible keys, and the encryption and decryption algorithms that 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 main types of cryptosystems: symmetric and asymmetric. In symmetric systems, the only ones known until the 1970s, the same secret key encrypts and decrypts a message. Data manipulation in symmetric systems is significantly faster than in asymmetric systems. Asymmetric systems use a "public key" to encrypt a message and a related "private key" to decrypt it. The advantage of asymmetric systems is that the public key can be freely published, allowing parties to establish secure communication without having a shared secret key. In practice, asymmetric systems are used to first exchange a secret key, and then secure communication proceeds via a more efficient symmetric system using that key.[14] Examples of asymmetric systems include Diffie–Hellman key exchange, RSA (Rivest–Shamir–Adleman), ECC (Elliptic Curve Cryptography), and Post-quantum cryptography. Secure symmetric algorithms include the commonly used AES (Advanced Encryption Standard) which replaced the older DES (Data Encryption Standard).[15] Insecure symmetric algorithms include children's language tangling schemes such as Pig Latin or other cant, and all historical cryptographic schemes, however seriously intended, prior to the invention of the one-time pad early in the 20th century.

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: 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"). A cypher, in contrast, is a scheme for changing or substituting an element below such a level (a letter, a syllable, or a pair of letters, etc.) to produce a cyphertext.

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,[16] 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.[17][18] 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.[19]

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. Cryptolingusitics is especially used in military intelligence applications for deciphering foreign communications.[20][21]

History

[edit]

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 communication, 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.

Classic cryptography

[edit]
Skytala stick with strip of paper wound around in spiral
Reconstructed ancient Greek scytale, an early cipher device

The main classical cipher types are transposition ciphers, which rearrange the order of letters in a message (e.g., 'hello world' becomes 'ehlol owrdl' in a trivially simple rearrangement scheme), and substitution ciphers, which systematically replace letters or groups of letters with other letters or groups of letters (e.g., 'fly at once' becomes 'gmz bu podf' by replacing each letter with the one following it in the Latin alphabet).[22] Simple versions of either have never offered much confidentiality from enterprising opponents. An early substitution cipher was the Caesar cipher, in which each letter in the plaintext was replaced by a letter three positions further down the alphabet.[23] Suetonius reports that Julius Caesar used it with a shift of three to communicate with his generals. Atbash is an example of an early Hebrew cipher. The earliest known use of cryptography is some carved ciphertext on stone in Egypt (c. 1900 BCE), but this may have been done for the amusement of literate observers rather than as a way of concealing information.

The Greeks of Classical times are said to have known of ciphers (e.g., the scytale transposition cipher claimed to have been used by the Spartan military).[24] Steganography (i.e., hiding even the existence of a message so as to keep it confidential) was also first developed in ancient times. An early example, from Herodotus, was a message tattooed on a slave's shaved head and concealed under the regrown hair.[13] Other steganography methods involve 'hiding in plain sight,' such as using a music cipher to disguise an encrypted message within a regular piece of sheet music. More modern examples of steganography include the use of invisible ink, microdots, and digital watermarks to conceal information.

In India, the 2000-year-old Kama Sutra of Vātsyāyana speaks of two different kinds of ciphers called Kautiliyam and Mulavediya. In the Kautiliyam, the cipher letter substitutions are based on phonetic relations, such as vowels becoming consonants. In the Mulavediya, the cipher alphabet consists of pairing letters and using the reciprocal ones.[13]

In Sassanid Persia, there were two secret scripts, according to the Muslim author Ibn al-Nadim: the šāh-dabīrīya (literally "King's script") which was used for official correspondence, and the rāz-saharīya which was used to communicate secret messages with other countries.[25]

David Kahn notes in The Codebreakers that modern cryptology originated among the Arabs, the first people to systematically document cryptanalytic methods.[26] Al-Khalil (717–786) wrote the Book of Cryptographic Messages, which contains the first use of permutations and combinations to list all possible Arabic words with and without vowels.[27]

Arabic text of a book by Al-Kindi
First page of a book by Al-Kindi which discusses encryption of messages

Ciphertexts produced by a classical cipher (and some modern ciphers) will reveal statistical information about the plaintext, and that information can often be used to break the cipher. After the discovery of frequency analysis, nearly all such ciphers could be broken by an informed attacker.[28] Such classical ciphers still enjoy popularity today, though mostly as puzzles (see cryptogram). The Arab mathematician and polymath Al-Kindi wrote a book on cryptography entitled Risalah fi Istikhraj al-Mu'amma (Manuscript for the Deciphering Cryptographic Messages), which described the first known use of frequency analysis cryptanalysis techniques.[29][30]

book sized metal machine with large dial left page and nineteen small dials right page
16th-century book-shaped French cipher machine, with arms of Henri II of France
manuscript from Gabriel de Luetz d'Aramon in bound volume
Enciphered letter from Gabriel de Luetz d'Aramon, French Ambassador to the Ottoman Empire, after 1546, with partial decipherment

Language letter frequencies may offer little help for some extended historical encryption techniques such as homophonic cipher that tend to flatten the frequency distribution. For those ciphers, language letter group (or n-gram) frequencies may provide an attack.

Essentially all ciphers remained vulnerable to cryptanalysis using the frequency analysis technique until the development of the polyalphabetic cipher, most clearly by Leon Battista Alberti around the year 1467, though there is some indication that it was already known to Al-Kindi.[30] Alberti's innovation was to use different ciphers (i.e., substitution alphabets) for various parts of a message (perhaps for each successive plaintext letter at the limit). He also invented what was probably the first automatic cipher device, a wheel that implemented a partial realization of his invention. In the Vigenère cipher, a polyalphabetic cipher, encryption uses a key word, which controls letter substitution depending on which letter of the key word is used. In the mid-19th century Charles Babbage showed that the Vigenère cipher was vulnerable to Kasiski examination, but this was first published about ten years later by Friedrich Kasiski.[31]

Although frequency analysis can be a powerful and general technique against many ciphers, encryption has still often been effective in practice, as many a would-be cryptanalyst was unaware of the technique. Breaking a message without using frequency analysis essentially required knowledge of the cipher used and perhaps of the key involved, thus making espionage, bribery, burglary, defection, etc., more attractive approaches to the cryptanalytically uninformed. It was finally explicitly recognized in the 19th century that secrecy of a cipher's algorithm is not a sensible nor practical safeguard of message security; in fact, it was further realized that any adequate cryptographic scheme (including ciphers) should remain secure even if the adversary fully understands the cipher algorithm itself. Security of the key used should alone be sufficient for a good cipher to maintain confidentiality under an attack. This fundamental principle was first explicitly stated in 1883 by Auguste Kerckhoffs and is generally called Kerckhoffs's Principle; alternatively and more bluntly, it was restated by Claude Shannon, the inventor of information theory and the fundamentals of theoretical cryptography, as Shannon's Maxim—'the enemy knows the system'.

Different physical devices and aids have been used to assist with ciphers. One of the earliest may have been the scytale of ancient Greece, a rod supposedly used by the Spartans as an aid for a transposition cipher. In medieval times, other aids were invented such as the cipher grille, which was also used for a kind of steganography. With the invention of polyalphabetic ciphers came more sophisticated aids such as Alberti's own cipher disk, Johannes Trithemius' tabula recta scheme, and Thomas Jefferson's wheel cypher (not publicly known, and reinvented independently by Bazeries around 1900). Many mechanical encryption/decryption devices were invented early in the 20th century, and several patented, among them rotor machines—famously including the Enigma machine used by the German government and military from the late 1920s and during World War II.[32] The ciphers implemented by better quality examples of these machine designs brought about a substantial increase in cryptanalytic difficulty after WWI.[33]

Early computer-era cryptography

[edit]

Cryptanalysis of the new mechanical ciphering 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 repetitive tasks, such as military code breaking (decryption). 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, beginning in the mid-1970s. In the early 1970s IBM personnel designed the Data Encryption Standard (DES) algorithm that became the first federal government cryptography standard in the United States.[34] In 1976 Whitfield Diffie and Martin Hellman published the Diffie–Hellman key exchange algorithm.[35] In 1977 the RSA algorithm was published in Martin Gardner's Scientific American column.[36] 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.[37]

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.[38] The potential impact of quantum computing are already being considered by some cryptographic system designers developing post-quantum cryptography.[when?] The announced imminence of small implementations of these machines may be making the need for preemptive caution rather more than merely speculative.[5]

Modern cryptography

[edit]

Claude Shannon's two papers, his 1948 paper on information theory, and especially his 1949 paper on cryptography, laid the foundations of modern cryptography and provided a mathematical basis for future cryptography.[39][40] His 1949 paper has been noted as having provided a "solid theoretical basis for cryptography and for cryptanalysis",[41] and as having turned cryptography from an "art to a science".[42] As a result of his contributions and work, he has been described as the "founding father of modern cryptography".[43]

Prior to the early 20th century, cryptography was mainly concerned with linguistic and lexicographic patterns. Since then cryptography has broadened in scope, and now makes extensive use of mathematical subdisciplines, including information theory, computational complexity, statistics, combinatorics, abstract algebra, number theory, and finite mathematics.[44] Cryptography is also a branch of engineering, but an unusual one since it deals with active, intelligent, and malevolent opposition; 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.

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.

Research into post-quantum cryptography (PQC) has intensified because practical quantum computers would break widely deployed public-key systems such as RSA, Diffie–Hellman and ECC. A 2017 review in Nature surveys the leading PQC families—lattice-based, code-based, multivariate-quadratic and hash-based schemes—and stresses that standardisation and deployment should proceed well before large-scale quantum machines become available.[45]

Symmetric-key cryptography

[edit]
Diagram showing an encrypt and decrypt process with a key
Symmetric-key cryptography, where a single key is used for both 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.[35]

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).[46] 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[47] to e-mail privacy[48] and secure remote access.[49] 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.[5][50]

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.[5] Block ciphers can be used as stream ciphers by generating blocks of a keystream (in place of a Pseudorandom number generator) and applying an XOR operation to each bit of the plaintext with each bit of the keystream.[51]

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;[5][45] this additional complication blocks an attack scheme against bare digest algorithms, and so has been thought worth the effort. 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."[52] 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.[53] 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.

Public-key cryptography

[edit]
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
Whitfield Diffie and Martin Hellman, authors of the first published paper on public-key cryptography

In a groundbreaking 1976 paper, Whitfield Diffie and Martin Hellman proposed the notion of public-key (also, more generally, called asymmetric key) cryptography in which two different but mathematically related keys are used—a public key and a private key.[54] A public key system is so constructed that calculation of one key (the 'private key') is computationally infeasible from the other (the 'public key'), even though they are necessarily related. Instead, both keys are generated secretly, as an interrelated pair.[55] The historian David Kahn described public-key cryptography as "the most revolutionary new concept in the field since polyalphabetic substitution emerged in the Renaissance".[56]

In public-key cryptosystems, the public key may be freely distributed, while its paired private key must remain secret. In a public-key encryption system, the public key is used for encryption, while the private or secret key is used for decryption. While Diffie and Hellman could not find such a system, they showed that public-key cryptography was indeed possible by presenting the Diffie–Hellman key exchange protocol, a solution that is now widely used in secure communications to allow two parties to secretly agree on a shared encryption key.[35] The X.509 standard defines the most commonly used format for public key certificates.[57]

Diffie and Hellman's publication sparked widespread academic efforts in finding a practical public-key encryption system. This race was finally won in 1978 by Ronald Rivest, Adi Shamir, and Len Adleman, whose solution has since become known as the RSA algorithm.[58]

The Diffie–Hellman and RSA algorithms, in addition to being the first publicly known examples of high-quality public-key algorithms, have been among the most widely used. Other asymmetric-key algorithms include the Cramer–Shoup cryptosystem, ElGamal encryption, and various elliptic curve techniques.

A document published in 1997 by the Government Communications Headquarters (GCHQ), a British intelligence organization, revealed that cryptographers at GCHQ had anticipated several academic developments.[59] Reportedly, around 1970, James H. Ellis had conceived the principles of asymmetric key cryptography. In 1973, Clifford Cocks invented a solution that was very similar in design rationale to RSA.[59][60] In 1974, Malcolm J. Williamson is claimed to have developed the Diffie–Hellman key exchange.[61]

In this example the message is only signed and not encrypted. 1) Alice signs a message with her private key. 2) Bob can verify that Alice sent the message and that the message has not been modified.

Public-key cryptography is also used for implementing digital signature schemes. A digital signature is reminiscent of an ordinary signature; they both have the characteristic of being easy for a user to produce, but difficult for anyone else to forge. Digital signatures can also be permanently tied to the content of the message being signed; they cannot then be 'moved' from one document to another, for any attempt will be detectable. In digital signature schemes, there are two algorithms: one for signing, in which a secret key is used to process the message (or a hash of the message, or both), and one for verification, in which the matching public key is used with the message to check the validity of the signature. RSA and DSA are two of the most popular digital signature schemes. Digital signatures are central to the operation of public key infrastructures and many network security schemes (e.g., SSL/TLS, many VPNs, etc.).[50]

Public-key algorithms are most often based on the computational complexity of "hard" problems, often from number theory. For example, the hardness of RSA is related to the integer factorization problem, while Diffie–Hellman and DSA are related to the discrete logarithm problem. The security of elliptic curve cryptography is based on number theoretic problems involving elliptic curves. Because of the difficulty of the underlying problems, most public-key algorithms involve operations such as modular multiplication and exponentiation, which are much more computationally expensive than the techniques used in most block ciphers, especially with typical key sizes. As a result, public-key cryptosystems are commonly hybrid cryptosystems, in which a fast high-quality symmetric-key encryption algorithm is used for the message itself, while the relevant symmetric key is sent with the message, but encrypted using a public-key algorithm. Similarly, hybrid signature schemes are often used, in which a cryptographic hash function is computed, and only the resulting hash is digitally signed.[5]

Cryptographic hash functions

[edit]

Cryptographic hash functions are functions that take a variable-length input and return a fixed-length output, which can be used in, for example, a digital signature. For a hash function to be secure, it must be difficult to compute two inputs that hash to the same value (collision resistance) and to compute an input that hashes to a given output (preimage resistance). 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."[52] 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.[53] 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.

Cryptanalysis

[edit]
Enigma machine typewriter keypad over many rotors in a wood box
Variants of the Enigma machine, used by Germany's military and civil authorities from the late 1920s through World War II, implemented a complex electro-mechanical polyalphabetic cipher. Breaking and reading of the Enigma cipher at Poland's Cipher Bureau, for 7 years before the war, and subsequent decryption at Bletchley Park, was important to Allied victory.[13]

The goal of cryptanalysis is to find some weakness or insecurity in a cryptographic scheme, thus permitting its subversion or evasion.

It is a common misconception that every encryption method can be broken. In connection with his WWII work at Bell Labs, Claude Shannon proved that the one-time pad cipher is unbreakable, provided the key material is truly random, never reused, kept secret from all possible attackers, and of equal or greater length than the message.[62] Most ciphers, apart from the one-time pad, can be broken with enough computational effort by brute force attack, but the amount of effort needed may be exponentially dependent on the key size, as compared to the effort needed to make use of the cipher. In such cases, effective security could be achieved if it is proven that the effort required (i.e., "work factor", in Shannon's terms) is beyond the ability of any adversary. This means it must be shown that no efficient method (as opposed to the time-consuming brute force method) can be found to break the cipher. Since no such proof has been found to date, the one-time-pad remains the only theoretically unbreakable cipher. Although well-implemented one-time-pad encryption cannot be broken, traffic analysis is still possible.

There are a wide variety of cryptanalytic attacks, and they can be classified in any of several ways. A common distinction turns on what Eve (an attacker) knows and what capabilities are available. In a ciphertext-only attack, Eve has access only to the ciphertext (good modern cryptosystems are usually effectively immune to ciphertext-only attacks). In a known-plaintext attack, Eve has access to a ciphertext and its corresponding plaintext (or to many such pairs). In a chosen-plaintext attack, Eve may choose a plaintext and learn its corresponding ciphertext (perhaps many times); an example is gardening, used by the British during WWII. In a chosen-ciphertext attack, Eve may be able to choose ciphertexts and learn their corresponding plaintexts.[5] Finally in a man-in-the-middle attack Eve gets in between Alice (the sender) and Bob (the recipient), accesses and modifies the traffic and then forward it to the recipient.[63] Also important, often overwhelmingly so, are mistakes (generally in the design or use of one of the protocols involved).

Cryptanalysis of symmetric-key ciphers typically involves looking for attacks against the block ciphers or stream ciphers that are more efficient than any attack that could be against a perfect cipher. For example, a simple brute force attack against DES requires one known plaintext and 255 decryptions, trying approximately half of the possible keys, to reach a point at which chances are better than even that the key sought will have been found. But this may not be enough assurance; a linear cryptanalysis attack against DES requires 243 known plaintexts (with their corresponding ciphertexts) and approximately 243 DES operations.[64] This is a considerable improvement over brute force attacks.

Public-key algorithms are based on the computational difficulty of various problems. The most famous of these are the difficulty of integer factorization of semiprimes and the difficulty of calculating discrete logarithms, both of which are not yet proven to be solvable in polynomial time (P) using only a classical Turing-complete computer. Much public-key cryptanalysis concerns designing algorithms in P that can solve these problems, or using other technologies, such as quantum computers. For instance, the best-known algorithms for solving the elliptic curve-based version of discrete logarithm are much more time-consuming than the best-known algorithms for factoring, at least for problems of more or less equivalent size. Thus, to achieve an equivalent strength of encryption, techniques that depend upon the difficulty of factoring large composite numbers, such as the RSA cryptosystem, require larger keys than elliptic curve techniques. For this reason, public-key cryptosystems based on elliptic curves have become popular since their invention in the mid-1990s.

While pure cryptanalysis uses weaknesses in the algorithms themselves, other attacks on cryptosystems are based on actual use of the algorithms in real devices, and are called side-channel attacks. If a cryptanalyst has access to, for example, the amount of time the device took to encrypt a number of plaintexts or report an error in a password or PIN character, they may be able to use a timing attack to break a cipher that is otherwise resistant to analysis. An attacker might also study the pattern and length of messages to derive valuable information; this is known as traffic analysis[65] and can be quite useful to an alert adversary. Poor administration of a cryptosystem, such as permitting too short keys, will make any system vulnerable, regardless of other virtues. Social engineering and other attacks against humans (e.g., bribery, extortion, blackmail, espionage, rubber-hose cryptanalysis or torture) are usually employed due to being more cost-effective and feasible to perform in a reasonable amount of time compared to pure cryptanalysis by a high margin.

Cryptographic primitives

[edit]

Much of the theoretical work in cryptography concerns cryptographic primitives—algorithms with basic cryptographic properties—and their relationship to other cryptographic problems. More complicated cryptographic tools are then built from these basic primitives. These primitives provide fundamental properties, which are used to develop more complex tools called cryptosystems or cryptographic protocols, which guarantee one or more high-level security properties. Note, however, that the distinction between cryptographic primitives and cryptosystems, is quite arbitrary; for example, the RSA algorithm is sometimes considered a cryptosystem, and sometimes a primitive. Typical examples of cryptographic primitives include pseudorandom functions, one-way functions, etc.

Cryptosystems

[edit]

One or more cryptographic primitives are often used to develop a more complex algorithm, called a cryptographic system, or cryptosystem. Cryptosystems (e.g., El-Gamal encryption) are designed to provide particular functionality (e.g., public key encryption) while guaranteeing certain security properties (e.g., chosen-plaintext attack (CPA) security in the random oracle model). Cryptosystems use the properties of the underlying cryptographic primitives to support the system's security properties. As the distinction between primitives and cryptosystems is somewhat arbitrary, a sophisticated cryptosystem can be derived from a combination of several more primitive cryptosystems. In many cases, the cryptosystem's structure involves back and forth communication among two or more parties in space (e.g., between the sender of a secure message and its receiver) or across time (e.g., cryptographically protected backup data). Such cryptosystems are sometimes called cryptographic protocols.

Some widely known cryptosystems include RSA, Schnorr signature, ElGamal encryption, and Pretty Good Privacy (PGP). More complex cryptosystems include electronic cash[66] systems, signcryption systems, etc. Some more 'theoretical'[clarification needed] cryptosystems include interactive proof systems,[67] (like zero-knowledge proofs)[68] and systems for secret sharing.[69][70]

Lightweight cryptography

[edit]

Lightweight cryptography (LWC) concerns cryptographic algorithms developed for a strictly constrained environment. The growth of Internet of Things (IoT) has spiked research into the development of lightweight algorithms that are better suited for the environment. An IoT environment requires strict constraints on power consumption, processing power, and security.[71] Algorithms such as PRESENT, AES, and SPECK are examples of the many LWC algorithms that have been developed to achieve the standard set by the National Institute of Standards and Technology.[72]

Applications

[edit]

Cryptography is widely used on the internet to help protect user-data and prevent eavesdropping. To ensure secrecy during transmission, many systems use private key cryptography to protect transmitted information. With public-key systems, one can maintain secrecy without a master key or a large number of keys.[73] But, some algorithms like BitLocker and VeraCrypt are generally not private-public key cryptography. For example, Veracrypt uses a password hash to generate the single private key. However, it can be configured to run in public-private key systems. The C++ opensource encryption library OpenSSL provides free and opensource encryption software and tools. The most commonly used encryption cipher suit is AES,[74] as it has hardware acceleration for all x86 based processors that has AES-NI. A close contender is ChaCha20-Poly1305, which is a stream cipher, however it is commonly used for mobile devices as they are ARM based which does not feature AES-NI instruction set extension.

Cybersecurity

[edit]

Cryptography can be used to secure communications by encrypting them. Websites use encryption via HTTPS.[75] "End-to-end" encryption, where only sender and receiver can read messages, is implemented for email in Pretty Good Privacy and for secure messaging in general in WhatsApp, Signal and Telegram.[75]

Operating systems use encryption to keep passwords secret, conceal parts of the system, and ensure that software updates are truly from the system maker.[75] Instead of storing plaintext passwords, computer systems store hashes thereof; then, when a user logs in, the system passes the given password through a cryptographic hash function and compares it to the hashed value on file. In this manner, neither the system nor an attacker has at any point access to the password in plaintext.[75]

Encryption is sometimes used to encrypt one's entire drive. For example, University College London has implemented BitLocker (a program by Microsoft) to render drive data opaque without users logging in.[75]

Cryptocurrencies and cryptoeconomics

[edit]

Cryptographic techniques enable cryptocurrency technologies, such as distributed ledger technologies (e.g., blockchains), which finance cryptoeconomics applications such as decentralized finance (DeFi). Key cryptographic techniques that enable cryptocurrencies and cryptoeconomics include, but are not limited to: cryptographic keys, cryptographic hash function, asymmetric (public key) encryption, Multi-Factor Authentication (MFA), End-to-End Encryption (E2EE), and Zero Knowledge Proofs (ZKP).

Quantum computing cybersecurity

[edit]

Estimates suggest that a quantum computer could reduce the effort required to break today’s strongest RSA or elliptic-curve keys from millennia to mere seconds, rendering current protocols (such as the versions of TLS that rely on those keys) insecure.[76]

To mitigate this “quantum threat”, researchers are developing quantum-resistant algorithms whose security rests on problems believed to remain hard for both classical and quantum computers.[77]

[edit]

Prohibitions

[edit]

Cryptography has long been of interest to intelligence gathering and law enforcement agencies.[9] Secret communications may be criminal or even treasonous.[citation needed] Because of its facilitation of privacy, and the diminution of privacy attendant on its prohibition, cryptography is also of considerable interest to civil rights supporters. Accordingly, there has been a history of controversial legal issues surrounding cryptography, especially since the advent of inexpensive computers has made widespread access to high-quality cryptography possible.

In some countries, even the domestic use of cryptography is, or has been, restricted. Until 1999, France significantly restricted the use of cryptography domestically, though it has since relaxed many of these rules. In China and Iran, a license is still required to use cryptography.[7] Many countries have tight restrictions on the use of cryptography. Among the more restrictive are laws in Belarus, Kazakhstan, Mongolia, Pakistan, Singapore, Tunisia, and Vietnam.[78]

In the United States, cryptography is legal for domestic use, but there has been much conflict over legal issues related to cryptography.[9] One particularly important issue has been the export of cryptography and cryptographic software and hardware. Probably because of the importance of cryptanalysis in World War II and an expectation that cryptography would continue to be important for national security, many Western governments have, at some point, strictly regulated export of cryptography. After World War II, it was illegal in the US to sell or distribute encryption technology overseas; in fact, encryption was designated as auxiliary military equipment and put on the United States Munitions List.[79] Until the development of the personal computer, asymmetric key algorithms (i.e., public key techniques), and the Internet, this was not especially problematic. However, as the Internet grew and computers became more widely available, high-quality encryption techniques became well known around the globe.

Export controls

[edit]

In the 1990s, there were several challenges to US export regulation of cryptography. After the source code for Philip Zimmermann's Pretty Good Privacy (PGP) encryption program found its way onto the Internet in June 1991, a complaint by RSA Security (then called RSA Data Security, Inc.) resulted in a lengthy criminal investigation of Zimmermann by the US Customs Service and the FBI, though no charges were ever filed.[80][81] Daniel J. Bernstein, then a graduate student at UC Berkeley, brought a lawsuit against the US government challenging some aspects of the restrictions based on free speech grounds. The 1995 case Bernstein v. United States ultimately resulted in a 1999 decision that printed source code for cryptographic algorithms and systems was protected as free speech by the United States Constitution.[82]

In 1996, thirty-nine countries signed the Wassenaar Arrangement, an arms control treaty that deals with the export of arms and "dual-use" technologies such as cryptography. The treaty stipulated that the use of cryptography with short key-lengths (56-bit for symmetric encryption, 512-bit for RSA) would no longer be export-controlled.[83] Cryptography exports from the US became less strictly regulated as a consequence of a major relaxation in 2000;[84] there are no longer very many restrictions on key sizes in US-exported mass-market software. Since this relaxation in US export restrictions, and because most personal computers connected to the Internet include US-sourced web browsers such as Firefox or Internet Explorer, almost every Internet user worldwide has potential access to quality cryptography via their browsers (e.g., via Transport Layer Security). The Mozilla Thunderbird and Microsoft Outlook E-mail client programs similarly can transmit and receive emails via TLS, and can send and receive email encrypted with S/MIME. Many Internet users do not realize that their basic application software contains such extensive cryptosystems. These browsers and email programs are so ubiquitous that even governments whose intent is to regulate civilian use of cryptography generally do not find it practical to do much to control distribution or use of cryptography of this quality, so even when such laws are in force, actual enforcement is often effectively impossible.[citation needed]

NSA involvement

[edit]
NSA headquarters in Fort Meade, Maryland

Another contentious issue connected to cryptography in the United States is the influence of the National Security Agency on cipher development and policy.[9] The NSA was involved with the design of DES during its development at IBM and its consideration by the National Bureau of Standards as a possible Federal Standard for cryptography.[85] DES was designed to be resistant to differential cryptanalysis,[86] a powerful and general cryptanalytic technique known to the NSA and IBM, that became publicly known only when it was rediscovered in the late 1980s.[87] According to Steven Levy, IBM discovered differential cryptanalysis,[81] but kept the technique secret at the NSA's request. The technique became publicly known only when Biham and Shamir re-discovered and announced it some years later. The entire affair illustrates the difficulty of determining what resources and knowledge an attacker might actually have.

Another instance of the NSA's involvement was the 1993 Clipper chip affair, an encryption microchip intended to be part of the Capstone cryptography-control initiative. Clipper was widely criticized by cryptographers for two reasons. The cipher algorithm (called Skipjack) was then classified (declassified in 1998, long after the Clipper initiative lapsed). The classified cipher caused concerns that the NSA had deliberately made the cipher weak to assist its intelligence efforts. The whole initiative was also criticized based on its violation of Kerckhoffs's Principle, as the scheme included a special escrow key held by the government for use by law enforcement (i.e. wiretapping).[81]

Digital rights management

[edit]

Cryptography is central to digital rights management (DRM), a group of techniques for technologically controlling use of copyrighted material, being widely implemented and deployed at the behest of some copyright holders. In 1998, U.S. President Bill Clinton signed the Digital Millennium Copyright Act (DMCA), which criminalized all production, dissemination, and use of certain cryptanalytic techniques and technology (now known or later discovered); specifically, those that could be used to circumvent DRM technological schemes.[88] This had a noticeable impact on the cryptography research community since an argument can be made that any cryptanalytic research violated the DMCA. Similar statutes have since been enacted in several countries and regions, including the implementation in the EU Copyright Directive. Similar restrictions are called for by treaties signed by World Intellectual Property Organization member-states.

The United States Department of Justice and FBI have not enforced the DMCA as rigorously as had been feared by some, but the law, nonetheless, remains a controversial one. Niels Ferguson, a well-respected cryptography researcher, has publicly stated that he will not release some of his research into an Intel security design for fear of prosecution under the DMCA.[89] Cryptologist Bruce Schneier has argued that the DMCA encourages vendor lock-in, while inhibiting actual measures toward cyber-security.[90] Both Alan Cox (longtime Linux kernel developer) and Edward Felten (and some of his students at Princeton) have encountered problems related to the Act. Dmitry Sklyarov was arrested during a visit to the US from Russia, and jailed for five months pending trial for alleged violations of the DMCA arising from work he had done in Russia, where the work was legal. In 2007, the cryptographic keys responsible for Blu-ray and HD DVD content scrambling were discovered and released onto the Internet. In both cases, the Motion Picture Association of America sent out numerous DMCA takedown notices, and there was a massive Internet backlash[10] triggered by the perceived impact of such notices on fair use and free speech.

Forced disclosure of encryption keys

[edit]

In the United Kingdom, the Regulation of Investigatory Powers Act gives UK police the powers to force suspects to decrypt files or hand over passwords that protect encryption keys. Failure to comply is an offense in its own right, punishable on conviction by a two-year jail sentence or up to five years in cases involving national security.[8] Successful prosecutions have occurred under the Act; the first, in 2009,[91] resulted in a term of 13 months' imprisonment.[92] Similar forced disclosure laws in Australia, Finland, France, and India compel individual suspects under investigation to hand over encryption keys or passwords during a criminal investigation.

In the United States, the federal criminal case of United States v. Fricosu addressed whether a search warrant can compel a person to reveal an encryption passphrase or password.[93] The Electronic Frontier Foundation (EFF) argued that this is a violation of the protection from self-incrimination given by the Fifth Amendment.[94] In 2012, the court ruled that under the All Writs Act, the defendant was required to produce an unencrypted hard drive for the court.[95]

In many jurisdictions, the legal status of forced disclosure remains unclear.

The 2016 FBI–Apple encryption dispute concerns the ability of courts in the United States to compel manufacturers' assistance in unlocking cell phones whose contents are cryptographically protected.

As a potential counter-measure to forced disclosure some cryptographic software supports plausible deniability, where the encrypted data is indistinguishable from unused random data (for example such as that of a drive which has been securely wiped).

See also

[edit]

References

[edit]

Further reading

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Cryptography is the discipline that embodies the principles, means, and methods for the transformation of data in order to hide their semantic content. Emerging in antiquity with rudimentary techniques like substitution ciphers—such as the shift cipher attributed to Julius Caesar for securing military orders—it has developed into a cornerstone of modern information security, protecting communications, financial transactions, and data integrity against eavesdroppers and adversaries through mathematical algorithms and secret keys. Key historical milestones include the mechanical Enigma rotor machines deployed by Nazi Germany during World War II, whose decryption by Allied codebreakers at Bletchley Park, led by figures like Alan Turing, yielded Ultra intelligence that shortened the war and saved millions of lives by revealing German U-boat positions and strategic plans. The field's transformation accelerated in the 1970s with the invention of public-key cryptography by Whitfield Diffie and Martin Hellman, introducing asymmetric algorithms that enable secure key distribution over insecure channels without pre-shared secrets, foundational to protocols like HTTPS and digital signatures. Yet, cryptography remains contentious, with governments, including the U.S. National Security Agency, historically pressuring for intentional weaknesses or backdoors in standards—evident in the failed Clipper chip initiative of the 1990s and persistent calls to undermine end-to-end encryption—raising debates over balancing privacy against national security imperatives.

Terminology and Fundamentals

Definitions and Basic Principles

Cryptography is the discipline encompassing principles, means, and methods for transforming data to conceal its semantic content, thereby enabling amid adversarial threats. At its core, it involves converting intelligible data, termed , into an unintelligible format known as via , which employs a cryptographic and a secret key; the inverse operation, decryption, reverses this to recover the plaintext using the corresponding key. Cryptographic keys consist of bit strings that control the algorithm's operation, determining the specific transformation applied during and decryption. Algorithms, often called ciphers, specify the mathematical steps for these transformations, ranging from simple substitution methods to complex computational routines resistant to reversal without the key. In symmetric , a single shared key suffices for both encryption and decryption, facilitating efficiency but requiring secure ; asymmetric , by contrast, uses mathematically linked public-private key pairs, allowing public dissemination of the encryption key without compromising . Fundamental principles guiding cryptographic systems include , which restricts access to authorized parties; , ensuring information remains unaltered during transmission or storage; , verifying the legitimacy of communicants or data origins; and , binding actions to their performers to preclude denial. These objectives derive from the need to counter threats like , tampering, impersonation, and disavowal, with effectiveness hinging on the secrecy and strength of keys alongside robustness against known attacks.

Security Models: Information-Theoretic vs Computational

, also known as unconditional or perfect security, refers to cryptographic systems where no information about the is leaked through the , even to an adversary with unlimited computational resources and time. This concept was formalized by in his 1949 paper "Communication Theory of Secrecy Systems," where perfect secrecy is defined such that the distribution over possible plaintexts given the ciphertext is identical to the prior distribution, implying zero between plaintext and ciphertext. Achieving this requires the key space to be at least as large as the message space, as per Shannon's theorem, ensuring that for every ciphertext, every possible plaintext is equally likely under some key. The exemplifies : it encrypts a by XORing it with a truly random key of equal length, used only once, producing indistinguishable from random noise without the key. This construction, independently invented by in and Joseph Mauborgne, guarantees perfect secrecy because the adversary cannot distinguish the ciphertext from uniform randomness, regardless of attack sophistication, provided key generation and usage rules are followed strictly. However, practical limitations include the need for secure and storage of keys as long as messages, rendering it inefficient for most applications beyond niche uses like diplomatic communications. In contrast, computational security assumes adversaries are polynomially bounded in resources, relying on the intractability of specific mathematical problems under feasible computation. Security holds if breaking the system requires superpolynomial time, such as solving the problem for RSA or finding short vectors in lattices for some modern schemes, with no efficient algorithms known as of 2023 despite extensive . Examples include the (AES), standardized by NIST in 2001 after a public competition, which resists all known attacks within 2^128 operations for the 128-bit variant, and , where security stems from the elliptic curve problem. This model underpins modern cryptography but remains conditional: advances in , such as demonstrated on small instances in 2001, threaten systems like RSA by enabling efficient factoring.
AspectInformation-Theoretic SecurityComputational Security
Adversary ModelUnlimited computation and timePolynomial-time bounded
Security GuaranteeAbsolute: no information leakage possibleProbabilistic: negligible success probability
Key Length RequirementAt least message length (e.g., )Fixed, independent of message (e.g., 256 bits for AES)
PracticalityImpractical for large-scale use due to Widely deployed, efficient, but assumption-dependent
ExamplesAES, RSA, Diffie-Hellman
The distinction arises from causal realism in proofs: information-theoretic models derive from and , independent of hardware limits, while computational models incorporate real-world constraints like and algorithmic complexity, prioritizing deployability over theoretical perfection. Hybrid approaches, such as information-theoretically secure primitives combined with computational assumptions for efficiency, appear in advanced protocols like , but pure remains rare outside theoretical analysis.

History

Ancient and Classical Periods

The earliest documented use of cryptography for secure correspondence emerged among the ancient Spartans around 400 BC, employing a device known as the . This method involved wrapping a strip of around a cylindrical baton of fixed diameter, writing the message along the spiral, then unwrapping the strip to produce a jumbled text; reconstruction required a matching baton to realign the characters. Historical accounts, including those from , describe its application in military dispatches to prevent interception by enemies, though some scholars debate whether it served primarily as a or a message authentication tool due to the need for identical batons at sender and receiver ends. In , further developments included references to cryptographic techniques in military treatises, such as those by Aeneas Tacticus in the 4th century BC, who discussed methods for securing communications against betrayal. Earlier traces appear in Mesopotamian records around 1500 BC, where a scribe obscured a glaze formula using substitutions, representing an rudimentary form of secret writing rather than systematic . Egyptian tomb inscriptions from circa 1900 BC employed anomalous hieroglyphs, potentially to conceal ritual knowledge from the uninitiated, though this practice bordered on —hiding meaning through obscurity—rather than formal ciphering. During the , reportedly utilized a in military correspondence around 58–50 BC, shifting each letter in the Latin alphabet by three positions (e.g., A to D, B to E), rendering unintelligible without the key shift value. Known as the , this monoalphabetic technique was simple yet effective against casual readers, as evidenced by Suetonius's accounts of Caesar's encrypted orders to commanders. Its vulnerability to stemmed from preserved letter distributions, but it marked an advancement in deliberate alphabetic transposition for state secrecy. These ancient methods relied on shared secrets or physical devices, lacking mathematical complexity, and were driven by wartime needs to protect strategic from adversaries. By the end of the classical period, around the AD, such practices had influenced later Roman and Byzantine codes, though systematic remained undeveloped until medieval times.

Medieval to 19th Century Advances

During the Islamic Golden Age, Arab scholars made foundational contributions to cryptanalysis. Al-Kindi (c. 801–873 AD), in his treatise Risala fi fī l-ḥurūf wa-l-ʾaḥsāʾ (Manuscript on Deciphering Cryptographic Messages), systematically described frequency analysis, the first known method to break monoalphabetic substitution ciphers by comparing ciphertext letter frequencies to those in the target language. This empirical approach exploited the non-uniform distribution of letters in natural language, enabling decryption without the key. Al-Kindi also outlined early polyalphabetic substitution concepts, using multiple substitution alphabets to obscure frequency patterns, though full implementation awaited later developments. In , Renaissance humanists advanced cipher design amid diplomatic and ecclesiastical needs. Leon Battista Alberti's De componendis cifris (c. 1467) introduced the earliest documented , employing a rotating disk with mixed alphabets to vary substitutions periodically, enhancing resistance to . (1462–1516) expanded this in Polygraphia (published 1518), presenting the —a square table of shifted alphabets—and progressive ciphers where each letter shifted by an increasing amount, laying groundwork for systematic polyalphabetics despite mystical framing. The 16th century saw practical polyalphabetic ciphers proliferate. Giovan Battista Bellaso described a keyed variant in La cifra del. Sig. (1553), using a repeating keyword to select rows from a tabula recta for substitution, later popularized by Blaise de Vigenère in Traicté des chiffres (1586) as the autokey-strengthened "le chiffre carré." This Vigenère cipher resisted attacks for centuries due to its key-dependent multiple alphabets, finding use in military and state secrets. Mechanical aids emerged, such as wheel-based devices for generating substitutions, exemplified by 16th-century French cipher machines resembling books with dials for diplomatic encoding. By the 19th century, cryptanalytic techniques caught up. (c. 1846) and Friedrich Kasiski (1863) independently developed methods to determine Vigenère key lengths by identifying repeated sequences, whose distances revealed key periodicity via greatest common divisors, followed by per-position . Kasiski's Die Geheimschriften und die Dechiffrir-Kunst formalized this, undermining polyalphabetics reliant on short keys. Innovative ciphers addressed these vulnerabilities. invented the in 1854, a digraphic substitution using a 5x5 key-derived grid to form rectangles or trapezoids from letter pairs, yielding digrams resistant to simple ; Lord Playfair promoted its adoption, with British forces employing it during the Boer War (1899–1902). These advances reflected cryptography's evolution from ad hoc substitutions to structured systems balancing security and usability, driven by statecraft demands.

20th Century Mechanization and Wars

The mechanization of in the advanced significantly through rotor-based machines, which automated substitution ciphers using rotating wheels with wired permutations to scramble . Edward Hebern patented the first such device in 1924, building on a prototype that integrated electrical circuitry with components for enciphering messages. These innovations addressed the limitations of manual systems, enabling faster for military and diplomatic use amid rising global tensions. During , cryptographic efforts relied primarily on manual methods, but the saw rotor machines proliferate. The German , invented by and commercially introduced in 1923, featured multiple rotors, a reflector, and a plugboard, generating vast key spaces—approximately 10^23 possibilities in its military variants. Adopted by the German military from 1926, Enigma secured naval, army, and air force communications during , with operators selecting daily rotor orders, ring settings, and plugboard connections to vary substitutions dynamically. Polish cryptanalysts, including , Jerzy Różycki, and , achieved the first breaks of Enigma in December 1932 using mathematical analysis of message permutations and intercepted traffic, constructing "" and the electromechanical "Bomba" device by 1938 to exploit weaknesses in German procedures. In 1939, they shared their techniques, replicas, and insights with British and French intelligence, enabling further advancements at . and team developed the machine, deploying over 200 by war's end to test rotor settings against —known or guessed —deciphering millions of messages and contributing to Allied victories, such as in the . For higher-level strategic communications, employed the attachment from , a 12-wheel machine producing a pseudorandom keystream added modulo-2 to , used for Hitler’s direct links to field commanders. British codebreakers at , led by and , exploited operator errors and depth settings—reuse of identical keys—to recover wheels via hand methods, culminating in the Colossus, the world's first programmable electronic computer, operational by 1944 for automated . These breaks yielded Ultra intelligence, informing operations like D-Day. The developed the (ECM Mark II) in the 1930s, featuring 15 rotors in two banks with irregular stepping to resist attacks, producing over 10^26 keys; it remained unbroken during the and served until the . Mechanized cryptography thus not only intensified wartime secrecy but also spurred computational breakthroughs, with codebreaking efforts demonstrating that procedural flaws often undermined even complex machines.

Computer Era and Public-Key Emergence (1970s–1990s)

The advent of digital computers in the mid-20th century enabled the implementation of more sophisticated cryptographic algorithms in software and hardware, marking the transition to the computer era of cryptography. In 1974, IBM researchers developed the Lucifer cipher, which evolved into the Data Encryption Standard (DES), a symmetric-key block cipher using a 56-bit key to encrypt 64-bit blocks through 16 rounds of Feistel network operations. The U.S. National Bureau of Standards (NBS, now NIST) selected a modified version of Lucifer and published DES as Federal Information Processing Standard 46 in 1977, making it the first widely adopted cryptographic standard for non-classified government and commercial use. DES relied on computational hardness assumptions, such as the difficulty of exhaustive key search without specialized hardware, though its key length later proved vulnerable to brute-force attacks by the 1990s. A key challenge in symmetric cryptography remained secure key distribution over insecure channels, prompting innovations in asymmetric or public-key cryptography. In 1976, Whitfield Diffie and Martin Hellman published "New Directions in Cryptography," introducing the concept of public-key distribution systems where parties could agree on a shared secret key without prior exchange, using the discrete logarithm problem over finite fields for key exchange. This protocol, known as Diffie-Hellman key exchange, allowed one party to generate a public value while keeping a private exponent secret, enabling secure key derivation resistant to eavesdroppers who observe only public parameters. Their work broke the monopoly on high-quality cryptography held by governments and laid the foundation for asymmetric systems by decoupling encryption keys from decryption keys. Building on this, Ron Rivest, Adi Shamir, and Leonard Adleman invented the RSA cryptosystem in 1977, providing a practical public-key method for both encryption and digital signatures based on the integer factorization problem. In RSA, a public key consists of a modulus n (product of two large primes) and exponent e, while the private key is the corresponding decryption exponent d; encryption raises plaintext to e modulo n, and decryption uses d, secure under the assumption that factoring large n is computationally infeasible. Published in Communications of the ACM and popularized in Scientific American, RSA enabled secure communication and authentication without shared secrets, revolutionizing applications like secure email and e-commerce precursors. The 1980s and 1990s saw proliferation of public-key variants and standards, including in 1985 using discrete logs for probabilistic encryption and the (DSA) proposed by NIST in 1991 for government use. released (PGP) in 1991, implementing RSA and Diffie-Hellman for , which faced U.S. export restrictions due to cryptography's classification as a munition but spurred civilian adoption. These developments shifted cryptography from government silos to open research, with computational security models emphasizing average-case hardness against polynomial-time adversaries, though concerns over backdoors and key length persisted, as evidenced by DES's eventual replacement needs. By the late 1990s, public-key infrastructure (PKI) emerged for certificate management, underpinning secure web protocols like SSL/TLS.

Digital Age Proliferation (2000s–Present)

In 2001, the National Institute of Standards and Technology (NIST) finalized the (AES), selecting the Rijndael algorithm after a multi-year competition to replace the aging (DES) for securing sensitive government data and beyond. AES supports key sizes of 128, 192, or 256 bits and operates on 128-bit blocks, enabling efficient hardware and software implementations that facilitated its rapid integration into protocols like and Wi-Fi encryption standards such as WPA2. This standardization marked a pivotal shift toward computationally secure symmetric cryptography in everyday digital infrastructure, with AES now underpinning billions of encrypted transactions daily across financial systems and data storage. Elliptic curve cryptography (ECC) saw accelerated adoption throughout the 2000s, offering stronger security per bit length compared to RSA, which reduced computational overhead for resource-constrained devices like mobile phones and embedded systems. NIST incorporated ECC into standards such as ECDSA for digital signatures in 2006, while the U.S. (NSA) endorsed its use for government systems in 2005, promoting curves like P-256 for and . By the mid-2000s, ECC underpinned protocols in SSL/TLS certificates and smart cards, enabling scalable public-key infrastructure (PKI) for e-commerce and secure communications, though concerns over curve selection—later tied to NSA influence—prompted scrutiny of potentially weakened parameters. The proliferation of , built on TLS evolutions from SSL, transformed web security, with adoption surging due to vulnerabilities like in older protocols and browser enforcement of encryption. TLS 1.3, finalized in 2018 by the IETF, streamlined handshakes and mandated , contributing to over 95% of websites using by 2024. This widespread deployment, driven by certificate authorities issuing millions of TLS certificates annually, secured , , and services against man-in-the-middle attacks, reflecting cryptography's embedding in the internet's core. The launch of in 2008 by introduced blockchain's reliance on like SHA-256 hashing for proof-of-work and ECDSA for transaction signing, spawning a of cryptocurrencies that demonstrated decentralized consensus without trusted intermediaries. By 2017, the of cryptocurrencies exceeded $800 billion, accelerating innovations in zero-knowledge proofs (e.g., zk-SNARKs in , 2016) for privacy-preserving verifications and smart contracts on (2015), which extended cryptography to programmable finance. These applications highlighted cryptography's role in enabling trust-minimized systems, though vulnerabilities like the 2010 Bitcoin overflow bug underscored ongoing risks in implementation. Edward Snowden's 2013 disclosures revealed NSA efforts to undermine cryptographic standards, including a backdoor in the generator standardized by NIST in 2006, eroding trust in U.S.-led processes and spurring global adoption of in messaging apps like open-sourced 2013). The revelations prompted the IETF to prioritize "pervasive monitoring" mitigation in protocols and accelerated audits of libraries like , whose vulnerability (disclosed 2014) exposed 17% of servers to memory leaks, reinforcing demands for rigorous, open-source cryptographic hygiene. Anticipating quantum computing threats to ECC and RSA—via algorithms like Shor's—NIST initiated a post-quantum cryptography standardization in 2016, selecting algorithms such as CRYSTALS-Kyber for key encapsulation in and finalizing three standards (FIPS 203, 204, 205) in August 2024 for migration by 2030. This effort, involving over 80 submissions and years of , addresses lattice-based and hash-based schemes resilient to quantum attacks, with hybrid implementations already tested in TLS to bridge classical and quantum eras without disrupting deployed systems. By 2025, enterprises faced mandates to inventory quantum-vulnerable cryptography, signaling a proactive proliferation toward resilient primitives amid advancing quantum hardware demonstrations.

Theoretical Foundations

Claude Shannon's Contributions

Claude Elwood Shannon's seminal 1949 paper, "Communication Theory of Secrecy Systems," published in the Bell System Technical Journal, established the theoretical foundations of cryptography by applying principles from to analyze secrecy systems. In this work, Shannon modeled encryption as a where the goal is to ensure that intercepted ciphertexts reveal no information about the to an unauthorized party possessing unlimited computational resources. He categorized secrecy systems into types such as transposition, substitution, and product systems, evaluating their theoretical limits rather than practical implementations. Shannon defined perfect secrecy as a property where the between the and is zero, meaning the of possible plaintexts after observing the equals the a priori distribution, providing no evidentiary advantage to the adversary. He proved that achieving perfect secrecy requires the key space to be at least as large as the message space, with the key drawn uniformly at random and used only once; otherwise, in the or key reuse enables attacks. This information-theoretic criterion contrasts with weaker computational security assumptions, highlighting that practical ciphers must rely on the intractability of certain problems rather than absolute secrecy. The one-time pad cipher, involving modular addition of a random key as long as the message, exemplifies perfect secrecy under Shannon's conditions, as the ciphertext distribution remains uniform and independent of the plaintext. Shannon formalized its unbreakable nature theoretically, though he noted logistical challenges in key generation, distribution, and disposal preclude widespread use. His analysis extended to the "secrecy capacity" of channels, quantifying the maximum secure rate as the difference between channel capacity and equivocation induced by noise or adversaries. Building on his formulation of as a measure of in sources, Shannon applied it to cryptography to assess key requirements and . High- keys resist brute-force attacks by maximizing , while low- plaintexts (e.g., with predictable frequencies) demand longer keys for secrecy, underscoring the need to eliminate exploitable patterns. This -based framework influenced subsequent evaluations of cryptographic strength, distinguishing provably secure from those vulnerable to or other statistical methods.

Complexity Theory and Hard Problems

Cryptographic security relies on to establish that certain problems lack efficient solutions by probabilistic polynomial-time algorithms, despite being solvable in exponential time. These hardness assumptions form the basis for like and signatures, positing that inverting specific functions or solving particular problems is infeasible for adversaries with bounded resources. Unlike , which guarantees unconditional secrecy, computational security holds as long as no efficient attack exists, even if theoretical breaks are possible given unlimited . This framework emphasizes average-case hardness over random instances generated by keys, rather than worst-case scenarios, aligning with practical usage where inputs follow probabilistic distributions. Central to these foundations are s, defined as polynomial-time computable functions f:{0,1}{0,1}f: \{0,1\}^* \to \{0,1\}^* that are easy to evaluate but hard to invert: for any probabilistic polynomial-time adversary AA, the probability Pr[A(f(x))=x]\Pr[A(f(x)) = x] over random xx is negligible in the input length. one-way functions extend this by incorporating a secret trapdoor that enables inversion, underpinning public-key systems. The existence of s, while unproven, is equivalent to the feasibility of basic private-key cryptography, including pseudorandom generators and secure symmetric encryption, via constructions that amplify weak hardness into strong security properties. No explicit has been proven secure without relying on specific number-theoretic assumptions, but candidates derive from problems like . Prominent hard problems include , where decomposing a N=pqN = pq (with p,qp, q large primes of similar ) into its factors resists efficient algorithms; the general number field sieve represents the state-of-the-art, with the largest factored RSA-250 (829 bits) requiring approximately 2,900 core-years in 2020, rendering 2048-bit instances (common in TLS) computationally prohibitive at over a million core-years. The problem similarly assumes hardness in cyclic groups: given a generator gg and y=gxmodpy = g^x \mod p (or in elliptic curves), recovering xx defies subexponential attacks for parameters exceeding 256 bits, with index calculus methods scaling poorly for prime fields. These assumptions hold empirically, as no polynomial-time algorithms exist despite decades of scrutiny, though quantum algorithms like Shor's threaten them, motivating post-quantum alternatives based on lattice problems (e.g., ) or hash-based signatures. Provable security formalizes these via : a scheme is if breaking it implies solving a hard problem with comparable efficiency. For instance, the RSA cryptosystem's under chosen-plaintext attacks reduces to the factoring assumption, meaning an adversary factoring moduli can decrypt ciphertexts, but the converse holds only probabilistically. Diffie-Hellman reduces to the computational Diffie-Hellman assumption, equivalent to discrete log hardness in generic groups. Such quantify losses (e.g., via negligible functions) but rely on black-box models, which complexity theory shows cannot capture all separations, as relativization barriers imply some impossibilities. Average-case hardness enables these, contrasting worst-case , since cryptographic instances avoid pathological cases; for lattices, worst-to-average preserve for approximate shortest vector problems. Overall, while no assumption is unconditionally proven (as P vs. NP remains open), and lack of breaks sustain their use, with ongoing refining parameters via competitions like NIST's post-quantum .

Symmetric-Key Techniques

Block Ciphers: Evolution from DES to AES

The Data Encryption Standard (DES), a symmetric-key block cipher, processes plaintext in 64-bit blocks using a 56-bit effective key length derived from a 64-bit input with 8 parity bits. Originally developed by IBM in the early 1970s as a refinement of the Lucifer cipher, it employs a Feistel network structure with 16 rounds of substitution, permutation, and key mixing operations. The National Bureau of Standards (now NIST) published DES as Federal Information Processing Standard (FIPS) 46 on January 15, 1977, mandating its use for unclassified government data encryption. By the 1990s, DES's 56-bit key proved vulnerable to brute-force attacks as computational power advanced; for instance, the Electronic Frontier Foundation's DES Cracker hardware recovered a key in 56 hours in 1998, demonstrating feasibility for dedicated attackers. This short , combined with no structural weaknesses but exhaustive search risks, prompted interim mitigations like (3DES), which applies the DES algorithm three times sequentially (encrypt-decrypt-encrypt) with two or three distinct keys, yielding an effective strength of up to 112 bits against brute force. NIST incorporated 3DES into FIPS 46-3, reaffirmed on October 25, 1999, as a backward-compatible extension while planning a successor. However, 3DES's effective block size remained 64 bits, introducing risks like meet-in-the-middle attacks reducing below the , and its slower due to triple processing. To address DES's obsolescence, NIST launched a public competition in 1997 for a new symmetric standard, soliciting algorithms resistant to cryptanalytic advances with a 128-bit block size and key lengths of 128, 192, or 256 bits. Fifteen candidates were submitted; five advanced to the finalist round in 1999 after initial evaluations of security, efficiency, and implementation characteristics. On October 2, 2000, NIST selected the Rijndael algorithm, designed by Belgian cryptographers Joan Daemen and , as the winner, citing its balance of security margins, software/hardware performance, and flexibility. Rijndael, standardized as the (AES) in FIPS 197 on November 26, 2001, uses a substitution-permutation network with 10, 12, or 14 rounds depending on key length, providing provable resistance to differential and beyond DES's Feistel design. AES marked a shift toward larger parameters and open competition, supplanting DES entirely by 2005 when NIST withdrew FIPS 46-3 approval, though 3DES lingered in legacy systems until phased out. Unlike DES's fixed structure tuned for 1970s hardware, AES prioritizes side-channel resistance and scalability, with no practical breaks despite extensive analysis; its adoption in protocols like TLS and underscores the evolution from ad-hoc government selection to rigorous, global .

Stream Ciphers and Applications

Stream ciphers are symmetric-key algorithms that encrypt plaintext by combining it with a pseudorandom keystream generated from a secret key, typically via bitwise XOR operation on individual bits or bytes. This process produces ciphertext of the same length as the plaintext, enabling encryption of data streams without fixed block sizes or padding requirements. The keystream is produced by a pseudorandom number generator (PRNG) initialized with the key and often a nonce or counter to ensure uniqueness; security depends on the keystream's indistinguishability from true randomness and resistance to prediction without the key. Unlike block ciphers, which process fixed-size blocks and may introduce latency in modes like CBC, stream ciphers support continuous, low-latency encryption ideal for real-time data flows such as voice or video . However, they are vulnerable to keystream reuse: if the same keystream is XORed with two plaintexts, an attacker can recover the XOR of the plaintexts by XORing the ciphertexts, compromising . Early designs often employed linear feedback shift registers (LFSRs) for keystream generation, but these proved susceptible to and correlation attacks unless combined with nonlinear components. Notable historical stream ciphers include , developed by in 1987 with variable key lengths up to 2048 bits, which powered protocols like WEP for (introduced 1997) and early TLS versions. RC4's internal state permutations exhibited biases, enabling the Fluhrer-Mantin-Shamir (FMS) attack in 2001 that broke WEP with minimal traffic, and later statistical biases in TLS exposed in 2013, leading to its deprecation by 2015 in major browsers and RFC 7465. Similarly, , a 64-bit using three LFSRs for mobile networks since the 1990s, was practically broken by 2009 through time-memory trade-off attacks requiring feasible precomputation and hours of runtime to decrypt conversations. Modern stream ciphers prioritize software efficiency and cryptanalytic resistance. Salsa20, introduced by in 2005, generates keystream via 20 rounds of addition-rotation-XOR (ARX) operations on a 512-bit state, offering high speed without . Its variant, ChaCha20, refines Salsa20 with increased constants and diffusion for better resistance to differential and linear attacks, maintaining 256-bit keys and nonce-based uniqueness. ChaCha20 has withstood extensive analysis without practical breaks and is recommended for scenarios where AES is inefficient. Applications of stream ciphers span legacy and contemporary protocols, though insecure ones like and have been phased out. In wireless, A5/1 persists in some networks despite vulnerabilities, while Wi-Fi evolved to block-based WPA2/3. Secure modern uses include TLS 1.3 via the with associated data (AEAD) mode, defined in RFC 7905 (2016), which provides confidentiality, integrity, and efficiency for , especially on mobile devices lacking AES-NI instructions. ChaCha20 also supports SSH encryption, as in draft-ietf-sshm-chacha20-poly1305 (updated 2025), enhancing remote access security. These deployments pair stream encryption with authenticators like Poly1305 to mitigate malleability, ensuring robustness against active attacks.

Public-Key Systems

Diffie-Hellman and Key Agreement

Diffie–Hellman key exchange is a cryptographic protocol that allows two parties, without prior shared secrets, to jointly compute a shared secret key over a public communications channel, which can then serve as a symmetric encryption key. The protocol was publicly introduced in 1976 by Whitfield Diffie and Martin E. Hellman in their seminal paper "New Directions in Cryptography," marking a foundational advancement in public-key cryptography by enabling secure key agreement without direct key transmission. Although classified precursors existed earlier at institutions like GCHQ, the Diffie-Hellman publication spurred open research and practical implementations. The protocol operates in a finite cyclic group, typically the multiplicative group of integers modulo a large prime pp, where pp is a prime number and gg is a generator (primitive root) of the group. Both parties publicly agree on pp and gg. One party, say Alice, selects a private exponent aa (random integer between 2 and p2p-2), computes the public value A=gamodpA = g^a \mod p, and sends AA to Bob. Bob similarly chooses private bb, computes B=gbmodpB = g^b \mod p, and sends BB to Alice. Alice then computes the shared secret K=Bamodp=(gb)amodp=gabmodpK = B^a \mod p = (g^b)^a \mod p = g^{ab} \mod p, while Bob computes K=Abmodp=gabmodpK = A^b \mod p = g^{ab} \mod p. An eavesdropper observing pp, gg, AA, and BB cannot efficiently compute KK without solving for the discrete logarithm. Security relies on the computational difficulty of the problem: given gg, pp, and gxmodpg^x \mod p, finding xx is infeasible for large pp (typically 2048 bits or more in ). The protocol assumes the Diffie-Hellman problem—computing gabmodpg^{ab} \mod p from gamodpg^a \mod p and gbmodpg^b \mod p—is hard, which holds under standard cryptographic assumptions equivalent to discrete log hardness in prime-order groups. However, it does not inherently provide , making it susceptible to man-in-the-middle attacks where an attacker impersonates one party to both; is typically added via digital signatures or certificates in protocols using Diffie-Hellman. Diffie-Hellman has been integral to numerous standards and protocols, including (TLS) for ephemeral key exchanges (DHE), (IKE) in for VPNs, and Secure Shell (SSH). variants (ECDH) offer equivalent security with smaller key sizes, widely adopted for efficiency in mobile and constrained environments. Despite advances in threatening discrete log via , post-quantum alternatives are under development, with Diffie-Hellman still dominant in classical settings as of 2025.

RSA: Factoring-Based Security

The RSA cryptosystem, developed by Ronald Rivest, Adi Shamir, and Leonard Adleman in 1977 and published in 1978, derives its security from the computational intractability of factoring the product of two large prime numbers into their constituent factors. In the algorithm, a modulus n=p×qn = p \times q is generated, where pp and qq are distinct primes of comparable size (typically hundreds of digits each), and an encryption exponent ee is chosen coprime to ϕ(n)=(p1)(q1)\phi(n) = (p-1)(q-1). The private exponent dd satisfies de1(modϕ(n))d \equiv e^{-1} \pmod{\phi(n)}, enabling decryption via m=cdmodnm = c^d \mod n for ciphertext cc. Factoring nn reveals pp and qq, allowing computation of ϕ(n)\phi(n) and thus dd, which compromises the system; conversely, possession of dd does not efficiently yield the factors under the RSA assumption. The problem, particularly for semiprimes (products of two primes), lacks a proven polynomial-time classical , though subexponential methods exist. Early approaches like trial division and Pollard's rho are ineffective for large nn, scaling poorly beyond small factors. The (QS), introduced in the , improved efficiency for numbers up to about 100 digits by sieving for smooth relations in a factor base, but was superseded for larger instances by the general number field sieve (GNFS), developed in the , which optimizes by working in both rational and fields to find congruences yielding a dependency for square-root computation modulo nn. GNFS has asymptotic complexity Ln(1/3,1.923)L_n(1/3, 1.923), where Ln(a,c)=ec(lnn)a(lnlnn)1aL_n(a,c) = e^{c (\ln n)^a (\ln \ln n)^{1-a}}, making it the fastest practical method for cryptographic sizes. Empirical evidence of hardness is drawn from factorization challenges, such as the numbers. The 768-bit (232-digit) RSA-768 was factored in December 2009 using GNFS, requiring approximately 2,000 core-years on 2009-era hardware and marking the largest general factored to date at that time. Subsequent records include RSA-240 (795 bits, 240 digits) factored in November 2019 after 900 core-years of computation on modern servers, and RSA-250 (829 bits, 250 digits) factored in May 2020 by a similar effort involving distributed sieving and linear algebra over thousands of cores. These feats underscore that while advances in hardware and algorithms erode smaller keys—e.g., 512-bit RSA moduli were routinely factored by the early —keys of 2048 bits or larger remain secure against classical attacks, with estimated GNFS times exceeding billions of years on current supercomputers. Security recommendations reflect this: the U.S. National Institute of Standards and Technology (NIST) deems 2048-bit RSA moduli acceptable through 2030 for most applications, advising 3072 bits for extended protection against potential algorithmic improvements, while deprecating keys below 2048 bits post-2030 due to feasible factoring risks. flaws, such as poor prime generation leading to detectable patterns or small prime differences exploitable by Fermat's method, can undermine even large keys, emphasizing the need for rigorous and balance in pp and qq. poses a future threat via , which factors in polynomial time on a fault-tolerant quantum machine, but current noisy intermediate-scale quantum devices require infeasible resources (e.g., millions of qubits for 2048-bit RSA), preserving classical in the near term.

Elliptic Curve Variants

Elliptic curve cryptography employs various mathematical representations of elliptic curves to optimize computations such as point addition and scalar multiplication, with the short Weierstrass form y2=x3+ax+by^2 = x^3 + ax + b serving as the foundational model for many standards. This form facilitates general elliptic curve operations but can be less efficient for specific tasks like key exchange or signatures. Variants like Montgomery and twisted Edwards forms address these by exploiting symmetries for faster, constant-time implementations resistant to side-channel attacks. The Standards for Efficient Cryptography Group (SECG) and the National Institute of Standards and Technology (NIST) have standardized numerous Weierstrass curves with predefined domain parameters, including prime field sizes and base points, to ensure interoperability. For instance, secp256r1 (also known as NIST P-256) uses a 256-bit prime field and provides approximately 128 bits of security, while secp256k1 employs a Koblitz curve over a 256-bit field with parameters a=0a = 0 and b=7b = 7, originally selected for efficient arithmetic in software implementations. These curves underpin protocols like ECDSA for digital signatures and ECDH for key agreement, with secp256k1 notably adopted in Bitcoin's protocol since 2009 for its balance of security and performance. Montgomery curves, defined by By2=x3+Ax2+xBy^2 = x^3 + Ax^2 + x, enable efficient ladder-based without requiring full point recovery, making them suitable for . , a specific Montgomery curve over a 255-bit prime field, was designed by in 2005 with parameters chosen for resistance to known attacks and high-speed , as formalized in RFC 7748 (2016). This variant achieves 128-bit security and is widely used in modern protocols like TLS 1.3 due to its audited, transparent parameter generation process. Twisted Edwards curves, given by ax2+y2=1+dx2y2ax^2 + y^2 = 1 + dx^2 y^2, offer complete addition formulas that avoid exceptional cases, enhancing resistance to fault attacks and enabling unified, exception-free implementations. , based on the Edwards form birationally equivalent to , supports deterministic signatures via and was standardized in RFC 8032 (2016), providing 128-bit security with smaller keys than comparable RSA systems. These non-Weierstrass variants prioritize software efficiency and verifiability over historical NIST selections. Security evaluations of NIST-recommended curves, such as those in FIPS 186-4, have faced scrutiny following disclosures of NSA influence in parameter selection, including the compromised which relied on elliptic curves with non-transparent points. While no exploitable weaknesses have been demonstrated in curves like P-256 themselves, the opaque generation process—contrasting with explicitly constructed alternatives like —has led experts to recommend audited or random-parameter curves for new deployments to mitigate potential subversion risks. NIST's SP 800-186 (2020) now permits additional curves like secp256k1 alongside its own, reflecting ongoing adaptation to these concerns.

Integrity and Authentication Primitives

Hash Functions: Design and Iterations (SHA Family)

Cryptographic hash functions must satisfy core security properties: preimage resistance, rendering it computationally infeasible to find an input producing a specified hash output; second-preimage resistance, preventing discovery of a distinct input yielding the same hash as a given input; and , where locating any two inputs with identical hashes is equally intractable, ideally requiring effort proportional to 2n/22^{n/2} for an nn-bit output under the birthday paradox. These functions also demonstrate the , such that altering even one input bit propagates changes to roughly half the output bits, ensuring strong and resistance to differential analysis. The SHA family, developed under NIST oversight primarily by the NSA, iterates on these principles through evolving constructions. SHA-1 and SHA-2 rely on the Merkle-Damgård paradigm, which pads the input message to a multiple of the block size (512 bits for SHA-1, 512 or 1024 bits for SHA-2 variants), appends the message length, and iteratively applies a compression function—combining bitwise operations (AND, OR, XOR, NOT), modular addition, rotations, and shifts—to an internal state initialized by a fixed vector, yielding the final digest after processing all blocks. This structure inherits from the underlying compression function's assumed one-wayness but proves vulnerable to extensions like length-extension attacks, where an attacker appends data to a known hash without knowing the original input. SHA-0, an initial 160-bit prototype published in 1993, employed this construction but contained an undisclosed flaw enabling collisions via differential paths, prompting its immediate withdrawal before public release. , its 1995 revision specified in FIPS 180-1, modified the compression function with an extra bitwise expansion step to mitigate the weakness, outputting 160 bits and achieving initial estimated at 80 bits; however, advances in , including Wang's 2004 differential attack, eroded confidence, with NIST deprecating in 2011 and prohibiting its use in digital signatures by 2013. A practical collision was realized in 2017 by and CWI researchers, who generated two distinct PDF files sharing the same hash after approximately 6,500 CPU-years of computation, confirming theoretical breaks had become feasible and underscoring 's unsuitability for security-critical applications. Addressing potential systemic risks in Merkle-Damgård designs—such as shared vulnerabilities exploitable across , , and early —the family, published in 2001 and refined in FIPS 180-2 (2002) and FIPS 180-4 (2015), expanded to variants SHA-224, SHA-256, SHA-384, and SHA-512 (with truncated siblings SHA-512/224 and SHA-512/256), doubling or quadrupling block and state sizes while altering constants and primitive operations to avert carry-over attacks from . These maintain 112- to 256-bit matching their halved output sizes, with no practical breaks reported as of 2025, though NIST recommends diversification beyond for long-term resilience. SHA-3, standardized in FIPS 202 (2015) following NIST's 2007-2012 competition won by Keccak, diverges fundamentally by adopting the sponge construction: an inner state of fixed width (1600 bits) absorbs padded input blocks via the Keccak-f permutation (iterated 24 rounds of substitutions, , and XORs), applying multi-rate padding (pad10*1) to handle arbitrary lengths; once absorbed, the state is "squeezed" to extract output by repeatedly applying the permutation and yielding rate-sized (e.g., 1088-bit) chunks. This yields SHA3-224, SHA3-256, SHA3-384, and SHA3-512 with equivalent security to counterparts, plus extendable-output functions SHAKE128 and SHAKE256 for variable-length digests, offering resistance to length-extension and diversity without relying on Merkle-Damgård's iterative chaining.
VariantOutput Size (bits)Block Size (bits)Initial PublicationCollision Resistance (bits)Construction
SHA-11605121995 (FIPS 180-1)<80Merkle-Damgård
SHA-2562565122001 (FIPS 180-2)128Merkle-Damgård
SHA-51251210242001 (FIPS 180-2)256Merkle-Damgård
SHA3-256256Variable (r=1088)2015 (FIPS 202)128
SHA3-512512Variable (r=576)2015 (FIPS 202)256
SHA-3's selection emphasized not replacement of secure but augmentation against unforeseen structural flaws, with NIST mandating transitions away from by 2030 for FIPS-validated modules.

Message Authentication Codes and AEAD

A (MAC) is a symmetric-key cryptographic mechanism that generates a fixed-size tag from a and a key, allowing a verifier to confirm the message's origin and detect alterations. The security of a MAC relies on its resistance to existential forgery under adaptive chosen-message attacks, where an adversary cannot produce a valid tag for a new message with non-negligible probability after querying the MAC polynomially many times. MACs assume the of the key and do not provide , focusing solely on and . Common MAC constructions derive from hash functions or block ciphers. Hash-based MACs, such as , nest a H with the key K as follows: (K, m) = H((K* ⊕ opad) ∥ H((K* ⊕ ipad) ∥ m)), where opad and ipad are fixed padding constants. Developed by Bellare, Canetti, and Krawczyk in 1996, inherits security from the compression function of H under minimal assumptions, proving secure if H behaves as a . It was standardized in FIPS 198-1 in 2008 and RFC 2104 in 1997, supporting variable-length messages and widely deployed due to its efficiency with hashes like SHA-256. Block-cipher-based MACs include , which chains blocks via a E starting from a zero : tag = E_K(m_nE_K(... ⊕ E_K(m_1) ...)), secure for fixed-length messages of length equal to a multiple of the block size if E is a . However, basic is insecure for variable-length messages, as length-extension attacks allow forgery by appending blocks to a known tag. To address this, variants like CMAC (or XCBC) incorporate key-dependent padding or distinct subkeys, providing provable security for arbitrary lengths under the assumption, as specified in NIST SP 800-38B (2005). Authenticated encryption with associated data (AEAD) extends MACs by combining confidentiality and authentication in a single primitive, encrypting a P to C while producing a tag authenticating both P and optional unencrypted associated data A, all under a secret key K and nonce N. AEAD schemes must satisfy (indistinguishability of ciphertexts) and authenticity (rejection of invalid C, A, tag pairs) against chosen-plaintext and chosen-ciphertext adversaries, with associated data protected only for integrity, not secrecy. This design avoids pitfalls of separate encrypt-then-MAC compositions, such as vulnerability to padding oracles if not carefully implemented, by integrating both via a unified nonce-based construction. Prominent AEAD modes include Galois/Counter Mode (GCM), proposed by McGrew and Viega in 2004, which uses counter mode for encryption and a polynomial-based universal hash (GHASH) over GF(2^128) for authentication: the tag combines GHASH(AC) with a counter-derived value, masked by the key-derived hash subkey. Standardized in NIST SP 800-38D (2007), GCM achieves 128-bit security for up to 2^32 messages per key if nonces are unique and the block cipher (typically AES) resists distinguishing attacks, though nonce reuse catastrophically leaks plaintext and enables forgeries. Other modes like CCM (Counter with CBC-MAC) parallelize encryption and MAC computation for efficiency in constrained environments. AEAD is integral to protocols like TLS 1.3, prioritizing modes with parallelizable authentication to minimize latency.

Protocols and Advanced Constructions

Modes of Operation for Block Ciphers

Modes of operation for block ciphers define algorithms that apply a fixed-block-size symmetric cipher, such as AES, to variable-length data while achieving security goals like , , and resistance to certain attacks. These modes address the limitation of block ciphers processing only discrete blocks (e.g., 128 bits for AES) by specifying how plaintext blocks interact with ciphertext, initialization vectors (IVs), or nonces to produce secure output. Without a mode, direct application risks insecure patterns or reuse vulnerabilities; modes ensure under chosen-plaintext attacks when properly implemented. The foundational confidentiality-only modes were standardized by the National Bureau of Standards (NBS, predecessor to NIST) in Federal Information Processing Standard (FIPS) PUB 81 in 1980 for use with DES, including Electronic Codebook (ECB), Cipher Block Chaining (CBC), Cipher Feedback (CFB), and Output Feedback (OFB). These were later updated in NIST Special Publication (SP) 800-38A in 2001 to include Counter (CTR) mode and apply to approved ciphers like AES. ECB encrypts each block independently, offering parallelism but leaking statistical patterns in (e.g., identical blocks yield identical ), making it unsuitable for most uses except single-block keys. CBC chains each plaintext block with the prior via XOR before , requiring a random IV for the first block to prevent deterministic attacks, but it is sequential and vulnerable to padding oracle exploits if not authenticated. CFB and OFB transform the block cipher into a self-synchronizing or asynchronous , respectively: CFB XORs with cipher output from the previous (shifted) ciphertext feedback, tolerating bit errors but propagating them; OFB generates a keystream by repeatedly encrypting an IV, avoiding error propagation but requiring full re-encryption on tampering. CTR mode, added in 2001, encrypts a counter (incremented per block from a nonce) to produce a keystream XORed with , enabling high parallelism, no , and misuse resistance if nonces are unique, though nonce catastrophically leaks information. These modes mandate unique IVs or nonces per key to avoid two-time pad weaknesses, where enables XOR-based recovery. For combined confidentiality and , NIST introduced modes like Galois/Counter Mode (GCM) in SP 800-38D (2007), which uses CTR for and a polynomial-based Galois field multiplication for authentication tags, offering efficiency in hardware and resistance to forgery up to 2^32 blocks under a key. Counter with (CCM) in SP 800-38C (2004) pairs CTR with CBC-based MAC, suitable for constrained environments like wireless protocols. These with associated data (AEAD) modes prevent malleability attacks inherent in confidentiality-only modes, where ciphertext modification can alter predictable plaintext without detection. XEX-based Tweaked Codebook with (XTS) in SP 800-38E (2010) targets , using tweakable block ciphers to avoid IV management while handling partial blocks securely.
ModePrimary Security GoalKey PropertiesStandardizationCommon Applications
ECBParallelizable, no IV; pattern leakageSP 800-38A (2001)Key wrapping (avoid for data)
CBCChaining with IV; sequential; neededFIPS 81 (1980); SP 800-38ALegacy file
CFB/OFB (stream-like)Error handling varies; no full-block alignmentFIPS 81; SP 800-38A
CTRParallel, nonce-based; no error propagationSP 800-38AHigh-throughput protocols
GCMCTR + GHASH tag; nonce misuse vulnerabilitySP 800-38D (2007)TLS,
CCMCTR + ; fixed-length tagsSP 800-38C (2004)802.11
XTS (tweakable)Sector-specific; no IVSP 800-38E (2010) (e.g., )
Implementations must adhere to NIST guidelines for IV/nonce randomness (e.g., unpredictable 96-bit for GCM) and key separation to mitigate risks like attacks on short tags. Recent NIST reviews () affirm these modes' robustness against classical threats but note quantum considerations for future transitions.

Zero-Knowledge Proofs and Applications

Zero-knowledge proofs are cryptographic protocols enabling a prover to demonstrate possession of certain to a verifier, confirming the validity of a statement without disclosing the underlying data or any extraneous details. First formalized in 1985 by , Silvio Micali, and Charles Rackoff in their paper "The Knowledge Complexity of Interactive Proof Systems," these proofs extend interactive proof systems by incorporating a zero-knowledge property, allowing simulation of transcripts that reveal no additional knowledge beyond the statement's truth. Such proofs must satisfy three core properties: completeness, where an honest prover with valid information convinces an honest verifier with overwhelming probability; , ensuring that a cheating prover cannot convince the verifier of a except with negligible probability; and zero-knowledge, meaning the verifier's view is computationally indistinguishable from an interaction simulated without access to the secret, thus preserving . Early constructions were interactive and computationally intensive, relying on assumptions like the hardness of quadratic residuosity. Non-interactive variants emerged to address practicality, including zk-SNARKs (zero-knowledge succinct non-interactive arguments of knowledge), which produce compact proofs verifiable in logarithmic time relative to the computation size, though they require a trusted setup phase vulnerable to compromise if the setup parameters are generated adversarially. zk-SNARKs leverage pairing-based and polynomial commitments, enabling efficient verification for complex computations. In contrast, zk-STARKs (zero-knowledge scalable transparent arguments of knowledge) eliminate trusted setups through transparent hash-based commitments and FRI (Fast Reed-Solomon Interactive Oracle Proofs), yielding larger but post-quantum secure proofs resistant to quantum attacks via information-theoretic soundness. Applications span privacy-preserving transactions and scalable verification in distributed systems. In , zk-SNARKs underpin Zcash's shielded transactions, launched in October 2016, allowing users to prove valid spends of private balances without revealing amounts or addresses, relying on the Sapling upgrade's Groth16 protocol for efficiency. For scalability, zk-rollups aggregate thousands of off-chain transactions into succinct proofs submitted on-chain, as implemented in layer-2 solutions like StarkNet using zk-STARKs, reducing gas costs by over 90% while maintaining settlement security on the base layer. Beyond , zero-knowledge proofs facilitate anonymous authentication in identity systems and verifiable of , where clients confirm correct execution of programs without learning inputs or outputs. These protocols enhance causal in adversarial settings by decoupling proof from disclosure, though practical deployments must mitigate risks like proof malleability or verifier collusion.

Homomorphic and Functional Encryption

refers to cryptographic schemes enabling on encrypted data such that the result, when decrypted, matches the outcome of the same operations performed on the underlying plaintexts. This property preserves data during processing, as the data owner retains decryption control while to untrusted parties. Schemes are classified by computational capabilities. Partially homomorphic encryption (PHE) supports unlimited instances of a single operation, such as in the Paillier scheme or in RSA. Somewhat homomorphic encryption (SHE) permits both and but restricts circuit depth due to accumulating noise that eventually prevents correct decryption. Fully homomorphic encryption (FHE), introduced by Craig Gentry in 2009 using ideal lattices, overcomes this by incorporating "" to refresh ciphertexts and enable arbitrary-depth circuits without noise overflow. Gentry's construction, detailed in his STOC 2009 paper, relies on the hardness of lattice problems like shortest vector approximation. Functional encryption generalizes homomorphic approaches by allowing decryption keys that reveal only specified functions of the encrypted data, rather than the full . Formally defined by Boneh, Sahai, and Waters in , it supports predicates or computations where a key for function ff extracts f(m)f(m) from of mm, leaking nothing else. emerges as a special case where ff is the , but functional encryption enables finer-grained control, such as inner-product evaluations or attribute-based access. Constructions often build on bilinear maps or lattices, inheriting similar security assumptions. Applications include privacy-preserving , where models train or infer on encrypted datasets, and in cloud environments. For instance, FHE facilitates encrypted genomic analysis or without exposing sensitive inputs. However, practical deployment faces challenges: FHE operations incur 10^4 to 10^6 times the cost of equivalents due to large ciphertexts (kilobytes to megabytes) and overhead, which can require seconds per operation on standard hardware. Noise growth in SHE and in FHE demand leveled implementations or periodic recryption, limiting scalability for deep neural networks. Recent advances mitigate these issues. By 2023, libraries like TFHE and HElib optimized , achieving sub-second times for certain operations via techniques like programmable bootstrapping. In 2025, schemes integrated FHE with support vector machines for privacy-preserving classification, reducing latency through lattice-based accelerations. Functional encryption variants have enabled efficient predicate matching, though full realizations remain computationally intensive, often relying on assumptions unproven in practice. Security proofs hold under post-quantum assumptions like , but real-world efficiency gains depend on hardware accelerations like GPUs.

Cryptanalysis Methods

Brute-Force and Known-Plaintext Attacks

A , also known as exhaustive key search, systematically enumerates all possible keys in a cipher's key space to identify the one that correctly decrypts a given into intelligible . The computational effort required scales exponentially with key length, typically demanding on the order of 2^k operations for a k-bit key, assuming uniform and no exploitable weaknesses. This method establishes a fundamental baseline for symmetric ciphers, where resistance is quantified by the infeasibility of completing the search within practical time and resource constraints, such as those available to state actors or large-scale clusters. Historical demonstrations underscore the practical limits of brute-force viability. The (DES), with its 56-bit key space of 2^56 possibilities, was rendered insecure by specialized hardware like the Electronic Frontier Foundation's (EFF) DES Cracker, completed in 1998 and capable of testing 90 billion keys per second. This machine decrypted a DES-challenged message in 56 hours, confirming that brute-force attacks on short keys are achievable with dedicated resources costing under $250,000 at the time. In contrast, modern standards like AES-128, with 2^128 keys, defy brute-force: even exhaustive parallelization across global supercomputing power would require time exceeding 156 times the universe's age (approximately 14 billion years) to exhaust half the space on average. Known-plaintext attacks exploit access to one or more pairs of corresponding and , enabling deduction of the key or recovery of additional without full key enumeration. This scenario arises naturally when patterns are predictable, such as standard protocol headers or repeated salutations in diplomatic traffic. Classical substitution ciphers, including the Caesar shift, succumb rapidly; a single known letter pair reveals the fixed shift offset. Polyalphabetic ciphers like Vigenère can be broken by aligning known cribs ( snippets) against to isolate the repeating key stream via or . In linear algebra-based systems such as the Hill cipher, known-plaintext pairs suffice to solve for the matrix key through , assuming sufficient crib length matching the block size. Robust modern ciphers mitigate these attacks by design; for instance, AES resists key recovery from known beyond brute-force equivalents due to its substitution-permutation structure, which diffuses information across rounds without linear shortcuts. Nonetheless, known-plaintext vulnerabilities persist in implementations with weak padding or malleable modes, emphasizing the need for to bind integrity. These attacks highlight causal dependencies in cipher design: security degrades when plaintext predictability correlates with key material exposure, underscoring empirical testing against realistic adversary knowledge.

Advanced Techniques: Differential, Linear, and Side-Channel

Differential cryptanalysis, introduced by Eli Biham and in 1990, exploits probabilistic relationships between differences in pairs of plaintexts and the corresponding differences in ciphertexts to recover key bits in block ciphers. The method tracks how a chosen input difference propagates through the cipher's rounds, particularly through substitution-permutation networks, using characteristics that predict output differences with high probability. For the , it breaks reduced-round versions up to 8 rounds in minutes on a and up to 15 rounds with extensive computation, though full 16-round DES resists practical attacks due to S-box designs that weaken differential probabilities. This technique influenced modern cipher design, such as AES, where developers bound maximum differential probabilities below 2^{-6} per round to ensure security margins. Linear cryptanalysis, developed by Mitsuru Matsui in 1993, is a that identifies linear approximations approximating the cipher as an with non-zero bias. It constructs high-bias linear equations relating bits, bits, and key bits across rounds, using the piling-up lemma to combine approximations: if independent approximations have biases ε_i, the combined bias is approximately ∏ ε_i. Applied to DES, Matsui's algorithm recovers the full 16-round key using about 2^{43} known plaintext-ciphertext pairs, far fewer than brute force's 2^{56}, by iteratively guessing subkey bits and verifying via partial decryption. Unlike differential methods, which focus on differences, linear analysis operates on parities and has prompted countermeasures like nonlinear components with low correlation biases in ciphers such as Serpent and . Side-channel attacks target physical implementations rather than algorithmic weaknesses, extracting secrets from observable leaks like timing variations, power consumption, or electromagnetic emissions during computation. Paul Kocher demonstrated timing attacks in 1996, showing how variable execution times in —such as in RSA—reveal bits of private keys by measuring response times across multiple operations. extends this: simple power analysis () visually inspects traces for operation patterns, while differential power analysis (DPA), refined by Kocher, G.J. Suh, and J. Jaleel in 1999, statistically correlates hypothetical intermediate values with aggregated trace data to isolate key-dependent signals, succeeding with as few as hundreds of traces on devices like smart cards. These attacks, effective against hardware and software realizations of algorithms like AES, underscore the need for constant-time implementations, masking, and noise injection, as algorithmic security alone proves insufficient against implementation-specific vulnerabilities.

Quantum-Specific Threats: Shor's and Grover's Algorithms

Shor's algorithm, introduced by Peter Shor at the 35th Annual Symposium on Foundations of Computer Science in November 1994, enables a quantum computer to factor large composite integers and solve discrete logarithm problems in polynomial time. The algorithm leverages quantum superposition and the quantum Fourier transform to identify the period of a function related to the number to be factored, achieving an exponential speedup over the best-known classical algorithms, which require sub-exponential time. This capability directly threatens public-key cryptographic systems reliant on the computational difficulty of these problems, including RSA encryption—where security depends on the intractability of factoring the product of two large primes—and Diffie-Hellman key exchange, as well as elliptic curve variants like ECDH and ECDSA. Implementing Shor's algorithm to break 2048-bit RSA keys would require a fault-tolerant quantum computer with millions of logical qubits, far beyond current experimental systems limited to hundreds of noisy qubits as of 2024. In contrast to Shor's targeted attack on specific mathematical primitives, , proposed by in 1996, offers a generic quadratic speedup for unstructured search problems, reducing the from O(N)O(N) to O(N)O(\sqrt{N})
Add your contribution
Related Hubs
User Avatar
No comments yet.