Patents by Inventor Kevin Yeo

Kevin Yeo 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).

  • 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
  • Patent number: 11216433
    Abstract: A method for providing encrypted search includes receiving, at a user device associated with a user, a search query for a keyword that appears in one or more encrypted documents stored on an untrusted storage device and accessing a count table to obtain a count of documents that include the keyword. The method also includes generating a delegatable pseudorandom function (DPRF) based on the keyword, a private cryptographic key, and the count of documents. The method also includes evaluating a first portion of the DPRF and delegating a remaining second portion of the DPRF to the untrusted storage device which causes the untrusted storage device to evaluate the DPRF and access an encrypted search index associated with the documents. The untrusted storage device determines one or more encrypted documents associated with DPRF and returns, to the user device, an identifier for each encrypted document associated with the DPRF.
    Type: Grant
    Filed: December 12, 2019
    Date of Patent: January 4, 2022
    Assignee: Google LLC
    Inventors: Kevin Yeo, Ahmet Erhan Nergiz, Nicolas Lidzborski, Laetitia Estelle Baudoin, 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: 20210234688
    Abstract: A method for outsourcing exponentiation in a private group includes executing a query instruction to retrieve a query element stored on an untrusted server by selecting a prime factorization of two or more prime numbers of a modulus associated with the query element stored on the server, obtaining a group element configured to generate a respective one of the prime numbers, generating a series of base values using the prime factorization and the group element, and transmitting the series of base values from the client device to the server. The server is configured to determine an exponentiation of the group element with an exponent stored on the server using the series of base values. The method also includes receiving a result from the server based on the exponentiation of the group element with the exponent.
    Type: Application
    Filed: April 16, 2021
    Publication date: July 29, 2021
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Phillipp Schoppmann
  • 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
  • Publication number: 20210182261
    Abstract: A method for providing encrypted search includes receiving, at a user device associated with a user, a search query for a keyword that appears in one or more encrypted documents stored on an untrusted storage device and accessing a count table to obtain a count of documents that include the keyword. The method also includes generating a delegatable pseudorandom function (DPRF) based on the keyword, a private cryptographic key, and the count of documents. The method also includes evaluating a first portion of the DPRF and delegating a remaining second portion of the DPRF to the untrusted storage device which causes the untrusted storage device to evaluate the DPRF and access an encrypted search index associated with the documents. The untrusted storage device determines one or more encrypted documents associated with DPRF and returns, to the user device, an identifier for each encrypted document associated with the DPRF.
    Type: Application
    Filed: December 12, 2019
    Publication date: June 17, 2021
    Applicant: Google LLC
    Inventors: Kevin Yeo, Ahmet Erhan Nergiz, Nicolas Lidzborski, Laetitia Estelle Baudoin, Sarvar Patel
  • Publication number: 20210184840
    Abstract: A method for searchable encryption with a public key includes receiving an operation request front a user device associated with a user requesting that encryption of data associated with the user. The data includes a corpus of documents stored on a remote storage device. The method also includes receiving a public key associated with the user. The public key includes an asymmetric cryptographic public key. The method also includes generating a random data key. The data key includes a symmetric cryptographic key. The method also includes encrypting, using the data key, a search index for the corpus of documents based on keywords within the corpus of documents. The method also includes encrypting, using the public key, the data key and sending the encrypted data key to a user device associated with the user.
    Type: Application
    Filed: December 12, 2019
    Publication date: June 17, 2021
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel
  • Publication number: 20210182408
    Abstract: A method for providing an encrypted search system includes receiving a search query for a keyword that appears in one or more encrypted emails stored on an untrusted storage device and accessing, a count table to obtain a count of unique emails within the emails that include the keyword. The method also includes generating a delegatable pseudorandom function (DPRF) based on the keyword, a private cryptographic key, and the count of unique emails that include the keyword and delegating at least a portion of the DPRF to the untrusted storage device that causes the storage device to evaluate the delegated DPRF, access an encrypted search index associated with the emails, and determine one or more encrypted emails associated with the delegated DPRF based on the encrypted search index. The storage device also returns, to the user device, an identifier for each encrypted email associated with the delegated DPRF.
    Type: Application
    Filed: December 13, 2019
    Publication date: June 17, 2021
    Applicant: Google LLC
    Inventors: Kevin Yeo, Ahmet Erhan Nergiz, Laetitia Estelle Baudoin, Nicolas Lidzborski, Sarvar Patel
  • 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
  • Patent number: 11005654
    Abstract: A method for outsourcing exponentiation in a private group includes executing a query instruction to retrieve a query element stored on an untrusted server by selecting a prime factorization of two or more prime numbers of a modulus associated with the query element stored on the server, obtaining a group element configured to generate a respective one of the prime numbers, generating a series of base values using the prime factorization and the group element, and transmitting the series of base values from the client device to the server. The server is configured to determine an exponentiation of the group element with an exponent stored on the server using the series of base values. The method also includes receiving a result from the server based on the exponentiation of the group element with the exponent.
    Type: Grant
    Filed: May 14, 2019
    Date of Patent: May 11, 2021
    Assignee: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Phillipp Schoppmann
  • 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: 20200366482
    Abstract: A method for outsourcing exponentiation in a private group includes executing a query instruction to retrieve a query element stored on an untrusted server by selecting a prime factorization of two or more prime numbers of a modulus associated with the query element stored on the server, obtaining a group element configured to generate a respective one of the prime numbers, generating a series of base values using the prime factorization and the group element, and transmitting the series of base values from the client device to the server. The server is configured to determine an exponentiation of the group element with an exponent stored on the server using the series of base values. The method also includes receiving a result from the server based on the exponentiation of the group element with the exponent.
    Type: Application
    Filed: May 14, 2019
    Publication date: November 19, 2020
    Applicant: Google LLC
    Inventors: Kevin Yeo, Sarvar Patel, Phillipp Schoppmann
  • Publication number: 20200358610
    Abstract: A method includes obtaining a plaintext query that includes a sequence of plaintext integers and generating a polynomial having coefficients that include the sequence of plaintext integers of the plaintext query. The method also includes encrypting the polynomial using a secret encryption key and transmitting the encrypted polynomial to a server. The secret encryption key is randomly sampled from a ciphertext space and the server is configured to expand the encrypted polynomial using a public encryption key to obtain a sequence of encrypted integers corresponding to the sequence of plaintext integers. The method also includes receiving an encrypted result from the server. The encrypted result is based on the sequence of encrypted integers.
    Type: Application
    Filed: December 3, 2019
    Publication date: November 12, 2020
    Applicant: Google LLC
    Inventors: Kevin Yeo, Asra Ali, Tancrede Lepoint, Sarvar Patel
  • 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