# US 2019/0377908 A1 · Long-term on-demand service for executing active-secure computations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2019/0377908 A1
- Document ID: US20190377908A1
- Status: Published application
- Kind: A1
- Application number: 16/433,455
- Filed: 2019-06-06
- Published: 2019-12-12
- Earliest claimed: 2018-06-06
- Assignees: The Trustees of Indiana University
- Applicants: The Trustees of Indiana University
- Inventors: Ruiyu ZHU; Yan HUANG
- Web page: https://patentgrep.com/patent/US20190377908A1

## CPC

- G06F 21/72: in cryptographic circuits
- G06F 11/00: Error detection; Error correction; Monitoring (error detection, correction or monitoring in information storage based on relative movement between record carrier and transducer G11B20/18; monitoring, i.e. supervising the progress of recording or reproducing G11B27/36; in static stores G11C29/00)
- G06F 12/14: Protection against unauthorised use of memory {or access to memory}
- G06F 21/602: {Providing cryptographic facilities or services}
- G06F 9/541: {via adapters, e.g. between incompatible applications}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Technologies are disclosed herein for running a long-term on-demand service for executing actively-secure computations. A function circuit may be represented as a stream of buckets, in which each bucket represents a logical AND gate. A pool having a plurality of garbled AND gates is generated. Garbled AND gates are randomly selected from the pool for placement in one of the buckets. An output for the bucket is determined by an evaluation of the selected garbled AND gates. The output represents an execution of the logical AND gate. The determined output is applied as a parameter in a secure protocol.

## Claims

### Claim 1

A computer-implemented method for performing secure computation of a function circuit represented as a plurality of buckets, each bucket representing a logical AND gate, the computer-implemented method comprising:
generating, by execution of one or more processors, a pool having a plurality of garbled AND gates;
randomly selecting at least one of the garbled AND gates from the pool for placement in one of the plurality of buckets;
determining, by an evaluation of the selected garbled AND gates, an output of the bucket, the output representing an execution of the logical AND gate; and
applying the determined output as a parameter in a secure protocol.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising, inserting additional garbled AND gates into the pool.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the selected garbed AND gates are evaluated by execution of a BatchedCut protocol.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the BatchedCut protocol is a Large Efficient Garbled-circuit Optimization (LEGO) protocol.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, further comprising, determining, in the plurality of garbled AND gates, whether a faulty garbled AND gate exists in the pool.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the random selection of the at least one of the garbled AND gates is performed based on a collaborative coin-tossing protocol.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, further comprising:
generating a hash for each of the plurality of garbled AND gates; and
storing the hash for each of the plurality of garbled AND gates in a Merkle tree.

### Claim 8

A computer-readable storage medium, which, when executed on one or more processors, performs an operation for performing secure computation of a function circuit represented as a plurality of buckets, each bucket representing a logical AND gate, the operation comprising:
generating a pool having a plurality of garbled AND gates;
randomly selecting at least one of the garbled AND gates from the pool for placement in one of the plurality of buckets;
determining, by an evaluation of the selected garbled AND gates, an output of the bucket, the output representing an execution of the logical AND gate; and
applying the determined output as a parameter in a secure protocol.

### Claim 9 (depends on 8)

The computer-readable storage medium of claim 8, wherein the operation further comprises, inserting additional garbled AND gates into the pool.

### Claim 10 (depends on 8)

The computer-readable storage medium of claim 8, wherein the selected garbed AND gates are evaluated by execution of a BatchedCut protocol.

### Claim 11 (depends on 10)

The computer-readable storage medium of claim 10, wherein the BatchedCut protocol is a Large Efficient Garbled-circuit Optimization (LEGO) protocol.

### Claim 12 (depends on 8)

The computer-readable storage medium of claim 8, wherein the operation further comprises, determining, in the plurality of garbled AND gates, whether a faulty garbled AND gate exists in the pool.

### Claim 13 (depends on 8)

The computer-readable storage medium of claim 8, wherein the random selection of the at least one of the garbled AND gates is performed based on a collaborative coin-tossing protocol.

### Claim 14 (depends on 8)

The computer-readable storage medium of claim 8, wherein the operation further comprises:
generating a hash for each of the plurality of garbled AND gates; and
storing the hash for each of the plurality of garbled AND gates in a Merkle tree.

### Claim 15

A system, comprising:
one or more processors; and
a memory storing program code, which, when executed on the one or more processors, performs an operation for performing secure computation of a function circuit represented as a plurality of buckets, each bucket representing a logical AND gate, the operation comprising:
generating a pool having a plurality of garbled AND gates;
randomly selecting at least one of the garbled AND gates from the pool for placement in one of the plurality of buckets;
determining, by an evaluation of the selected garbled AND gates, an output of the bucket, the output representing an execution of the logical AND gate; and
applying the determined output as a parameter in a secure protocol.

### Claim 16 (depends on 8)

The computer-readable storage medium of claim 8, wherein the operation further comprises, inserting additional garbled AND gates into the pool.

### Claim 17 (depends on 8)

The computer-readable storage medium of claim 8, wherein the selected garbed AND gates are evaluated by execution of a BatchedCut protocol and wherein the BatchedCut protocol is a Large Efficient Garbled-circuit Optimization (LEGO) protocol.

### Claim 18 (depends on 8)

The computer-readable storage medium of claim 8, wherein the operation further comprises, determining, in the plurality of garbled AND gates, whether a faulty garbled AND gate exists in the pool.

### Claim 19 (depends on 8)

The computer-readable storage medium of claim 8, wherein the random selection of the at least one of the garbled AND gates is performed based on a collaborative coin-tossing protocol.

### Claim 20 (depends on 8)

The computer-readable storage medium of claim 8, wherein the operation further comprises:
generating a hash for each of the plurality of garbled AND gates; and
storing the hash for each of the plurality of garbled AND gates in a Merkle tree.
