Described is a solution for maintaining the security of encrypted data
despite a compromised private key by using a re-encryption process that
does not require decryption of the encrypted data. The compromised
private key is re-encrypted using a new public key as is the encrypted
symmetric key which the compromised private key can decrypt. When a
decrypted version of the encrypted data is requested, the private key
corresponding to the new public key decrypts both the encrypted version
of the compromised private key and the re-encrypted version of the
symmetric key resulting in the unencrypted compromised private key and
the previously encrypted version of the symmetric key, which when
decrypted using the compromised private key decrypts the encrypted data.
The unencrypted symmetric key can then be encrypted using the new public
key any encrypted compromised private key can be deleted.