CPC H04L 9/3218 (2013.01) [H04L 9/30 (2013.01); H04L 9/3247 (2013.01); H04L 9/50 (2022.05); H04L 2209/46 (2013.01)] | 17 Claims |
5. A computer-implemented method comprising:
receiving, with a trusted execution environment (TEE), a first input from a first computing device and at least one second input from at least one other computing device;
generating, with the TEE, a first function output of an n-party computation based on the first input and the at least one second input;
encrypting, with the TEE, the first function output of the n-party computation using at least one public key of the at least one other computing device to produce at least one first encrypted output;
communicating, with the TEE, the at least one first encrypted output to the first computing device;
receiving, with the TEE from the first computing device, at least one first proof of publication associated with the at least one first encrypted output being posted to at least one blockchain accessible by the at least one other computing device;
in response to receiving the at least one first proof of publication from the first computing device, communicating, with the TEE, the first function output of the n-party computation to the first computing device;
receiving, with the TEE, a witness of a witness encryption scheme from the first computing device;
generating, with the TEE, a second function output based on the first input, the at least one second input, and the witness;
encrypting, with the TEE, the second function output using the at least one public key to produce at least one second encrypted output;
communicating, with the TEE, the at least one second encrypted output to the first computing device;
receiving, with the TEE from the first computing device, at least one second proof of publication associated with the at least one second encrypted output being posted to the at least one blockchain; and
in response to receiving the at least one second proof of publication from the first computing device, communicating, with the TEE, the second function output to the first computing device.
|