Encryption keys should be replaced as quickly as possible, to minimise risk of later decryption of data, while signature keys tend to require long validity periods. Some public key algorithms provide only digital signatures, or only encryption services, thus necessitating separate keys in any case. Using a series of encryption keys, each with a short lifetime, reduces the information revealed by the compromise of any one private key because each key protects less data. When a public key expires, the corresponding private key is securely wiped. Once the private key has been deleted, an attacker cannot decrypt captured traffic, even with the key owner's full co-operation.
Key generation is typically a time-consuming operation.
A background process could automatically generate a new key when a user's current key is close to expiration. For some algorithms there are trade-offs that can speed up key generation with minimal reduction in security. A group of keys can share a common public modulus with no negative security implications other than that the key then presents a fatter target for pre-computation attacks. Multiple forward secret keys can therefore use the same prime modulus with minimal security reduction. Key distribution can be eased by submitting new keys to key directories, where they will be available for other users to retrieve.