H04L2209/46

SECRET TABLE REFERENCE SYSTEM, METHOD, SECRET CALCULATION APPARATUS AND PROGRAM

A secure table reference system includes a first combining part 11.sub.n for generating [v] of v F.sup.m+nt in which d and v are combined, a difference calculation part 12.sub.n for generating [r] of r that has a difference between a certain element of r and an element before the certain element as an element corresponding to the certain element, a second combining part 13.sub.n for generating [r] of r F.sup.m+nt in which r and an m-dimensional zero are combined, a permutation calculation part 14.sub.n for generating {{}} of a permutation that stably sorts v in ascending order, a permutation application part 15.sub.n for generating [s] of s: =(r) obtained by applying the permutation to r, a vector generation part 16.sub.n for generating [s] of a prefix-sum s of s, an inverse permutation application part for generating [s] of s obtained by applying an inverse permutation .sup.1 of the permutation to s, and an output part 17.sub.n for generating [x] of x F.sup.m consisting of (n.sub.t+1)th and subsequent elements of s.

Arithmetic for Secure Multi-Party Computation with Modular Integers
20210058241 · 2021-02-25 ·

A secure multi-party computation implements real number arithmetic using modular integer representation on the backend. As part of the implementation, a secret shared value jointly stored by multiple parties in a first modular representation is cast into a second modular representation having a larger most significant bit. The parties use a secret shared masking value in the first representation, the range of which is divided into two halves, to mask and reveal a sum of the secret shared value and the secret shared masking value. The parties use a secret shared bit that identifies the half of the range that contains the masking value, along with the sum to collaboratively construct a set of secret shares representing the secret shared value in the second modular format. In contrast with previous work, the disclosed solution eliminates a non-zero probability of error without sacrificing efficiency or security.

Methods and systems for supporting fairness in secure computations

A computer-implemented method, computerized apparatus and computer program product for supporting fairness in secure computations. A trusted execution platform with remote attestation (enclave) is provided to each of a plurality of participants. An authenticated public ledger accessible by all participants is also provided. Each of the enclaves is configured for obtaining at least a portion of an input to a function for computing a joint secret output, complementing the input by obtaining any remainder portion(s) thereof from one or more other enclaves, and, responsive to obtaining an indication from the ledger that the output can be computed by each of the enclaves, providing to the owner participant the output computed using the function and input. At least one of the enclaves is further configured for providing the indication to the ledger responsive to obtaining knowledge that the output can be computed by each of the enclaves.

Digital Asset Delivery Network
20210049600 · 2021-02-18 · ·

A digital asset delivery network that consists of a cryptographic scheme and a decentralized network that runs on a blockchain. The decentralized network consists of a computer program that interact with the network by issuing electronic messages, computer programs that validate those messages as entries into blockchain and agree on blocks to publish next, and computer programs that run cryptographic multi-party computation protocols. The multi-party computation protocol generates public keys necessary to create cryptocurrency or crypto asset wallets, and also generates the digital signatures necessary to create a transaction for submission to the crypto asset's underlying decentralized network and blockchain.

Private analytics using multi-party computation

A method, system, and computer program product for performing strong desensitization of sensitive data within a garbled circuit includes: compiling a predetermined program into a first program, where the compiled first program is encoded in a form of a garbled circuit, and where the predetermined program runs on sensitive data; and executing the first program, where executing the first program includes: executing an analytics function using tokenized data with a first set of sensitive information and analytics data with a second set of sensitive information, where the tokenized data originated from a data provider and the analytics data originated from an analytics provider; and generating an output of the first program using a result of the analytics function, where the output contains desensitized data.

Contact discovery service with privacy aspect

This application relates to a client-server architecture that enables user accounts registered with a service to be discoverable to other users of the service. A discovery protocol includes accessing personal information data stored in an address book of a client device, obfuscating the personal information data, transmitting a request to a service to determine if the obfuscated personal information data matches any potential contacts that have registered as discoverable with the service, and comparing information related to the potential contacts with the contacts included in the address book to determine if the contacts in the address book match any of the potential contacts.

SECURE COMPUTING HARDWARE APPARATUS AND METHODS OF MANUFACTURING A SECURE COMPUTING HARDWARE APPARATUS
20210091952 · 2021-03-25 ·

A method of manufacturing a secure computing hardware apparatus includes receiving at least a secret generator, wherein the secret generator is configured to generate a module-specific secret, receiving a device identifier, wherein the device identifier is configured to produce at least an output comprising a secure proof of the module-specific secret, and communicatively connecting the device identifier to the secret generator.

Private analytics using multi-party computation

A method, system, and computer program product for performing strong desensitization of sensitive data within a garbled circuit includes: compiling a predetermined program into a first program, where the compiled first program is encoded in a form of a garbled circuit, and where the predetermined program runs on sensitive data; and executing the first program, where executing the first program includes: executing an analytics function using tokenized data with a first set of sensitive information and analytics data with a second set of sensitive information, where the tokenized data originated from a data provider and the analytics data originated from an analytics provider; and generating an output of the first program using a result of the analytics function, where the output contains desensitized data.

Masking Text Data for Secure Multiparty Computation

Textual masking for multiparty computation is provided. The method comprises receiving masked input data from a number of contributors, wherein the input data from each contributor has a unique contributor mask value. A unique analyst mask factor is received for each contributor, computed by an analyst as a difference between a uniform analyst mask value and the contributor mask value. An API call is received from the analyst to aggregate the input data from the contributors. The respective analyst mask factors are added to the input data from the contributors, and the data is aggregated and shuffled. Computational results received from the analyst based on the aggregated input data are published. In response to API calls from the contributors, the analyst mask factors are removed from the computational results, wherein computational results received by each contributor are masked only by the respective contributor mask value.

Systems and methods for dividing filters in neural networks for private data computations

A method includes dividing a plurality of filters in a first layer of a neural network into a first set of filters and a second set of filters, applying each of the first set of filters to an input of the neural network, aggregating, at a second layer of the neural network, a respective one of a first set of outputs with a respective one of a second set of outputs, splitting respective weights of specific neurons activated in each remaining layer, at each specific neuron from each remaining layer, applying a respective filter associated with each specific neuron and a first corresponding weight, obtaining a second set of neuron outputs, for each specific neuron, aggregating one of the first set of neuron outputs with one of a second set of neuron outputs and generating an output of the neural network based on the aggregated neuron outputs.