# US 12,184,594 B2 · Enabling polls in an end-to-end encrypted messaging platform

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

- Number: US 12,184,594 B2
- Document ID: US12184594B2
- Status: Granted
- Kind: B2
- Application number: 17/689,876
- Filed: 2022-03-08
- Published: 2023-09-14
- Granted: 2024-12-31
- Earliest claimed: 2022-03-08
- Assignees: Whatsapp Inc.
- Applicants: WhatsApp LLC
- Inventors: Uzma Hussain Barlaskar; George Nachman; Attaullah Baig
- Web page: https://patentgrep.com/patent/US12184594B2

## CPC

- H04W 12/033: of the user plane, e.g. user's traffic
- G06Q 10/40: Business processes related to social networking or social networking services
- G06Q 30/0203: Market surveys; Market polls
- G07C 13/00: Voting apparatus
- H04L 9/0841: {involving Diffie-Hellman or related key agreement protocols}
- H04L 9/16: the keys or algorithms being changed during operation
- H04L 9/3247: {involving digital signatures}
- H04L 9/3252: {using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes}
- H04L 9/3263: {involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements (network architectures or network communication protocols for supporting authentication of entities using certificates in a packet data network H04L63/0823)}
- H04L 51/046: Interoperability with other network applications or services
- H04L 51/52: for supporting social networking services
- H04L 63/0428: {wherein the data content is protected, e.g. by encrypting or encapsulating the payload}
- H04L 63/123: {received data contents, e.g. message integrity}
- H04W 12/02: Protecting privacy or anonymity, e.g. protecting personally identifiable information [PII]
- H04W 12/041: Key generation or derivation
- H04W 12/0431: Key distribution or pre-distribution; Key agreement
- G06Q 2220/00: Business processing using cryptography
- H04L 51/18: Commands or executable codes
- H04L 2209/463: Electronic voting
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- 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
- G07C: TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods, systems, and storage media for generating polls in an end-to-end encrypted messaging platform are disclosed. Exemplary implementations may: initiate, by an initiator, a poll comprising a poll name, an ending time, and response choices; generate a message to a group of users regarding the poll; for each user of the group of users, generate a key pair comprising a chain key and a signature key; receive, from a user of the group of users, a selection comprising at least one of the response choices; and cause display of the selection through the poll.

## Claims

### Claim 1

A computer-implemented method for generating polls in an end-to-end encrypted messaging platform, comprising:
initiating, by an initiator, a poll comprising a poll name, an ending time, a plurality of response choices, and a selection, by the initiator, of users from a plurality of users in a group to participate in the poll;
generating a message to the selected users regarding the poll, the message being generated through sender encryption keys;
for each selected user, generating a key pair comprising a chain key and a signature key, the signature key comprising a public key and a private key for each selected user, the chain key being generated and assigned to an interval of time, the chain key comprising blocks of cryptographic data chained through time;
receiving, from a particular user of the selected users, a selection comprising at least one of the response choices, the selection further comprising a private key of the particular user; and
causing display of the selection through the poll,
wherein the chain key is used to limit poll visibility to the selected users in the group, and
wherein a signature key of the particular user facilitates using the private key of the particular user to write signatures to the poll responses of the particular user.

### Claim 2 (depends on 1)

The method of claim 1, wherein the initiator comprises a user from the plurality of users.

### Claim 3 (depends on 1)

The method of claim 1, wherein the plurality of response choices, the ending time, and the poll name are determined by the initiator.

### Claim 4 (depends on 1)

The method of claim 1, wherein the poll comprises a set of one or more questions with multiple choice answers.

### Claim 5 (depends on 1)

The method of claim 1, wherein the sender encryption keys are utilized for communicating within the group.

### Claim 6 (depends on 1)

The method of claim 1, wherein the key pair comprises a 32-byte random chain key and a new curve25519 signature key.

### Claim 7 (depends on 1)

