Welcome to HBH! If you had an account on hellboundhacker.org you will need to reset your password using the Lost Password system before you will be able to login.

An intro to cryptanalysis.


An intro to cryptanalysis.

By ghostghost | 7345 Reads |
0     0

What is cryptanalysis? Cryptanalysis is the art of examining crypto systems in hopes of finding ways in which they''re not secure. There are many different ways to

Why do I care? It has been said that every good cryptologist is also a skilled cryptanalyst, and it certainly seems to make sense. After all, cryptology is all about security, and trying to break something is often the best way to test it's security. How could you possibly understand how secure your cryptosystem is without first knowing how previous ones have been insecure.

How can a cryptosystem be insecure? Cryptosystems can be insecure in lots of ways. One way is for the encryption algorithm to be too simple, allowing us to find patterns between the ciphertext, key and plaintext. For example, if every even length key always produces an odd length ciphertext, you can reduce the number of possible keys (AKA keyspace) based on knowing the ciphertext. Perhaps the most common weakness in cryptosystems has been a limited number of possible keys, or keyspace. An attacker with sufficient resources could try decrypting the message with every possible key until he got something that looked like plaintext. This type of attack is known as a brute force.

Types of attacks. Modern cryptanalysis is insanely hard, so people working in the field often … well, they almost cheat. They will encrypt a message using a weakened cryptosystem (for example, IDEA with a very short key. Or pgp, given that you know half of the private key too) and try to analyse that. By analysing patterns in the ciphertext, one can get an idea of where the actual algorithm could be weak.

Brute Force. The simplest of attacks. In this, the attacker simply decrypts the ciphertext with every possible key until something looking like plaintext plops out. This will always be theoretically possible, given sufficient resources, however with modern cryptosystems, 'sufficient resources' means a supercomputer the size of our galaxy.

Known/Guessed plaintext. In this attack, the attacker knows, or believes he can guess the original message, either in part or in whole. Since he has the corresponding ciphertext, he can try and use his reasoning to discover a pattern that extends into more of the message, or perhaps discover part of the key.

Given plaintext. In this unlikely scenario, the attacker doesn't just know what the message is, he can actually choose it. A possible example here is if an attacker has accessed the password file of a public site. He can create accounts using whatever password he likes, and then see what the resulting ciphertext is.

A word in closing. As I mentioned above modern cryptosystems are considered extremely secure. People who talk about breaking them come up with numbers a like " a 1, followed by (a 1 followed by a million zeros) zeros ", or phrases like 'if you had a computer the size of the galaxy, and printed a digit on every atom in the universe' and so forth. Still, people once said such things about systems like DES, and the WEP farse has shown just how relevant cryptanalysis can be. The person that breaks WPA will hold the world in their palm for a short while.

Next Up. Another one of DC's cyptanalysis challenges is comming along nicely, and my next article will probably be a case study of an insecure system. maybe: One time pad (with reused key) an enigma code or perhaps WEP

Comments
ghost's avatar
ghost 16 years ago

pretty cool, although I think you could've stuck this material in the other one.

ghost's avatar
ghost 16 years ago

the one-time pad one will be useful soon enough

ghost's avatar
ghost 16 years ago

please talk a little bit of rainbow tables

ghost's avatar
ghost 16 years ago

@only is that in reference to the enc chall ^_^?

ghost's avatar
ghost 15 years ago

A fair introduction to cryptanalysis. Would be interesting to see some more on the methods on how to break different algorithms.