IP Library Granted Patent US 11,102,179
Granted Patent B2
US 11,102,179 · App. 16/748,571 · Granted Aug 24, 2021

System and method for anonymous message broadcasting

Inventors: Avishay Yanai (Petach Tikva, IL); Ittai Abraham (Tel Aviv, IL)
Assignee: VMware, Inc.
H04L63/0421H04L9/085H04L63/1441
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 11,102,179
App. No.
16/748,571
Granted
Aug 24, 2021
Kind
B2
Abstract

A system and method for anonymous message broadcasting uses secret shares of a first vector of size i and a second vector of size j from each client device with a message in an anonymity set of client devices. Each secret share of the first and second vectors is received at each of a plurality of message broadcasting servers to construct a matrix M of i and j dimensions, which is added to a matrix A of i and j dimensions maintained at that message broadcasting server. The matrix A at each message broadcasting server is shared with the other message broadcasting servers and a final matrix A is constructed using the shared matrices A at each message broadcasting server, wherein the final matrix A includes the messages from the client devices in the anonymity set. The messages in the final matrix A are broadcasted from the message broadcasting servers.

Claims (40)

1. A computer-implemented method for anonymous message broadcasting, the method comprising:

receiving a secret share of a first vector of size i and a second vector of size j from each client device with a message in an anonymity set of client devices at each of a plurality of message broadcasting servers, the first and second vectors from each client device containing the message from that client device;

constructing a matrix M of i and j dimensions using the secret share of the first and second vectors from each of the client devices received at each message broadcasting server;

adding the matrix M at each message broadcasting server to a matrix A of i and j dimensions maintained at that message broadcasting server;

sharing the matrix A at each message broadcasting server with the other message broadcasting servers;

constructing a final matrix A using shared matrices A at each message broadcasting server, wherein the final matrix A includes the messages from the client devices in the anonymity set; and

broadcasting the messages in the final matrix A from each of the message broadcasting servers.

2. The method of claim 1 , further comprising receiving a secret share of a third vector of size i and a fourth vector of size j from each client device in the anonymity set of client devices at each of the plurality of message broadcasting servers, the third and fourth vectors from each client device containing a square of the message from that client device.

3. The method of claim 1 , wherein the secret share of the first vector of size i and a second vector of size j from each client device is a secret share derived using a Shamir's threshold secret sharing scheme and wherein the final matrix A is constructed using a reconstruction operation of the Shamir's threshold secret sharing scheme.

4. The method of claim 1 , further comprising executing format verification on each of the first and second vectors.

5. The method of claim 4 , wherein the format verification includes a unit vector multiple test on the second vector to verify that the second vector includes zeroes and only one non-zero value.

6. The method of claim 5 , further comprising receiving a secret share of a third vector of size i and a fourth vector of size j from each client device in the anonymity set of client devices at each of the plurality of message broadcasting servers, the third and fourth vectors from each client device containing a square of the message from that client device, wherein the format verification includes a square test on the second and fourth vector to verify that the fourth vector includes a non-zero value that is a square of the non-zero value included in the second vector.

7. The method of claim 4 , wherein the format verification includes a unit vector test on the first vector to verify that the first vector includes zeroes and only one non-zero value of one (1).

8. The method of claim 1 , further comprising performing a client blocking prevention process by verifying shares of a message from a client received by the message broadcasting servers are consistent and removing any message broadcasting servers that is determined to be malicious from being involved in the anonymous message broadcasting.

9. A non-transitory computer-readable storage medium containing program instructions for method for anonymous message broadcasting, wherein execution of the program instructions by one or more processors of a computer causes the one or more processors to perform steps comprising:

receiving a secret share of a first vector of size i and a second vector of size j from each client device with a message in an anonymity set of client devices at each of a plurality of message broadcasting servers, the first and second vectors from each client device containing the message from that client device;

constructing a matrix M of i and j dimensions using the secret share of the first and second vectors from each of the client devices received at each message broadcasting server;

