# US 10,873,461 B2 · Zero-knowledge multiparty secure sharing of voiceprints

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

- Number: US 10,873,461 B2
- Document ID: US10873461B2
- Status: Granted
- Kind: B2
- Application number: 16/035,301
- Filed: 2018-07-13
- Published: 2019-01-17
- Granted: 2020-12-22
- Earliest claimed: 2017-07-13
- Assignees: Pindrop Security, Inc.
- Applicants: Pindrop Security, Inc.
- Inventors: Payas Gupta; Terry Nelms
- Web page: https://patentgrep.com/patent/US10873461B2

## CPC

- H04L 9/3231: {Biological data, e.g. fingerprint, voice or retina (network architectures or network communication protocols for supporting authentication of entities using biometrical features in a packet data network H04L63/0861)}
- G10L 17/06: Decision making techniques; Pattern matching strategies
- G10L 17/22: Interactive procedures; Man-machine interfaces
- H04L 9/0841: {involving Diffie-Hellman or related key agreement protocols}
- H04L 9/0869: {involving random numbers or seeds}
- H04L 9/3013: {involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems}
- H04L 9/3066: {involving algebraic varieties, e.g. elliptic or hyper-elliptic curves}
- H04L 9/3218: {using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G10L: SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING

## Abstract

Disclosed herein are embodiments of systems and methods for zero-knowledge multiparty secure sharing of voiceprints. In an embodiment, an illustrative computer may receive, through a remote server, a plurality of encrypted voiceprints. When the computer receives an incoming call, the computer may generate a plaintext i-vector of the incoming call. Using the plaintext i-vector and the encrypted voiceprints, the computer may generate one or more encrypted comparison models. The remote server may decrypt the encrypted comparison model to generate similarity scores between the plaintext i-vector and the plurality of encrypted voiceprints.

## Claims

### Claim 1

A computer implemented method comprising:
receiving, by a computer from a first client computer, an encrypted voiceprint model and a random number, wherein the random number is encrypted using a public key of the computer;
decrypting, by the computer, the random number using a private key of the computer;
transmitting, by the computer, the encrypted voiceprint model generated by the first client computer to a second client computer;
receiving, by the computer, one or more encrypted comparison models generated by the second client computer based upon comparing the encrypted voiceprint model generated by the first client computer and a plaintext voiceprint generated by the second client computer;
determining, by the computer, a similarity score between the encrypted voiceprint model generated by the first client computer and the plaintext voiceprint generated by the second client computer using the random number on the one or more encrypted comparison models; and
transmitting, by the computer, the similarity score to the second client computer to authenticate a speaker of a voice associated with the plaintext voiceprint or to identify a fraudulent caller.

### Claim 2 (depends on 1)

The method of claim 1, wherein the encrypted voiceprint model is encrypted using properties from a Diffie-Hellman key exchange protocol.

### Claim 3 (depends on 1)

The method of claim 1, wherein the encrypted voiceprint model is encrypted using properties from an elliptical curve cryptography key exchange protocol.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the similarity score comprises:
retrieving, by the computer, the similarity score from a stored dictionary using the one or more encrypted comparison models.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
receiving, by the computer from the first client computer, an encrypted second random number encrypted using a public key of the second client computer; and
transmitting, by the computer to the second client computer, the second random number, whereby the second client computer decrypts the second random number using a private key of the second client computer and uses the second random number to generate the one or more encrypted comparison models.

### Claim 6 (depends on 1)

The method of claim 1, wherein the one or more encrypted comparison models comprise a first matrix and a second matrix.

### Claim 7 (depends on 6)

The method of claim 6, wherein determining the similarity score comprises:
dividing, by the computer, the first matrix by the second matrix indexed by the random number.

### Claim 8 (depends on 6)

The method of claim 6, wherein determining the similarity score comprises:
subtracting, by the computer, the product of the second matrix with the random number from the first matrix.

### Claim 9 (depends on 1)

The method of claim 1, wherein the encrypted voiceprint model comprises a plurality of voiceprints associated with the first client computer.

### Claim 10

A computer implemented method comprising:
receiving, by a first computer from a third party server, an encrypted voiceprint model generated at a second computer and an encrypted random number encrypted using a public key of the first computer;
decrypting, by the first computer, the random number using a private key of the first computer;
extracting, by the first computer, a plaintext voiceprint from an audio;
generating, by the first computer, one or more encrypted comparison models based upon the encrypted voiceprint model generated at the second computer, the plaintext voiceprint generated at the first computer, and the random number;
transmitting, by the first computer, the one or more encrypted comparison models to the third party server;
receiving, by the first computer from the third party server, a similarity score between the encrypted voiceprint model and the plaintext voiceprint; and
identifying, by the first computer, a speaker of a voice in the audio based on the similarity score or a fraudulent caller.

### Claim 11 (depends on 10)

The method of claim 10, wherein the first computer detects the speaker in real-time.

### Claim 12 (depends on 10)

The method of claim 10, wherein the encrypted voiceprint model is encrypted using the properties from a Diffie-Hellman key exchange protocol.

### Claim 13 (depends on 10)

The method of claim 10, wherein the encrypted voiceprint model is encrypted using the properties from an elliptical curve cryptography key exchange protocol.

### Claim 14 (depends on 10)

The method of claim 10, wherein the first computer generates the one or more encrypted comparison models by:
indexing, by the first computer, one or more matrices in the encrypted voiceprint model by the plaintext voiceprint generated from the phone call to generate one or more intermediate matrices; and
multiplying, by the first computer in the intermediate matrices, elements of each row among themselves.

### Claim 15 (depends on 14)

The method of claim 14, further comprising:
performing, by the first computer, one or more dictionary lookups in real time to retrieve one or more values of the one or more encrypted comparison models.

### Claim 16 (depends on 10)

The method of claim 10, wherein the first computer generates the one or more encrypted comparison models by:
multiplying, by the first computer, one or more matrices in the encrypted voiceprint model by the plaintext voiceprint generated from the phone call to generate one or more intermediate matrices; and
adding, by the first computer in the intermediate matrices, elements of each row among themselves.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
performing, by the first computer, one or more dictionary lookups in real time to retrieve one or more values of the one or more encrypted comparison models.

### Claim 18

A system comprising:
a non-transitory storage medium configured to store a plurality of encrypted voiceprint models and a lookup table for encrypted similarity scores and corresponding plaintext similarity scores;
a processor coupled to the non-transitory storage medium and configured to:
receive from a first client computer, an encrypted voiceprint model and an encrypted random number, wherein the random number is encrypted using a public key of the computer;
decrypt the random number using a private key of the computer;
transmit the encrypted voiceprint model to a second client computer;
receive one or more encrypted comparison models generated by the second computer based upon comparing the encrypted voiceprint model generated at the first client computer and a plaintext voiceprint generated at the second client computer;
determine an encrypted similarity score between the encrypted voiceprint model generated at the first client computer and the plaintext voiceprint generated at the second client computer using the random number on the one or more encrypted comparison models; and
retrieve from the lookup table in the non-transitory storage medium a plaintext similarity score corresponding to the encrypted similarity score.

### Claim 19 (depends on 18)

The system of claim 18, wherein the encrypted voiceprint model is encrypted using properties from a Diffie-Hellman key exchange protocol.

### Claim 20 (depends on 18)

The system of claim 18, wherein the encrypted voiceprint model is encrypted using properties from an elliptical curve cryptography key exchange protocol.