The method of claim 1, wherein the chain key and the signature key expire at the ending time of the poll.

### Claim 8 (depends on 1)

The method of claim 1, wherein all chain keys and private keys from the signature keys for each selected user are deleted at the ending time of the poll.

### Claim 9 (depends on 8)

The method of claim 8, wherein the public keys from the signature keys for each selected user remain valid for post validation checks after the ending time of the poll.

### Claim 10

A system configured for generating polls in an end-to-end encrypted messaging platform, the system comprising:
one or more hardware processors configured by machine-readable instructions to:
initiate, by an initiator, a poll comprising a poll name, an ending time, a plurality of response choices, and a selection, by the initiator, of users from a plurality of users in a group to participate in the poll, wherein the initiator comprises a user from the plurality of users, wherein the response choices, the ending time, and the poll name are determined by the initiator, and wherein the poll comprises a set of one or more questions with multiple choice answers;
generate a message to the selected users regarding the poll, the message being generated through sender encryption keys;
for each selected user, generate a key pair comprising a chain key and a signature key, the signature key comprising a public key and a private key for each selected user, the chain key being generated and assigned to an interval of time, the chain key comprising blocks of cryptographic data chained through time;
receive, from a particular user of the selected users, a selection comprising at least one of the response choices, the selection further comprising a private key of the particular user; and
cause display of the selection through the poll,
wherein the chain key is used to limit poll visibility to the selected users in the group.

### Claim 11 (depends on 10)

The system of claim 10, wherein the plurality of response choices comprise one or more of true or false, yes or no, agree or disagree, a rating within a range of quantities, multiple choice, or two or more narrative answers.

### Claim 12 (depends on 10)

The system of claim 10, wherein a signature key of the particular user facilitates using the private key of the particular user to write signatures to the poll responses of the particular user.

### Claim 13 (depends on 10)

The system of claim 10, wherein a signature key of the particular user facilitates using the public key of the particular user to allow other users to check whether the poll responses belong to the particular user.

### Claim 14 (depends on 10)

The system of claim 10, wherein the sender encryption keys are utilized for communicating within the group.

### Claim 15 (depends on 10)

The system of claim 10, wherein the key pair comprises a 32-byte random chain key and a new curve25519 signature key.

### Claim 16 (depends on 10)

The system of claim 10, wherein the chain key and the signature key expire at the ending time of the poll.

### Claim 17 (depends on 10)

The system of claim 10, wherein all chain keys and private keys from the signature keys for each selected user are deleted at the ending time of the poll, and wherein the public keys from the signature keys for each selected user remain valid for post validation checks after the ending time of the poll.

### Claim 18

A non-transient computer-readable storage medium having instructions embodied thereon, the instructions being executable by one or more processors to perform a method for generating polls in an end-to-end encrypted messaging platform, the method comprising:
initiating, by an initiator, a poll comprising a poll name, an ending time, a plurality of response choices, and a selection, by the initiator, of users from a plurality of users in a group to participate in the poll, wherein the initiator comprises a user from the plurality of users, wherein the response choices, the ending time, and the poll name are determined by the initiator, and wherein the poll comprises a set of one or more questions with multiple choice answers;
generating a message to the selected users regarding the poll, the message being generated through sender encryption keys;
for each selected user, generating a key pair comprising a chain key and a signature key, the signature key comprising a public key and a private key for each selected user, the chain key being generated and assigned to an interval of time, the chain key comprising blocks of cryptographic data chained through time;
receiving, from a particular user of the selected users, a selection comprising at least one of the response choices, wherein possible responses include one or more of true or false, yes or no, agree or disagree, a rating within a range of quantities, multiple choice, or two or more narrative answers, wherein the selection further comprises a private key of the particular user, and wherein the public keys for each user remain valid for post validation checks after the ending time of the poll; and
causing display of the selection through the poll, wherein display of the selection through the poll is restricted to user devices of the selected users of the group of users.
