The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Oct. 05, 2021

Filed:

Feb. 01, 2019
Applicant:

The University of Chicago, Chicago, IL (US);

Inventors:

Bernard Dickens, III, Chicago, IL (US);

Haryadi Gunawi, Chicago, IL (US);

Ariel Feldman, Chicago, IL (US);

Henry Hoffmann, Chicago, IL (US);

Assignee:

The University of Chicago, Chicago, IL (US);

Attorney:
Primary Examiner:
Int. Cl.
CPC ...
H04L 29/06 (2006.01); H04L 9/06 (2006.01); H04L 9/08 (2006.01); G06F 21/60 (2013.01); G06F 3/06 (2006.01); G06F 16/18 (2019.01);
U.S. Cl.
CPC ...
H04L 9/065 (2013.01); G06F 3/064 (2013.01); G06F 3/0604 (2013.01); G06F 3/0659 (2013.01); G06F 3/0673 (2013.01); G06F 16/1815 (2019.01); G06F 21/602 (2013.01); H04L 9/0618 (2013.01); H04L 9/0643 (2013.01); H04L 9/0656 (2013.01); H04L 9/0861 (2013.01); H04L 2209/38 (2013.01);
Abstract

An embodiment involves receiving a request to write data to a memory unit. The memory unit is divided into one or more logical blocks, each subdivided into groups of sub-blocks encrypted in accordance with a stream cipher. The memory unit maintains a transaction journal that marks each sub-block as dirty or clean. The memory unit stores keycount values for each of the logical blocks. The embodiment also involves: determining that the request seeks to write a portion of the data to a particular sub-block marked as dirty in the transaction journal, decrypting the particular logical block in accordance with the stream cipher, writing the portion of the data to the particular sub-block, incrementing the keycount value of the particular logical block, encrypting the particular logical block using the stream cipher, a key, and the keycount value, and writing the particular logical block to the memory unit.


Find Patent Forward Citations

Loading…