Let's say that you create a system where a secret is hidden and revealed by a particular key. As well, the key can be broken, but it would take thousands of years. If you keep switching the keys frequently enough that no computer is able to break the key in time, is your system secure? ...well, apart from getting that key stolen.

  • If key generation is not perfectly random and has an exploitable flaw, then in theory one might be able to use that information to understand/guess what key will be generated in future iteration(s) and thus possibly actually reduce system's strength. But that's purely a guess (of philosophical nature) :)
    – LB2
    Commented Mar 21, 2014 at 15:10

2 Answers 2


Assuming no other variables and parameters come into play than the ones that you have described, then YES your system is secure if and only if the method of hiding the secret is secure, i.e. it is not vulnerable to any ciphertext-only or chosen-ciphertext attacks. In both of these attack types, the knowledge of the key is not required.

So for example if your method of hiding the secret is ceaser-cipher, the strength of your key will be immaterial.


The concept you are talking about is key rotation. Key rotation has pros and cons. While you are changing the key so it can't be found, this usually means you need to de-crypt and re-encrypt; that processes can now be attacked because there is a period where the data is now plaintext.

The attack you describe would be basic brute forcing or targeted brute forcing if there was some flaw in the implementation or a way of breaking it was detected. However, keys can also be exposed in other ways:

  • Accidental exposure, such as putting it on an insecure flash drive
  • The key can be stolen, such as someone attacks your host system or steals your secured device
  • Coercion or torture, you are forced to give over your key

The security of the system and the security of the key are related, but should be approached separately. The system is implementing some algorithm to protect information. Can I attack the system to get the functions to send me a copy of the data when its decrypted or can I gain some man-in-the-middle access? Breaking the key may not be as cost effective as looking for other weaknesses in the system on the server or client side. Changing your key has no impact on the reliability of the system; however, if the system was compromised and then later secured, changing a key might be a good idea because now the attacker has it and there is always the potential of attack.

This article disucsses some pros and cons of key rotation.

You must log in to answer this question.

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