adding the matrix M at each message broadcasting server to a matrix A of i and j dimensions maintained at that message broadcasting server;

sharing the matrix A at each message broadcasting server with the other message broadcasting servers;

constructing a final matrix A using shared matrices A at each message broadcasting server, wherein the final matrix A includes the messages from the client devices in the anonymity set; and

broadcasting the messages in the final matrix A from each of the message broadcasting servers.

10. The computer-readable storage medium of claim 9 , wherein the steps further comprise receiving a secret share of a third vector of size i and a fourth vector of size j from each client device in the anonymity set of client devices at each of the plurality of message broadcasting servers, the third and fourth vectors from each client device containing a square of the message from that client device.

11. The computer-readable storage medium of claim 9 , wherein the secret share of the first vector of size i and a second vector of size j from each client device is a secret share derived using a Shamir's threshold secret sharing scheme and wherein the final matrix A is constructed using a reconstruction operation of the Shamir's threshold secret sharing scheme.

12. The computer-readable storage medium of claim 9 , wherein the steps further comprise executing format verification on each of the first and second vectors.

13. The computer-readable storage medium of claim 12 , wherein the format verification includes a unit vector multiple test on the second vector to verify that the second vector includes zeroes and only one non-zero value.

14. The computer-readable storage medium of claim 13 , further comprising receiving a secret share of a third vector of size i and a fourth vector of size j from each client device in the anonymity set of client devices at each of the plurality of message broadcasting servers, the third and fourth vectors from each client device containing a square of the message from that client device, wherein the format verification includes a square test on the second and fourth vector to verify that the fourth vector includes a non-zero value that is a square of the non-zero value included in the second vector.

15. The computer-readable storage medium of claim 12 , wherein the format verification includes a unit vector test on the first vector to verify that the first vector includes zeroes and only one non-zero value of one (1).

16. The computer-readable storage medium of claim 9 , wherein the steps further comprise performing a client blocking prevention process by verifying shares of a message from a client received by the message broadcasting servers are consistent and removing any message broadcasting servers that is determined to be malicious from being involved in the anonymous message broadcasting.

17. A message broadcasting server comprising:

memory; and

at least one processor configured to:

receive a secret share of a first vector of size i and a second vector of size j from each client device with a message in an anonymity set of client devices, the first and second vectors from each client device containing the message from that client device;

constructing a matrix M of i and j dimensions using the secret share of the first and second vectors from each of the client devices;

adding the matrix M to a matrix A of i and j dimensions maintained by the message broadcasting server;

sharing the matrix A with other message broadcasting servers;

constructing a final matrix A using shared matrices A from the message broadcasting server and the other message broadcasting servers, wherein the final matrix A includes the messages from the client devices in the anonymity set; and

broadcasting the messages in the final matrix A in conjunction with the other message broadcasting servers.

18. The message broadcasting server of claim 17 , wherein the at least one processor is configured to receive a secret share of a third vector of size i and a fourth vector of size j from each client device in the anonymity set of client devices, the third and fourth vectors from each client device containing a square of the message from that client device.

19. The message broadcasting server of claim 17 , wherein the at least one processor is configured to execute format verification on each of the first and second vectors, wherein the format verification includes a unit vector multiple test on the second vector to verify that the second vector includes zeroes and only one non-zero value.

20. The message broadcasting server of claim 19 , wherein the format verification further includes a unit vector test on the first vector to verify that the first vector includes zeroes and only one non-zero value of one (1).

Assignments (3)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0314 →
CORRECTIVE ASSIGNMENT TO CORRECT THE CORRECT THE ATTORNEY NUMBER PREVIOUSLY RECORDED AT REEL: 051825 FRAME: 0601. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 13, 2020
From: YANAI, AVISHAY; ABRAHAM, ITTAI
To: VMWARE, INC.
Reel/Frame 052656/0869 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2020
From: YANAI, AVISHAY; ABRAHAM, ITTAI
To: VMWARE, INC.
Reel/Frame 051825/0601 →