US 11,734,444 B2
Term-based encrypted retrieval privacy
Russell A. Fink, Laurel, MD (US); David R. Zaret, Columbia, MD (US); and Paul McNamee, Ellicott City, MD (US)
Assigned to The Johns Hopkins University, Baltimore, MD (US)
Filed by The Johns Hopkins University, Baltimore, MD (US)
Filed on Sep. 29, 2020, as Appl. No. 17/35,973.
Prior Publication US 2022/0100884 A1, Mar. 31, 2022
Int. Cl. G06F 21/62 (2013.01); G06F 16/2457 (2019.01)
CPC G06F 21/6227 (2013.01) [G06F 16/24575 (2019.01); G06F 2221/2107 (2013.01)] 25 Claims
OG exemplary drawing
 
1. A term-based encrypted retrieval privacy (TERP) data retrieval system comprising:
a data repository server configured to store a plurality of documents, the data repository server comprising:
at least one server memory unit; and
at least one server processor configured to execute instructions stored in the server memory unit to perform operations comprising:
generating a document vector indicative of at least one term contained within the document;
determining a vector forest including a plurality of forest vectors, each forest vector having assigned thereto a vector identifier (ID);
determining vector distances between the document vector and the plurality of forest vectors, and identifying at least one nearest neighbor forest vector associated with the document vector based on the vector distances;
receiving, from a data requesting client, a query including an encrypted ciphertext table that cross-references the vector IDs with a corresponding ciphertext entry (CX);
selecting a given document from the data repository server, the given document having assigned thereto at least one nearest neighbor vector included in the plurality of forest vectors, the at least one nearest neighbor vector having assigned thereto a nearest neighbor vector ID;
comparing the nearest neighbor vector ID of the at least one nearest neighbor vector to the plurality of vector IDs included in the encrypted ciphertext table and generating an encoded search result based, at least in part, on the encrypted ciphertext entries (CX); and
outputting, by the server processor, the encoded search result to the data requesting client.