I am studying for network security exam. And in the slide about Key Management, under a heading Key Verification I see this:

Key Verification

  • Almost all cryptographic algorithms have some weak keys that should not be used.
  • With the help of key verification procedures, these keys can be regenerated if they occur.

This doesn't make sense to me, how some particular key in algorithm might be weaker then any other key? Does key verification mean something else? And lets just for the moment imagine that some are weaker, then why would they be generated in the first place?


There are many types of weak keys, some of them make it vulnerable to chosen plaintext attack, some of them may leak some statistical properties through the plaintext, some keys generate same subkeys for multiple rounds of an algorithm etc. See https://en.wikipedia.org/wiki/Weak_key .

Keys are usualy generated randomly. The randomness is tightly connected with unpredicability, which is of course very desired property of key generation. It would be probably rather hard (and error-prone) to skip all the weak keys. (The hardness, however, depends on the algorithm.) Just identifying the weak keys and restarting the key generation is probably much simpler. Since there are usually few weak keys, it is usually rare to generate one and probability of repeated random choosing a weak key is negligible, so it is very improbable to get stuck for a long time in a loop because of weak keys.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.