# US 12,112,370 B2 · Secure multi-party computation for sensitive credit score computation

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

- Number: US 12,112,370 B2
- Document ID: US12112370B2
- Status: Granted
- Kind: B2
- Application number: 17/929,229
- Filed: 2022-09-01
- Published: 2022-12-29
- Granted: 2024-10-08
- Earliest claimed: 2020-06-05
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Fardin Abdi Taghi Abad; Austin Walters; Jeremy Goodsitt; Anh Truong; Mark Watson; Reza Farivar
- Web page: https://patentgrep.com/patent/US12112370B2

## CPC

- G06Q 40/03: Credit; Loans; Processing thereof
- H04L 9/0894: {Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage}
- H04L 9/0861: {Generation of secret information including derivation or calculation of cryptographic keys or passwords}
- G06Q 2220/00: Business processing using cryptography
- H04L 2209/46: Secure multiparty computation, e.g. millionaire problem
- H04L 2209/56: Financial cryptography, e.g. electronic payment or e-cash
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A computing system retrieves a credit check algorithm. The credit check algorithm utilizes one or more parameters for evaluation of a credit score of an individual. The computing system identifies a plurality of entities contributing parameters for the evaluation of the credit score of the individual. The computing system compiles the credit check algorithm into a plurality of components. Each component corresponds to a respective entity of the plurality of entities and each component generates an output unique to the respective entity. The computing system transmits each component to a respective entity of the plurality of entities. The computing system instructs each entity to share a respective output with each remaining entity. The computing system receives a credit score for the individual from each of the plurality of entities. Each credit score received from each entity is the same.

## Claims

### Claim 1

A method, comprising:
retrieving, by a computing system, an algorithm, the algorithm utilizing one or more parameters for evaluation of a user metric associated with an individual;
identifying, by the computing system, a plurality of entities contributing parameters for the evaluation of the user metric;
compiling, by the computing system, the algorithm into a plurality of components, wherein each component corresponds to a respective entity of the plurality of entities and each component generates an output unique to the respective entity, the compiling comprising:
converting the algorithm into one or more Boolean circuit representations, and
garbling each Boolean circuit representation, and
executing a protocol across the plurality of entities for securely evaluating the garbled Boolean circuit representations, wherein the protocol prevents exposure of personal identification information of the individual with among the plurality of entities;
transmitting, by the computing system, each component to a respective entity of the plurality of entities;
receiving, by the computing system, an evaluated component from each entity of the plurality of entities;
verifying, by the computing system, that the received evaluated components are matching,
wherein if at least one evaluated component does not match, the computing system reinitiates the executing, transmitting, and receiving steps until the evaluated components are matching; and
generating, by the computing system upon verifying that the evaluated components are matching, the user metric associated with the individual by combining the evaluated components from each entity.

### Claim 2 (depends on 1)

The method of claim 1, wherein transmitting, by the computing system, each component to a respective entity of the plurality of entities comprises:
prompting each respective entity to share encrypted outputs with each remaining entity.

### Claim 3 (depends on 1)

The method of claim 1, wherein the user metric cannot be generated without all components of the plurality of components.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
providing, by the computing system, the user metric to a third party system.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
causing, by the computing system, each entity to share their respective evaluated component with each remaining entity.

### Claim 6 (depends on 5)

The method of claim 5, further comprising:
causing, by the computing system, each entity to generate the user metric by locally combining the evaluated components.

### Claim 7 (depends on 1)

The method of claim 1, wherein the algorithm is a credit score algorithm and wherein the user metric is a credit score.

### Claim 8

A non-transitory computer readable medium comprising one or more sequences of instructions, which, when executed by a processor, causes a computing system to perform operations comprising:
retrieving, by the computing system, an algorithm, the algorithm utilizing one or more parameters for evaluation of a user metric associated with an individual;
identifying, by the computing system, a plurality of entities contributing parameters for the evaluation of the user metric;
compiling, by the computing system, the algorithm into a plurality of components, wherein each component corresponds to a respective entity of the plurality of entities and each component generates an output unique to the respective entity, the compiling comprising:
converting the algorithm into one or more Boolean circuit representations,
garbling each Boolean circuit representation, and
executing a protocol across the plurality of entities for securely evaluating the garbled Boolean circuit representations, wherein during the evaluation the plurality of entities may not share a personal identification information with each other;
transmitting, by the computing system, each component to a respective entity of the plurality of entities;
receiving, by the computing system, an evaluated component from each entity of the plurality of entities;
verifying, by the computing system, that the received evaluated components are matching,
wherein if at least one evaluated component does not match, the computing system reinitiates the executing, transmitting, and receiving steps until matching evaluated components are received; and
generating, by the computing system upon verifying that the evaluated components are matching, the user metric associated with the individual by combining the evaluated components from each entity.

### Claim 9 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein transmitting, by the computing system, each component to a respective entity of the plurality of entities comprises:
prompting each respective entity to share encrypted outputs with each remaining entity.

### Claim 10 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the user metric cannot be generated without all components of the plurality of components.

### Claim 11 (depends on 8)

The non-transitory computer readable medium of claim 8, further comprising:
providing, by the computing system, the user metric to a third party system.

### Claim 12 (depends on 8)

The non-transitory computer readable medium of claim 8, further comprising:
causing, by the computing system, each entity to share their respective evaluated component with each remaining entity.

### Claim 13 (depends on 12)

The non-transitory computer readable medium of claim 12, further comprising:
causing, by the computing system, each entity to generate the user metric by locally combining the evaluated components.

### Claim 14 (depends on 8)

The non-transitory computer readable medium of claim 8, wherein the algorithm is a credit score algorithm and wherein the user metric is a credit score.

### Claim 15

A system comprising:
a processor; and
a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations comprising:
retrieving an algorithm, the algorithm utilizing one or more parameters for evaluation of a user metric associated with an individual;
identifying a plurality of entities contributing parameters for the evaluation of the user metric;
compiling the algorithm into a plurality of components, wherein each component corresponds to a respective entity of the plurality of entities and each component generates an output unique to the respective entity, the compiling comprising:
converting the algorithm into one or more Boolean circuit representations,
garbling each Boolean circuit representation, and
executing a protocol across the plurality of entities for securely evaluating the garbled Boolean circuit representations, wherein during the evaluation the plurality of entities may not share a personal identification information with each other;
transmitting each component to a respective entity of the plurality of entities;
receiving an evaluated component from each entity of the plurality of entities;
verifying that the received evaluated components are matching,
wherein if at least one evaluated component does not match, reinitiating the executing, transmitting, and receiving steps until matching evaluated components are received; and
generating, upon verifying that the evaluated components are matching, the user metric associated with the individual by combining the evaluated components from each entity.

### Claim 16 (depends on 15)

The system of claim 15, wherein transmitting each component to a respective entity of the plurality of entities comprises:
prompting each respective entity to share encrypted outputs with each remaining entity.

### Claim 17 (depends on 15)

The system of claim 15, wherein the user metric cannot be generated without all components of the plurality of components.

### Claim 18 (depends on 15)

The system of claim 15, wherein the operations further comprise:
providing the user metric to a third party system.

### Claim 19 (depends on 15)

The system of claim 15, wherein the operations further comprise:
causing each entity to share their respective evaluated component with each remaining entity.

### Claim 20 (depends on 19)

The system of claim 19, wherein the operations further comprise:
causing each entity to generate the user metric by locally combining the evaluated components.
