Secure collaborative processing of private inputs
AssigneeCipherMode Labs, Inc.
InventorsMohammad Sadegh Riazi, Ilya Razenshteyn
Life of this patent
Estimating the term…
Abstract
The described technology is generally directed towards secure collaborative processing of private inputs. A secure execution engine can process encrypted data contributed by multiple parties, without revealing the encrypted data to any of the parties. The encrypted data can be processed according to any program written in a high-level programming language, while the secure execution engine handles cryptographic processing.
Claims20
A first computing device configured to enable an oblivious random access memory (ORAM) in cooperation with a second computing device, the first computing device comprising:
- a processor;
- and
- a memory that stores executable instructions that, when executed by the processor,
- facilitate performance of operations, comprising:
- creating a first pseudo-random function key, wherein the second computing device creates a second pseudo-random function key;
- using the first pseudo-random function key to mask first data, resulting in first masked data, wherein the second computing device uses the second pseudo-random function key to mask second data, resulting in second masked data;
- sending the first masked data to the second computing device;
- receiving the second masked data from the second computing device;
- using an exclusive OR (XOR) operation to combine the first masked data and the second masked data, resulting in an XOR result;
- and
- storing the XOR result in a first local read only memory at the first computing device.
An oblivious random access memory (ORAM) method performed by three server computing devices, comprising:
- initializing an ORAM read-only memory, wherein:
- first shares of the ORAM read-only memory are stored at a first local computer-readable storage medium at a first of the three server computing devices, and
- second shares of the ORAM read-only memory are stored at a second local computer-readable storage medium at a second of the three server computing devices;
- initializing an ORAM write-only memory, wherein:
- first shares of the ORAM write-only memory are stored at a third local computer-readable storage medium at the first of the three server computing devices, and
- second shares of the ORAM write-only memory are stored at a fourth local computer-readable storage medium at the second of the three server computing devices;
- and
- storing an ORAM stash state at three respective computer-readable storage mediums, wherein each of the three respective computer-readable storage mediums is at a respective server computing device of the three server computing devices.
A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processor, facilitate performance of operations, comprising:
- creating a first pseudo-random function key with a first computing device;
- creating a second pseudo-random function key with a second computing device;
- using the first pseudo-random function key to mask first data, resulting in first masked data;
- using the second pseudo-random function key to mask second data, resulting in second masked data;
- sending the first masked data from the first computing device to the second computing device;
- sending the second masked data from the second computing device to the first computing device;
- using an exclusive OR (XOR) operation to combine the first masked data and the second masked data, resulting in an XOR result;
- and
- storing the XOR result in a first local read only memory at the first computing device.
Dependencies are inferred from the claim text.