In cryptography, a weak key is a key which when used with a specific cipher, makes the cipher behave in some undesirable way, and simplifies breaking (cracking) the ciphertext.
Weak keys usually represent a very small fraction of the overall key space, which means that if someone generates a random key to encrypt a message, it is a rare condition that weak keys will cause a security problem. However, it is considered a good design for a cipher to have no weak keys ("quality chiper"). A cipher with no weak keys is said to have a flat, or linear, key space.
Examples of 128-Bits weak keys
- All zeros (0x0000000000000000)
- All ones (0xFFFFFFFFFFFFFFFF)
- Alternating '1' + '0' (0x0101010101010101)
- Alternating 'F' + 'E' (0xFEFEFEFEFEFEFEFE)
- Alternating 'E' + '1' (0xE1E1E1E1F0F0F0F0) or (0x1E1E1E1E0F0F0F0F)