To avoid attackers from guessing the key using a brute-force attack, the key space is usually designed to be very large. Another needed attribute is that the key space designed to be "flat", having no or very few weak keys.