0

What is a Key space and how does it relate to the strength of a cryptosystem? Comment on the strength of the DES algorithm with a 56 bit key. What relevance does the key space have for passwords?

This is what I found so far I'm stuck though:

Key space refers to the set of all possible permutations of a key. To prevent an attack to find the key used to encrypt a message, the key space is usually designed to be large enough to make such a search infeasible. ~ wikipedia

3
  • 3
    Hints to help you with this homework: How does the number of permutations affect the time needed to try all of these? How does the time needed to try all permutations affect the strength of the system? And how many permutations you have with a 56 bit key? Commented Apr 30, 2017 at 15:49
  • 2
    Wikipedia has a bug here; key space refers to the set of all possible permutations of a cipher. The key is used to pick one of the permutations (i.e. all the possible mappings of plaintext to ciphertext). Commented May 8, 2017 at 18:00
  • Actually I think „all keys with unique permutations of a cipher“ would be better for the purpose of defining work needed to enumerate all required keys.
    – eckes
    Commented Mar 16, 2018 at 21:34

2 Answers 2

1

I'm not clear on what you're having trouble understanding. A cipher is function that takes a key and plaintext, and outputs a ciphertext. The key space is the set of everything that can be used as an input as the key. Generally, what's important is not precisely what is in the key space, but how many distinct elements there are (depending on how the space is defined, you may have multiple keys that result in the same output, so by "distinct", I mean keys that don't always give the same output). This is because one method of breaking encryption is to simply try every key (this is known as "brute force"). The more keys there are, the longer this method takes.

A 56 bits key space has 256 different keys. Suppose you can try one billion keys per second. A billion is about 230, so that means that it will take 226 seconds, or about two years, to try all the possibilities.

2
  • And of course if you, random computer guy, can do a billion per second per machine, state actors can easily afford ten thousand machines and get the job done in two hours. Commented Mar 16, 2018 at 22:05
  • You can do it a lot faster than two years. There are low-cost services that can break DES keys online, for example. A cheap GPU rig could do it too.
    – forest
    Commented Mar 17, 2018 at 0:59
0

The strength of modern secret key encryption methods rests in the secrecy of the encryption key, not in the algorithm being used. Breaking such cryptographic systems, therefore, can be achieved using the process of exhaustive searches over the key space. A key space is the set of all possible key values that a particular enciphering algorithm admits. A transposition example over the English alphabet when thought of as an arbitrary permutation over the alphabet set will consist of 26! Keys, each corresponding to one permutation. While further constraining the permutation method to one that simply maps each letter in the alphabet to one which is at a fixed number of positions to its right (with a wrap around), and by enciphering each letter at a time (block length = 1), the key space narrows down to the much smaller set of 26 elements containing the integers {1,2,3,...,26}. Adding further complexity to this simple permutation transformation by making the block length equal to 3, and mapping each (p1p2p3) block into (e1e2e3) where each letter has its own mapping to a letter at a fixed position to its right, yields a key space with a size of (26!)^3

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .