related topics
{math, number, function}
{system, computer, user}
{theory, work, human}
{war, force, army}
{@card@, make, design}
{law, state, case}
{rate, high, increase}
{language, word, form}

Cryptanalysis (from the Greek kryptós, "hidden", and analýein, "to loosen" or "to untie") is the study of methods for obtaining the meaning of encrypted information, without access to the secret information that is normally required to do so. Typically, this involves knowing how the system works and finding a secret key. In non-technical language, this is the practice of codebreaking or cracking the code, although these phrases also have a specialised technical meaning (see code).

"Cryptanalysis" is also used to refer to any attempt to circumvent the security of other types of cryptographic algorithms and protocols in general, and not just encryption. However, cryptanalysis usually excludes methods of attack that do not primarily target weaknesses in the actual cryptography, such as bribery, physical coercion, burglary, keystroke logging, and social engineering, although these types of attack are an important concern and are often more effective than traditional cryptanalysis.

Even though the goal has been the same, the methods and techniques of cryptanalysis have changed drastically through the history of cryptography, adapting to increasing cryptographic complexity, ranging from the pen-and-paper methods of the past, through machines like Bombes and Colossus computers in World War II, to the computer-based schemes of the present. The results of cryptanalysis have also changed — it is no longer possible to have unlimited success in codebreaking, and there is a hierarchical classification of what constitutes an attack. In the mid-1970s, a new class of cryptography was introduced: asymmetric cryptography. Methods for breaking these cryptosystems are typically radically different from before, and usually involve solving carefully-constructed problems in pure mathematics, the best-known being integer factorization.


Full article ▸

related documents
Interpreter (computing)
Character encodings in HTML
Comparison of Java and C++
Prototype-based programming
Haskell (programming language)
Integer (computer science)
Number theory
Pseudorandom number generator
Sheffer stroke
Associative array
Even and odd permutations
Cauchy's integral formula
Yoneda lemma
Stone–Weierstrass theorem
Positive-definite matrix
Integer factorization
Boolean algebra (structure)
Finite difference
Expander graph
Hypercomplex number
Liouville number
Continuum hypothesis
LL parser
Supervised learning
Line integral
Document Type Definition
Algebraically closed field
Solvable group