As with any security mechanism, Attackers have found a number of attacks to defeat cryptosystems. It is important that you understand the threats posed by various cryptographic attacks to minimize the risks posed to your systems.

We covered some of the more common attacks used by malicious individuals attempting to interfere with or intercept encrypted communications between two parties.

##### Brute Force Attack

Brute-force attacks are quite straightforward. Such an attack attempts every possible valid combination for a key or password. They involve using massive amounts of processing power to methodically guess the key used to secure cryptographic communications.

The average amount of time required to discover the key through a brute-force attack is directly proportional to the length of the key.

A brute-force attack will always be successful if given enough time. Every additional bit of key length doubles the time to perform a brute-force attack because the number of potential keys

doubles.

##### Replay Attack

The replay attack is used against cryptographic algorithms that do not incorporate temporal protections. In this attack, the malicious individual intercepts an encrypted message between two parties (often a request for authentication) and then later “replays” the captured message to open a new session. This attack can be defeated by incorporating a time stamp and expiration period into each message.

##### Man in the Middle Attack

In the man-in-the-middle attack, a malicious individual sits between two communicating parties and intercepts all communications (including the setup of the cryptographic session). The attacker responds to the originator’s initialization requests and sets up a secure session with the originator. The attacker then establishes a second secure session with the intended recipient using a different key and posing as the originator. The attacker can then “sit in the middle” of the communication and read all traffic as it passes between the two parties.

##### Implementation Attack

This is a type of attack that exploits weaknesses in the implementation of a cryptography system. It focuses on exploiting the software code, not just errors and flaws but the logic implementation to work the encryption system.

##### Statistical Attack

A statistical attack exploits statistical weaknesses in a cryptosystem, such as floating-point errors and inability to produce truly random numbers.

Statistical attacks attempt to find a vulnerability in the hardware or operating system hosting the cryptography application.

##### Frequency Analysis and the Ciphertext Only Attack

In many cases, the only information you have at your disposal is the encrypted ciphertext message, a scenario known as the ciphertext only attack. In this case, one technique that proves helpful against simple ciphers is frequency analysis—counting the number of times each letter appears in the ciphertext.

Using your knowledge that the letters E, T, O, A, I, and N are the most common in the English language, you can then test several hypotheses:

-If these letters are also the most common in the ciphertext, the cipher was likely a transposition cipher, which rearranged the characters of the plain text without altering them.

-If other letters are the most common in the ciphertext, the cipher is probably some form of substitution cipher that replaced the plaintext characters.

This is a simple overview of frequency analysis, and many sophisticated variations on this technique can be used against polyalphabetic ciphers and other sophisticated cryptosystems.

##### Known Plaintext

##### Known Plaintext

In the known plaintext attack, the attacker has a copy of the encrypted message along with the plaintext message used to generate the ciphertext . This knowledge greatly assists the attacker in breaking weaker codes.

For example, imagine the ease with which you could break the Caesar cipher if you had both a plaintext copy and a ciphertext copy of the same message.