Patent ID: 8661259

Claim:
A method of encrypting at a local computer and storing on a remote computer deduplicated information, the method comprising: generating a first key and a second key using a cryptographic function of the local computer; placing a segment of data into a working memory at the local computer; performing a keyed hashing function on the segment of data using the first key to generate an initialization vector (IV); encrypting the segment of data using a two-key encryption routine using the second key and the IV to generate an encrypted segment; performing a hash of the encrypted segment to create a digest; sending the digest to the remote computer external to the local computer; receiving from the remote computer an indication of whether the digest is present at the remote computer; when the digest is not present at the remote computer, sending the encrypted segment to the remote computer; storing the IV and the digest at a local memory of the local computer retrieving from the local memory at the local computer i) the digest and ii) the IV corresponding to the segment of data; receiving the encrypted segment from the remote computer; decrypting the encrypted segment using the second key and the IV, the decrypting performed using the two-key encryption routine; and saving the segment of data to the local memory to recover the segment of data.