Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Isn't it difficult to recognize a successful decryption?

When I hear about methods for breaking encryption algorithms, I notice there is often focused on how to decrypt very rapidly and how to reduce the search space. However, I always wonder how you can recognize a successful decryption, and why this doesn't form a bottleneck. Or is it often assumed that a encrypted/decrypted pair is known?

like image 486
Dimitri C. Avatar asked Sep 02 '10 09:09

Dimitri C.


2 Answers

From Cryptonomicon:

There is a compromise between the two extremes of, on the one hand, not knowing any of the plaintext at all, and, on the other, knowing all of it. In the Cryptonomicon that falls under the heading of cribs. A crib is an educated guess as to what words or phrases might be present in the message. For example if you were decrypting German messages from World War II, you might guess that the plaintext included the phrase "HElL HITLER" or "SIEG HElL." You might pick out a sequence of ten characters at random and say, "Let's assume that this represented HEIL HITLER. If that is the case, then what would it imply about the remainder of the message?"

...

Sitting down in his office with the fresh Arethusa intercepts, he went to work, using FUNERAL as a crib: if this group of seven letters decrypts to FUNERAL, then what does the rest of the message look like? Gibberish? Okay, how about this group of seven letters?

like image 147
Sjoerd Avatar answered Sep 18 '22 20:09

Sjoerd


Generally, you have some idea of the format of the file you expect to result from the decryption, and most formats provide an easy way to identify them. For example, nearly all binary formats such as images, documents, zipfiles, etc, have easily identifiable headers, while text files will contain only ASCII, or only valid UTF-8 sequences.

like image 32
Nick Johnson Avatar answered Sep 22 '22 20:09

Nick Johnson