Methods and systems for blockchain-implemented event-lock encryption
US-11159313-B2 · Oct 26, 2021 · US
US12081677B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-12081677-B2 |
| Application number | US-202318461857-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 6, 2023 |
| Priority date | Dec 11, 2020 |
| Publication date | Sep 3, 2024 |
| Grant date | Sep 3, 2024 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Described are a system, method, and computer program product for secure real-time n-party computation. The method includes receiving a first computation input and a first portion of a one-time key from a first computer device, and receiving a second computation input and a second portion of the one-time key from a second computer device. The method also includes generating the one-time key based on the first and second portion of the one-time key, and executing a computation based on the first and second computation input. The method further includes generating an encrypted output by encrypting the computation with the one-time key, and communicating the encrypted output to the first computer device. The method further includes receiving a proof of publication from the first computer device and, in response to receiving the proof of publication, communicating the one-time key to the first computer device.
Opening claim text (preview).
What is claimed is: 1. A system comprising: a trusted execution environment (TEE) programmed or configured to: receive, from a first computer device associated with a first party, a first computation input and a first portion of a one-time key; receive, from a second computer device associated with a second party, a second computation input and a second portion of the one-time key; generate the one-time key based on the first portion of the one-time key and the second portion of the one-time key; execute a computation based on the first computation input and the second computation input; generate an encrypted output by encrypting the computation with the one-time key; communicate the encrypted output to the first computer device; receive a proof of publication from the first computer device, the proof of publication indicating that the following were published on a ledger accessible to the first computer device and the second computer device: (i) the first portion of the one-time key; and (ii) a digital signature of the second computer device indicating that the second computer device received the encrypted output; and in response to receiving the proof of publication, communicate the one-time key to the first computer device. 2. The system of claim 1 , wherein, when generating the one-time key, the TEE is programmed or configured to: generate the one-time key based on the first portion of the one-time key, the second portion of the one-time key, and a unique nonce associated with an instance of the computation. 3. The system of claim 2 , wherein the first portion of the one-time key is generated from a private key associated with the first computer device, and wherein the second portion of the one-time key is generated from a private key associated with the second computer device. 4. The system of claim 3 , wherein, when receiving the first portion of the one-time key and the second portion of the one-time key, the TEE is programmed or configured to: receive the first portion of the one-time key and the second portion of the one-time key in a first time period; and wherein the TEE is further programmed or configured to: generate a plurality of one-time keys over successive instances of multi-party computation in time periods subsequent the first time period. 5. The system of claim 1 , wherein the TEE is further programmed or configured to: receive, from a third computer device associated with a third party, a third computation input and a third portion of the one-time key; and wherein, when generating the one-time key, the TEE is programmed or configured to: generate the one-time key based on the first portion of the one-time key, the second portion of the one-time key, and the third portion of the one-time key. 6. The system of claim 5 , wherein, when executing the computation, the TEE is programmed or configured to: execute the computation based on the first computation input, the second computation input, and the third computation input; and wherein the proof of publication further indicates that a digital signature of the third computer device was published on the ledger, the digital signature of the third computer device indicating that the third computer device received the encrypted output. 7. The system of claim 6 , wherein the third portion of the one-time key is generated from a private key associated with the third computer device. 8. A computer program product stored on a trusted execution environment (TEE) and comprising at least one non-transitory computer-readable medium including program instructions that, when executed by at least one processor of the TEE, cause the at least one processor to: receive, from a first computer device associated with a first party, a first computation input and a first portion of a one-time key; receive, from a second computer device associated with a second party, a second computation input and a second portion of the one-time key; generate the one-time key based on the first portion of the one-time key and the second portion of the one-time key; execute a computation based on the first computation input and the second computation input; generate an encrypted output by encrypting the computation with the one-time key; communicate the encrypted output to the first computer device; receive a proof of publication from the first computer device, the proof of publication indicating that the following were published on a ledger accessible to the first computer device and the second computer device: (i) the first portion of the one-time key; and (ii) a digital signature of the second computer device indicating that the second computer device received the encrypted output; and in response to receiving the proof of publication, communicate the one-time key to the first computer device. 9. The computer program product of claim 8 , wherein the program instructions that cause the at least one processor to generate the one-time key cause the at least one processor to: generate the one-time key based on the first portion of the one-time key, the second portion of the one-time key, and a unique nonce associated with an instance of the computation. 10. The computer program product of claim 9 , wherein the first portion of the one-time key is generated from a private key associated with the first computer device, and wherein the second portion of the one-time key is generated from a private key associated with the second computer device. 11. The computer program product of claim 10 , wherein the program instructions that cause the at least one processor to receive the first portion of the one-time key and the second portion of the one-time key cause the at least one processor to: receive the first portion of the one-time key and the second portion of the one-time key in a first time period; and wherein the program instructions further cause the at least one processor to: generate a plurality of one-time keys over successive instances of multi-party computation in time periods subsequent the first time period. 12. The computer program product of claim 8 , wherein the program instructions further cause the at least one processor to: receive, from a third computer device associated with a third party, a third computation input and a third portion of the one-time key; and wherein the program instructions that cause the at least one processor to generate the one-time key cause the at least one processor to: generate the one-time key based on the first portion of the one-time key, the second portion of the one-time key, and the third portion of the one-time key. 13. The computer program product of claim 12 , wherein the program instructions that cause the at least one processor to execute the computation cause the at least one processor to: execute the computation based on the first computation input, the second computation input, and the third computation input; and wherein the proof of publication further indicates that a digital signature of the third computer device was published on the ledger, the digital signature of the third computer device indicating that the third computer device received the encrypted output. 14. The computer program product of claim 13 , wherein the third portion of the one-time key is generated from a private key associated with the third computer device. 15. A computer-implemented method comprising: receiving, with at least one processor of a trusted execution environment (TEE), a first computation input and a first portion of a one-time key from a first computer device associated with a first party; receiv
Secure multiparty computation, e.g. millionaire problem · CPC title
using hash chains, e.g. blockchains or hash trees · CPC title
in cryptographic circuits · CPC title
by executing in a restricted environment, e.g. sandbox or secure virtual machine · CPC title
Protecting data integrity, e.g. using checksums, certificates or signatures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.