In general, how does an attacker approach cracking a symmetric key-based system in which the attacker only has access to the cipher text (and the function if needed). How can I answer this in terms of a 20-bit binary key, or a 128-bit binary key?
To crack a symmetric system, an attacker needs at least the secret or private key and the algorithm. These two items run against the cipher text to decrypt it into plain text. An attack using only the cipher text, as you describe, is called a cipher text-only attack. However, the job is easier, if the attacker captures the private key – a cinch to grab off the wire if it's sent openly over the Internet.
In a cipher text only attack, the code is cracked by brute force. That means trial and error, looking for patterns that can be exploited and translated back into plaintext. Essentially, the attacker tries to guess the private key that will unlock the code and then tries to encrypt text with the guessed private key and continues this process until the encrypted text matches what the attacker already possesses.
Modern cryptographic systems can only be created by computers that are able to generate the amount of combinations required to create complex codes. Then, these codes can only be cracked by other computers able to match their wits in the number of keys they can generate to try to crack the code.
That is why key length is crucial in determining whether or not a code can be cracked. Even with high-speed computers, the time it takes to crack a code depends on the length of the key, which increases the strength of encryption. It can mean the difference between hours with a shorter key of 20 bits, or years with a 128-bit key, which means the code for practical purposes is unbreakable.
Another way to crack a code is the known plain text approach. In this method, the attacker has copies of both the cipher text and the corresponding plain text from which it was derived. The attacker has a direct translation to work with and two related pieces of text that make it easier for a computer to churn into keys for unlocking the code.
Dig Deeper on Password management and policy
Related Q&A from Joel Dubin
Ensuring authenticity of online communications is critical to conduct business. Learn how to use a public key and private key in digital signatures ... Continue Reading
Learn about the purpose of CAPTCHA challenges that enable websites to differentiate bots from authentic users to stop spammers from hijacking forums ... Continue Reading
Proper planning is at the top of the list for single sign-on best practices, but it's important to get enterprise SSO implementations off to a good ... Continue Reading