CPC G06F 21/85 (2013.01) [G06F 21/602 (2013.01); H04L 9/30 (2013.01); H04L 9/3265 (2013.01)] | 19 Claims |
1. A device comprising:
a processor;
an encryptor; and
a memory storing at least a part of a first initialization vector associated with data in storage external to the processor, the first initialization vector being for a single use, and comprising virtual addresses of blocks of the data;
the processor being configured to execute computer readable instructions to cause issuance of a read request for the data in the storage external to the processor; and
the encryptor being configured to:
receive a read completion corresponding to the read request, the read completion comprising encrypted text and a second initialization vector;
decrypt the encrypted text using the second initialization vector to produce plaintext; and
provide the plaintext and at least a part of the second initialization vector to the processor;
the processor being configured to:
compare at least a part of the first initialization vector to the at least a part of the second initialization vector; and
in response to determining that the at least a part of the first initialization vector matches the at least a part of the second initialization vector, accept the plaintext.
|