Homomorphic cryptography on numerical values in digital computing
AssigneeGoogle Inc.
InventorsMarcel M. M. Yung, Sarvar Patel, Binyamin Pinkas
Life of this patent
Estimating the term…
Abstract
Homomorphic cryptography on numerical values in digital computing is described, including converting a numerical value encoded in a bit string of a first size to another bit string of a second size, which is different from the first size; encrypting the numerical value in the another bit string to produce a ciphertext; and storing the ciphertext.
Claims22
A computer-implemented method including a computing device having a storage and a hardware processor, the method comprising:
- at a client having the storage and the hardware processor,
- receiving a user-generated query having a plurality of recognizable terms;
- converting a numerical value encoded in a bit string of a first size to another bit string of a second size, which is different from the first size;
- encrypting the numerical value in the another bit string to produce a ciphertext;
- storing the ciphertext, wherein the converting, the encrypting and the storing comprise securing the user-generated query to generate an encrypted query, so that the plurality of recognizable terms generated by the user-generated query cannot be determined by a server;
- transmitting the encrypted query to the server, to perform the query on encrypted data comprising a mix of regular data and secure data previously provided by the client based on a user-specified determination of the secure data and the regular data, wherein at least one of selection criteria of the query and identities of selected records of the query result cannot be determined by the server;
- and
- interpreting a result of the query provided by the server, the query result including operations performed by the server on the mix of the secured data and the regular data, and providing an output of the query to the user having the plurality of recognizable terms.
A non-transitory computer readable medium, coupled to a computing device having a storage and a hardware processor, having stored therein computer executable instructions for:
- at a client having the storage and the hardware processor,
- receiving a user-generated query having a plurality of recognizable terms;
- converting a numerical value encoded in a bit string of a first size to another bit string of a second size, which is different from the first size;
- encrypting the numerical value in the another bit string to produce a ciphertext;
- storing the ciphertext, wherein the converting, the encrypting and the storing comprise securing the user-generated query to generate an encrypted query, so that the plurality of recognizable terms generated by the user-generated query cannot be determined by a server;
- transmitting the encrypted query to the server, to perform the query on encrypted data comprising a mix of regular data and secure data previously provided by the client based on a user-specified determination of the secure data and the regular data, wherein at least one of selection criteria of the query and identities of selected records of the query result cannot be determined by the server;
- and
- interpreting a result of the query provided by the server, the query result including operations performed by the server on the mix of the secured data and the regular data, and providing an output of the query to the user having the plurality of recognizable terms.
At least one computing device comprising storage and a hardware processor,
- the at least one computing device comprising a client configured to perform:
- receiving a user-generated query having a plurality of recognizable terms,
- converting a numerical value encoded in a bit string of a first size to another bit string of a second size, which is different from the first size;
- encrypting the numerical value in the another bit string to produce a ciphertext;
- and
- storing the ciphertext, wherein the converting, the encrypting and the storing comprise securing the user-generated query to generate an encrypted query, so that the plurality of recognizable terms generated by the user-generated query cannot be determined by a server;
- transmitting the encrypted query to the server, to perform the query on encrypted data comprising a mix of regular data and secure data previously provided by the client based on a user-specified determination of the secure data and the regular data, wherein at least one of selection criteria of the query and identities of selected records of the query result cannot be determined by the server;
- and
- interpreting a result of the query provided by the server, the query result including operations performed by the server on the mix of the secured data and the regular data, and providing an output of the query to the user having the plurality of recognizable terms.
Dependencies are inferred from the claim text.