1. A computer-implemented method for encrypting data, comprising: under the control of one or more computer systems configured with executable instructions, obtaining a set of key usage logs that indicates an amount of usage of a cryptographic key by a set of devices; determining, based at least in part on the set of key usage logs, the amount of usage of the cryptographic key; generating, based at least in part on the amount of usage of the cryptographic key, a determination whether to replace the cryptographic key with another cryptographic key, the determination generated to comply with a condition that use of the cryptographic key in an algorithm, used by the set of devices, to generate an initialization vector based at least in part an input plaintext and an input cryptographic key is such that a probability of repeated use of the cryptographic key and a same initialization vector with different plaintexts is below a threshold; and replacing the cryptographic key with the other cryptographic key as a result of the determination indicating replacement of the cryptographic key with the other cryptographic key.