IP Library Granted Patent US 8,032,747
Granted Patent B2
US 8,032,747 · App. 12/015,536 · Granted Oct 4, 2011

Comparison of documents possessed by two parties

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,032,747
App. No.
12/015,536
Granted
Oct 4, 2011
Kind
B2
Abstract

A method of zero-knowledge document comparison between two parties. Each party performs: exchanging a set of random data and a shared hash function, applying the hash function to concatenations of the document and the sets of random data, and comparing the hashes.

Claims (45)

1. A method of securely ascertaining whether a first document (D 1 ) in possession of a first party and a second document (D 2 ) in possession of a second party are a same document, without the content of D 1 being revealed to the second party and without the content of D 2 being revealed to the first party, said method comprising the steps of:

i) said first party generating a first set of random data (Ra) and sending Ra to the second party;

ii) after step i), said first party receiving from the second party a second set of random data (Rb) and determining that Rb differs from Ra;

iii) after step ii), said first party forming: a Value (Va 1 ) consisting of a one-way hash (H 1 ) of an ordered concatenation D 1 +Ra +Rb; and a Value (Va 2 ) consisting of a one-way hash (H 2 ) of an ordered concatenation D 1 +Rb +Ra;

iv) after step iii), said first party sending a first message to the second party indicating that the first party has computed Va 1 and Va 2 ;

v) after step iii), said first party receiving a second message from the second party indicating that the second party has computed a Value Vb 1 and a Value Vb 2 , wherein Vb 1 consists of the one-way hash H 2 of an ordered concatenation D 2 +Rb +Ra, and wherein Vb 2 consists of the one-way hash H 1 of an ordered concatenation D 2 +Ra +Rb;

vi) after steps iv) and v), said first party sending Va 1 to the second party;

vii) said first party receiving Vb 1 from the second party and determining that said first party has received Vb 1 from the second party within a specified time interval following step vi);

viii) after step vii), said first party determining whether Vb 1 is equal to Va 2 ;

ix) if in step viii) said first party has determined that Vb 1 is equal to Va 2 , then said first party ascertaining that D 1 and D 2 are the same document;

x) if in step viii) said first party has determined that Vb 1 is not equal to Va 2 , then said first party ascertaining that D 1 and D 2 are different documents.

2. The method of claim 1 , wherein in step viii) said first party has determined that Vb 1 is equal to Va 2 .

3. The method of claim 1 , wherein in step viii) said first party has determined that Vb 1 is not equal to Va 2 .

4. The method of claim 1 , wherein H 1 and H 2 are a same one-way hash function.

5. The method of claim 1 , wherein H 1 and H 2 are different one-way hash functions.

6. A computer program product comprising a computer readable storage device having computer readable program code means embodied in said storage device, said program code configured to perform a method of securely ascertaining whether a first document (D 1 ) in possession of a first party and a second document (D 2 ) in possession of a second party are a same document, without the content of D 1 being revealed to the second party and without the content of D 2 being revealed to the first party, said method comprising the steps of:

i) said first party generating a first set of random data (Ra) and sending Ra to the second party;

ii) after step i), said first party receiving from the second party a second set of random data (Rb) and determining that Rb differs from Ra;

iii) after step ii), said first party forming: a Value (Va 1 ) consisting of a one-way hash (H 1 ) of an ordered concatenation D 1 +Ra +Rb; and a Value (Va 2 ) consisting of a one-way hash (H 2 ) of an ordered concatenation D 1 +Rb +Ra;

iv) after step iii), said first party sending a first message to the second party indicating that the first party has computed Va 1 and Va 2 ;

v) after step iii), said first party receiving a second message from the second party indicating that the second party has computed a Value Vb 1 and a Value Vb 2 , wherein Vb 1 consists of the one-way hash H 2 of an ordered concatenation D 2 +Rb +Ra, and wherein Vb 2 consists of the one-way hash H 1 of an ordered concatenation D 2 +Ra +Rb;

vi) after steps iv) and v), said first party sending Va 1 to the second party;

vii) said first party receiving Vb 1 from the second party and determining that said first party has received Vb 1 from the second party within a specified time interval following step vi);

viii) after step vii), said first party determining whether Vb 1 is equal to Va 2 ;

ix) if in step viii) said first party has determined that Vb 1 is equal to Va 2 , then said first party ascertaining that D 1 and D 2 are the same document;

x) if in step viii) said first party has determined that Vb 1 is not equal to Va 2 , then said first party ascertaining that D 1 and D 2 are different documents.

7. The computer program product of claim 6 , wherein in step viii) said first party has determined that Vb 1 is equal to Va 2 .

8. The computer program product of claim 6 , wherein in step viii) said first party has determined that Vb 1 is not equal to Va 2 .

9. The computer program product of claim 6 , wherein H 1 and H 2 are a same one-way hash function.

10. The computer program product of claim 6 , wherein H 1 and H 2 are different one-way hash functions.

11. A system comprising a computer, said computer comprising a processor and a computer readable memory unit coupled to the processor, said memory unit containing program code configured to be executed by the processor to implement a method of securely ascertaining whether a first document (D 1 ) in possession of a first party and a second document (D 2 ) in possession of a second party are a same document, without the content of D 1 being revealed to the second party and without the content of D 2 being revealed to the first party, said method comprising the steps of:

i) said first party generating a first set of random data (Ra) and sending Ra to the second party;

ii) after step i), said first party receiving from the second party a second set of random data (Rb) and determining that Rb differs from Ra;

iii) after step ii), said first party forming: a Value (Va 1 ) consisting of a one-way hash (H 1 ) of an ordered concatenation D 1 +Ra +Rb; and a Value (Va 2 ) consisting of a one-way hash (H 2 ) of an ordered concatenation D 1 +Rb +Ra;

iv) after step iii), said first party sending a first message to the second party indicating that the first party has computed Va 1 and Va 2 ;

v) after step iii), said first party receiving a second message from the second party indicating that the second party has computed a Value Vb 1 and a Value Vb 2 , wherein Vb 1 consists of the one-way hash H 2 of an ordered concatenation D 2 +Rb +Ra, and wherein Vb 2 consists of the one-way hash H 1 of an ordered concatenation D 2 +Ra +Rb;

vi) after steps iv) and v), said first party sending Va 1 to the second party;

vii) said first party receiving Vb 1 from the second party and determining that said first party has received Vb 1 from the second party within a specified time interval following step vi);

viii) after step vii), said first party determining whether Vb 1 is equal to Va 2 ;

ix) if in step viii) said first party has determined that Vb 1 is equal to Va 2 , then said first party ascertaining that D 1 and D 2 are the same document;

x) if in step viii) said first party has determined that Vb 1 is not equal to Va 2 , then said first party ascertaining that D 1 and D 2 are different documents.

12. The system of claim 11 , wherein in step viii) said first party has determined that Vb 1 is equal to Va 2 .

13. The system of claim 11 , wherein in step viii) said first party has determined that Vb 1 is not equal to Va 2 .

14. The system of claim 11 , wherein H 1 and H 2 are a same one-way hash function.

15. The system of claim 11 , wherein H 1 and H 2 are different one-way hash functions.

Assignments (1)
CHANGE OF NAME Recorded Dec 20, 2021
From: FACEBOOK, INC.
To: META PLATFORMS, INC.
Reel/Frame 058553/0802 →