Patents by Inventor Giuseppe Persiano

Giuseppe Persiano has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Publication number: 20230274007
    Abstract: A method for providing response-hiding searchable encryption includes receiving a search query for a keyword from a user device associated with a user. The keyword appears in one or more encrypted documents within a corpus of encrypted documents stored on an untrusted storage device. The method also includes accessing a document oblivious key-value storage (OKVS) to obtain a list of document identifiers associated with the keyword. Each document identifier in the list of document identifiers associated with a respective keyword identifier is concatenated with the keyword and uniquely identifies a respective one of the one or more encrypted documents that the keyword appears in. The method also includes returning the list of document identifiers obtained from the document OKVS to the user device.
    Type: Application
    Filed: May 4, 2023
    Publication date: August 31, 2023
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Patent number: 11727124
    Abstract: A method executing an instruction (300) to execute a query (q) for a data block (102) and determining whether the data block is stored in a block stash (370). When the data block is stored in the block stash during a download phase, the method includes removing the data block from the block stash, sending a fake query (304) to a distributed system (140) to retrieve a random data block stored in memory (114) of a distributed system (140), and discarding the random data block. When a current version of the data block is stored in the block stash during an overwrite phase, the method includes sending a fake query to the distributed system to retrieve another random data block stored in the memory of the distributed system, decrypting and re-encrypting the random data block with fresh randomness, and re-uploading the re-encrypted random data block onto the distributed system.
    Type: Grant
    Filed: January 12, 2018
    Date of Patent: August 15, 2023
    Assignee: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Publication number: 20230185960
    Abstract: A method includes initializing a client state on a client device be executing a private batched sum retrieval instruction to compute c sums O of data blocks from an untrusted storage device. Each computed sum O stored on memory hardware of the client device and including a sum of a corresponding subset S of exactly k data blocks. The method also includes a query instruction to retrieve a query block Bq stored on the untrusted storage device by iterating through each of the c sums O of data blocks to identify one of the c sums O that does not include the query block Bq, instructing a service to pseudorandomly partition the untrusted storage device into partitions and sum the data blocks in each partition to determine a corresponding encrypted data block sum.
    Type: Application
    Filed: February 10, 2023
    Publication date: June 15, 2023
    Applicant: Google LLC
    Inventors: Sarvar Patel, Kevin Yeo, Giuseppe Persiano
  • Patent number: 11669624
    Abstract: A method for providing response-hiding searchable encryption includes receiving a search query for a keyword from a user device associated with a user. The keyword appears in one or more encrypted documents within a corpus of encrypted documents stored on an untrusted storage device. The method also includes accessing a document oblivious key-value storage (OKVS) to obtain a list of document identifiers associated with the keyword. Each document identifier in the list of document identifiers associated with a respective keyword identifier is concatenated with the keyword and uniquely identifies a respective one of the one or more encrypted documents that the keyword appears in. The method also includes returning the list of document identifiers obtained from the document OKVS to the user device.
    Type: Grant
    Filed: December 16, 2019
    Date of Patent: June 6, 2023
    Assignee: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Publication number: 20230137882
    Abstract: A method includes executing an instruction to execute a query for a data block, the data block associated with a corresponding memory level of a logarithmic number of memory levels (li) of memory, each memory level (li) including physical memory (RAMi) residing on memory hardware of a distributed system. The method also includes retrieving a value associated with the data block from an oblivious hash table using a corresponding key, and extracting un-queried key value pairs from the oblivious hash table associated with un-queried data blocks after executing a threshold number of queries for data blocks. The method also includes a multi-array shuffle routine on the extracted key value pairs from the oblivious hash table to generate an output array containing the un-queried key value pairs.
    Type: Application
    Filed: December 31, 2022
    Publication date: May 4, 2023
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano, Mariana Raykova
  • Patent number: 11593516
    Abstract: A method (500) includes initializing a client state (250) on a client device (120) be executing a private batched sum retrieval instruction (200) to compute c sums O of data blocks (102) from an untrusted storage device (150). Each computed sum O stored on memory hardware (122) of the client device and including a sum of a corresponding subset S of exactly k data blocks. The method also includes a query instruction (300) to retrieve a query block Bq stored on the untrusted storage device by iterating through each of the c sums O of data blocks to identify one of the c sums O that does not include the query block Bq, instructing a service to pseudorandomly partition the untrusted storage device into partitions and sum the data blocks in each partition to determine a corresponding encrypted data block sum (302).
    Type: Grant
    Filed: May 7, 2018
    Date of Patent: February 28, 2023
    Assignee: Google LLC
    Inventors: Sarvar Patel, Kevin Yeo, Giuseppe Persiano
  • Patent number: 11574073
    Abstract: A method for sharing read access to a document stored on memory hardware. The method includes receiving a shared read access command from a sharor sharing read access to a sharee for a document stored on memory hardware in communication with the data processing hardware, and receiving a shared read access request from the sharee. The shared read access command includes an encrypted value and a first cryptographic share value based on a write key, a read key, a document identifier, and a sharee identifier. The method also includes multiplying the first and second cryptographic share values to determine a cryptographic read access value. The cryptographic read access value authorizes read access to the sharee for the document. The method also includes storing a read access token for the sharee including the cryptographic read access value and the encrypted value in a user read set of the memory hardware.
    Type: Grant
    Filed: August 30, 2021
    Date of Patent: February 7, 2023
    Assignee: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Patent number: 11544353
    Abstract: A method includes executing an instruction to execute a query for a data block, the data block associated with a corresponding memory level of a logarithmic number of memory levels (li) of memory, each memory level (li) including physical memory (RAMi) residing on memory hardware of a distributed system. The method also includes retrieving a value associated with the data block from an oblivious hash table using a corresponding key, and extracting un-queried key value pairs from the oblivious hash table associated with un-queried data blocks after executing a threshold number of queries for data blocks. The method also includes a multi-array shuffle routine on the extracted key value pairs from the oblivious hash table to generate an output array containing the un-queried key value pairs.
    Type: Grant
    Filed: May 6, 2021
    Date of Patent: January 3, 2023
    Assignee: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano, Mariana Raykova
  • Patent number: 11250151
    Abstract: A method for performing encrypted search includes receiving a search query for a plurality of keywords from a user device that appear in one or more encrypted documents stored on an untrusted storage device. The method also includes accessing an encrypted search index to obtain a first list of document identifiers each representative of a document that includes a first keyword and a second keyword of the plurality of keywords. The method also includes, for each remaining keyword, determining a corresponding list of document identifiers each representative of a document that includes the first, second, and respective remaining keyword. The method includes determining, based on the first list of document identifiers and each corresponding list of document identifiers, a second list of document identifiers each representative of a document that includes each of the plurality of keywords. The method also includes returning the second list to the user device.
    Type: Grant
    Filed: May 5, 2020
    Date of Patent: February 15, 2022
    Assignee: Google LLC
    Inventors: Kevin Yeo, Joon Young Seo, Giuseppe Persiano, Sarvar Patel
  • Publication number: 20210390202
    Abstract: A method for sharing read access to a document stored on memory hardware. The method includes receiving a shared read access command from a sharor sharing read access to a sharee for a document stored on memory hardware in communication with the data processing hardware, and receiving a shared read access request from the sharee. The shared read access command includes an encrypted value and a first cryptographic share value based on a write key, a read key, a document identifier, and a sharee identifier. The method also includes multiplying the first and second cryptographic share values to determine a cryptographic read access value. The cryptographic read access value authorizes read access to the sharee for the document. The method also includes storing a read access token for the sharee including the cryptographic read access value and the encrypted value in a user read set of the memory hardware.
    Type: Application
    Filed: August 30, 2021
    Publication date: December 16, 2021
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Publication number: 20210350014
    Abstract: A method for performing encrypted search includes receiving a search query for a plurality of keywords from a user device that appear in one or more encrypted documents stored on an untrusted storage device. The method also includes accessing an encrypted search index to obtain a first list of document identifiers each representative of a document that includes a first keyword and a second keyword of the plurality of keywords. The method also includes, for each remaining keyword, determining a corresponding list of document identifiers each representative of a document that includes the first, second, and respective remaining keyword. The method includes determining, based on the first list of document identifiers and each corresponding list of document identifiers, a second list of document identifiers each representative of a document that includes each of the plurality of keywords. The method also includes returning the second list to the user device.
    Type: Application
    Filed: May 5, 2020
    Publication date: November 11, 2021
    Applicant: Google LLC
    Inventors: Kevin YEO, Joon Young SEO, Giuseppe PERSIANO, Sarvar PATEL
  • Patent number: 11126742
    Abstract: A method for sharing read access to a document stored on memory hardware. The method includes receiving a shared read access command from a sharor sharing read access to a sharee for a document stored on memory hardware in communication with the data processing hardware, and receiving a shared read access request from the sharee. The shared read access command includes an encrypted value and a first cryptographic share value based on a write key, a read key, a document identifier, and a sharee identifier. The method also includes multiplying the first and second cryptographic share values to determine a cryptographic read access value. The cryptographic read access value authorizes read access to the sharee for the document. The method also includes storing a read access token for the sharee including the cryptographic read access value and the encrypted value in a user read set of the memory hardware.
    Type: Grant
    Filed: February 4, 2020
    Date of Patent: September 21, 2021
    Assignee: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Publication number: 20210279301
    Abstract: A method includes executing an instruction to execute a query for a data block, the data block associated with a corresponding memory level of a logarithmic number of memory levels (li) of memory, each memory level (li) including physical memory (RAMi) residing on memory hardware of a distributed system. The method also includes retrieving a value associated with the data block from an oblivious hash table using a corresponding key, and extracting un-queried key value pairs from the oblivious hash table associated with un-queried data blocks after executing a threshold number of queries for data blocks. The method also includes a multi-array shuffle routine on the extracted key value pairs from the oblivious hash table to generate an output array containing the un-queried key value pairs.
    Type: Application
    Filed: May 6, 2021
    Publication date: September 9, 2021
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano, Mariana Raykova
  • Publication number: 20210192076
    Abstract: A method (500) includes initializing a client state (250) on a client device (120) be executing a private batched sum retrieval instruction (200) to compute c sums O of data blocks (102) from an untrusted storage device (150). Each computed sum O stored on memory hardware (122) of the client device and including a sum of a corresponding subset S of exactly k data blocks. The method also includes a query instruction (300) to retrieve a query block Bq stored on the untrusted storage device by iterating through each of the c sums O of data blocks to identify one of the c sums O that does not include the query block Bq, instructing a service to pseudorandomly partition the untrusted storage device into partitions and sum the data blocks in each partition to determine a corresponding encrypted data block sum (302).
    Type: Application
    Filed: May 7, 2018
    Publication date: June 24, 2021
    Applicant: Google LLC
    Inventors: Sarvar Patel, Kevin Yeo, Giuseppe Persiano
  • Patent number: 11023168
    Abstract: A method includes executing an instruction to execute a query for a data block, the data block associated with a corresponding memory level of a logarithmic number of memory levels (li) of memory, each memory level (li) including physical memory (RAMi) residing on memory hardware of a distributed system. The method also includes retrieving a value associated with the data block from an oblivious hash table using a corresponding key, and extracting un-queried key value pairs from the oblivious hash table associated with un-queried data blocks after executing a threshold number of queries for data blocks. The method also includes a multi-array shuffle routine on the extracted key value pairs from the oblivious hash table to generate an output array containing the un-queried key value pairs.
    Type: Grant
    Filed: March 26, 2019
    Date of Patent: June 1, 2021
    Assignee: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano, Mariana Raykova
  • Publication number: 20200387615
    Abstract: A method executing an instruction (300) to execute a query (q) for a data block (102) and determining whether the data block is stored in a block stash (370). When the data block is stored in the block stash during a download phase, the method includes removing the data block from the block stash, sending a fake query (304) to a distributed system (140) to retrieve a random data block stored in memory (114) of a distributed system (140), and discarding the random data block. When a current version of the data block is stored in the block stash during an overwrite phase, the method includes sending a fake query to the distributed system to retrieve another random data block stored in the memory of the distributed system, decrypting and re-encrypting the random data block with fresh randomness, and re-uploading the re-encrypted random data block onto the distributed system.
    Type: Application
    Filed: January 12, 2018
    Publication date: December 10, 2020
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Publication number: 20200342118
    Abstract: A method for providing response-hiding searchable encryption includes receiving a search query for a keyword from a user device associated with a user. The keyword appears in one or more encrypted documents within a corpus of encrypted documents stored on an untrusted storage device. The method also includes accessing a document oblivious key-value storage (OKVS) to obtain a list of document identifiers associated with the keyword. Each document identifier in the list of document identifiers associated with a respective keyword identifier is concatenated with the keyword and uniquely identifies a respective one of the one or more encrypted documents that the keyword appears in. The method also includes returning the list of document identifiers obtained from the document OKVS to the user device.
    Type: Application
    Filed: December 16, 2019
    Publication date: October 29, 2020
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Publication number: 20200175192
    Abstract: A method for sharing read access to a document stored on memory hardware. The method includes receiving a shared read access command from a sharor sharing read access to a sharee for a document stored on memory hardware in communication with the data processing hardware, and receiving a shared read access request from the sharee. The shared read access command includes an encrypted value and a first cryptographic share value based on a write key, a read key, a document identifier, and a sharee identifier. The method also includes multiplying the first and second cryptographic share values to determine a cryptographic read access value. The cryptographic read access value authorizes read access to the sharee for the document. The method also includes storing a read access token for the sharee including the cryptographic read access value and the encrypted value in a user read set of the memory hardware.
    Type: Application
    Filed: February 4, 2020
    Publication date: June 4, 2020
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Patent number: 10592685
    Abstract: A method for sharing read access to a document stored on memory hardware. The method includes receiving a shared read access command from a sharor sharing read access to a sharee for a document stored on memory hardware in communication with the data processing hardware, and receiving a shared read access request from the sharee. The shared read access command includes an encrypted value and a first cryptographic share value based on a write key, a read key, a document identifier, and a sharee identifier. The method also includes multiplying the first and second cryptographic share values to determine a cryptographic read access value. The cryptographic read access value authorizes read access to the sharee for the document. The method also includes storing a read access token for the sharee including the cryptographic read access value and the encrypted value in a user read set of the memory hardware.
    Type: Grant
    Filed: January 24, 2018
    Date of Patent: March 17, 2020
    Assignee: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano
  • Publication number: 20190310799
    Abstract: A method includes executing an instruction to execute a query for a data block, the data block associated with a corresponding memory level of a logarithmic number of memory levels (li) of memory, each memory level (li) including physical memory (RAMi) residing on memory hardware of a distributed system. The method also includes retrieving a value associated with the data block from an oblivious hash table using a corresponding key, and extracting un-queried key value pairs from the oblivious hash table associated with un-queried data blocks after executing a threshold number of queries for data blocks. The method also includes a multi-array shuffle routine on the extracted key value pairs from the oblivious hash table to generate an output array containing the un-queried key value pairs.
    Type: Application
    Filed: March 26, 2019
    Publication date: October 10, 2019
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Giuseppe Persiano, Mariana Raykova