Cryptoanalysis is a synonym for codebreaking and refers to the practice of analyzing ciphertext with the intent of breaking it or "cracking the code". Cryptoanalysis is the study of ways that can be used to obtain plaintext information from encrypted information without using the intended method such as using a key to decrypt the information.

Cryptoanalysis attempts to attack weaknesses in the methods used to encrypt code or the methods used to generate keys.

There are several cryptoanalysis methods including:

  1. Linear cryptoanalysis is a plaintext attack which uses linear approximation to determine the behavior of the block cipher. If enough plaintest and matching ciphertest are obtained, information about the key can eventually be discovered. It has been used successfully against FEAL and DES.
  2. Differential cryptoanalysis is basically a plaintext attack using chosen plaintest and depends on an analysis of the differences between two related plaintexts as they are encrypted using the same key. By carefully analyzing the data the probability of possible keys being used to encrypt the data can be calculated and the correct key can be eventually identified.