US 11,921,911 B2
Peripheral device
Stavros Volos, Cambridge (GB); David Thomas Chisnall, Cambridge (GB); Saurabh Mohan Kulkarni, Redmond, WA (US); Kapil Vaswani, Bangalore (IN); Manuel Costa, Cambridge (GB); Samuel Alexander Webster, Cambridge (GB); Cédric Alain Marie Fournet, Cambridge (GB); Richard Osborne, Bristol (GB); Daniel John Pelham Wilkinson, Bristol (GB); and Graham Bernard Cunningham, Chippenham (GB)
Assigned to Microsoft Technology Licensing, LLC., Redmond, WA (US)
Filed by Microsoft Technology Licensing, LLC, Redmond, WA (US)
Filed on Jul. 13, 2021, as Appl. No. 17/374,942.
Application 17/374,942 is a continuation of application No. 16/166,047, filed on Oct. 19, 2018, granted, now 11,126,757.
Prior Publication US 2021/0342492 A1, Nov. 4, 2021
Int. Cl. H04L 29/00 (2006.01); G06F 21/60 (2013.01); G06F 21/85 (2013.01); H04L 9/30 (2006.01); H04L 9/32 (2006.01)
CPC G06F 21/85 (2013.01) [G06F 21/602 (2013.01); H04L 9/30 (2013.01); H04L 9/3265 (2013.01)] 19 Claims
OG exemplary drawing
 
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.