# US 7,412,055 B2 · Method and system for fair exchange of user information

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

- Number: US 7,412,055 B2
- Document ID: US7412055B2
- Status: Granted
- Kind: B2
- Application number: 10/611,771
- Filed: 2003-06-30
- Published: 2005-01-27
- Granted: 2008-08-12
- Earliest claimed: 2003-06-30
- Assignees: Lucent Technologies Inc.
- Inventors: Juan A. Garay; Carl B. Pomerance
- Web page: https://patentgrep.com/patent/US7412055B2

## CPC

- G06Q 20/382: {insuring higher security of transaction}
- H04L 9/0819: {Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) (network architectures or network communication protocols for key distribution in a packet data network H04L63/062)}
- H04L 9/3033: {details relating to pseudo-prime or prime number generation, e.g. primality test}
- H04L 9/3247: {involving digital signatures}
- H04L 2209/16: Obfuscation or hiding, e.g. involving white box
- 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 method and system for a fair exchange of user information over a network is disclosed. The method comprises the steps of: transmitting over the network the user information encoded in association with a hidden value selected as one of a plurality of values distributed in a sequence wherein a difference between adjacent ones of said values increases and decreases symmetrically about one of the values of a known order; transmitting over said network a first set of the values and a last value in the sequence, wherein the values in said first set have increasing differences between adjacent ones of the values; and transmitting, individually, and in response to receipt of the other user's values, the remaining values in said sequence.

## Claims

### Claim 1

A method fairly exchanging a hidden value of a first user for a hidden value of a second user, by a series of exchanges between the first user and the second user leading up to completing said hidden values, comprising the steps of:
establishing a modulus and a modular function known to the first user and known to the second user, said modular function iteratively producing a plurality of sequence values wherein each said sequence value is related, according to said modular function, to a next previous sequence value, whereby conformance to the modulation function can be determined for adjacent ones of the plurality of sequence values;
establishing a total number of iterations over which the sequence values will be exchanged between the first user and the second user;
iteratively exchanging the sequence values of the first and second users, progressing in a predetermined order toward an end of said sequence values;
completing the exchange provided that the total number of iterations are completed, and terminating the exchange if the total number of iterations are not completed.

### Claim 2 (depends on 1)

The method of claim 1, wherein said plurality of values are determined according to the modular function by a root value and a modulus value.

### Claim 3 (depends on 1)

The method of claim 1, wherein said sequence values are determined over a known order equal to the total number of iterations, wherein each said sequence value is a result of the modular function applied to a next previous sequence value, raised to a power related to a difference in position between said sequence value and a respective beginning and end of the order.

### Claim 4 (depends on 3)

The method of claim 3, wherein said modulus value is a product of Blum integers.

### Claim 5 (depends on 4)

The method of claim 4, wherein said Blum integers comprise prime numbers.

### Claim 6 (depends on 1)

The method of claim 1, wherein said hidden value is a value immediately preceding a last value of said sequence.

### Claim 7 (depends on 1)

The method of claim 1, wherein said number of iterations is at least 80.

### Claim 8

A system for exchanging user information over a network comprising:
at least one programmed processor coupled to a memory and arranged for conducting a fair exchange of a hidden value of a first user for a hidden value of a second user, by a series of exchanges between the first user and the second user leading up to completing said hidden values;
establishing a modulus and a modular function known to the first user and known to the second user, said modular function iteratively producing a plurality of sequence values wherein each said sequence value is related, according to said modular function, to a next previous sequence value, whereby conformance to the modular function can be determined for adjacent ones of the plurality of sequence values;
establishing a total number of iterations over which the sequence values will be exchanged between the first user and the second user,
iteratively exchanging the sequence values of the first and second users, progressing toward an end of said sequence values;
completing the exchange provided that the total number of iterations are completed, and terminating the exchange if the total number of iterations are not completed.

### Claim 9 (depends on 8)

The system of claim 8, further comprising a further processor and wherein said processor and said further processor exchange said sequence values on behalf of the first and second users, respectively.

### Claim 10 (depends on 8)

The system of claim 8, wherein said processor is operable to effect the series of exchanges on a timed-basis.
