# US 10,372,418 B1 · Apparatuses and methods for improved pseudo-random number generation

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

- Number: US 10,372,418 B1
- Document ID: US10372418B1
- Status: Granted
- Kind: B1
- Application number: 15/900,485
- Filed: 2018-02-20
- Granted: 2019-08-06
- Earliest claimed: 2018-02-20
- Assignees: Wells Fargo Bank, N.A.
- Applicants: Wells Fargo Bank, N.A.
- Inventors: Masoud Vakili
- Web page: https://patentgrep.com/patent/US10372418B1

## CPC

- G06F 7/584: {using finite field arithmetic, e.g. using a linear feedback shift register}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method, apparatus, and computer program product for improved pseudo-random number generation are provided. An example method includes receiving, by a computing device, a request for a pseudo-random number, selecting, by randomization circuitry of the computing device, a first attribute from a biometric attribute dataset, and obtaining a first value for the first attribute. The method further includes selecting, by the randomization circuitry, a second attribute, and obtaining a second value for the second attribute. The method includes convoluting, by convolution circuitry, the first value with the second value to generate the pseudo-random number.

## Claims

### Claim 1

A method for improved pseudo-random number generation, the method comprising:
receiving, by a computing device, a request for a pseudo-random number;
selecting, by randomization circuitry of the computing device, a first attribute from a biometric attribute dataset;
obtaining a first value for the first attribute;
selecting, by the randomization circuitry, a second attribute;
obtaining a second value for the second attribute; and
convoluting, by convolution circuitry of the computing device, the first value with the second value to generate the pseudo-random number.

### Claim 2 (depends on 1)

The method according to claim 1, further comprising:
receiving, by communications circuitry of the computing device, an instruction to generate a session identifier from a first user device associated with a first user;
determining, by authentication circuitry of the computing device, that the request for the session identifier requires the pseudo-random number;
generating, by the authentication circuitry, the session identifier based upon the pseudo-random number; and
transmitting, by the communications circuitry, the session identifier to the first user device.

### Claim 3 (depends on 2)

The method according to claim 2, further comprising:
generating, by the computing device, a data seed based on the pseudo-random number, wherein the session identifier comprises the generated data seed.

### Claim 4 (depends on 2)

The method according to claim 2, wherein the session identifier comprises the pseudo-random number.

### Claim 5 (depends on 2)

The method according to claim 2, further comprising, transmitting, by the authentication circuitry, the session identifier to an external device.

### Claim 6 (depends on 1)

The method according to claim 1, wherein obtaining the first value comprises querying, by communications circuitry of the computing device, a biometric attribute dataset storing one or more previously acquired biometric attributes of a first user.

### Claim 7 (depends on 1)

The method according to claim 1, wherein obtaining the first value comprises:
requesting, by the computing device, user input corresponding to the first biometric attribute; and
binarizing, by binarization circuitry of the computing device, the user input to generate the first value.

### Claim 8 (depends on 1)

The method according to claim 1, wherein obtaining the second value comprises:
requesting, by the computing device, user input corresponding to a second biometric attribute; and
binarizing, by the binarization circuitry, the user input corresponding to the second biometric attribute to generate the second value.

### Claim 9 (depends on 8)

The method according to claim 8, wherein obtaining the second value further comprises requesting, by the computing device, user input comprising a modified form of the first biometric attribute.

### Claim 10 (depends on 1)

The method according to claim 1, wherein obtaining the second value comprises querying, by the computing device, an independent factor dataset storing one or more parameters of the computing device to identify a particular independent factor, wherein the second value comprises the identified particular independent factor.

### Claim 11 (depends on 10)

The method according to claim 10, wherein the identified particular independent factor comprises a current time, and wherein obtaining the second value comprises generating a current time from an internal system clock of the computing device or identifying a time at which the request for the pseudo-random number was received by the computing device.

### Claim 12 (depends on 1)

The method according to claim 1, wherein selection of the first attribute comprises implementing, by the randomization circuitry, a pseudo-random selection protocol that identifies a first particular attribute from the biometric attribute data set.

### Claim 13 (depends on 1)

The method according to claim 1, wherein selection of the second attribute comprises implementing, by the randomization circuitry, a pseudo-random selection protocol that identifies a second particular attribute from the biometric attribute data set.

### Claim 14

An apparatus for generating an improved pseudo-random number, the apparatus comprising:
randomization circuitry configured to:
select a first attribute from a biometric attribute dataset; and
select a second attribute;
input/output circuitry configured to:
obtain a first value for the first attribute; and
obtain a second value for the second attribute; and
convolution circuitry configured to convolute the first value with the second value to generate a pseudo-random number.

### Claim 15 (depends on 1)

The apparatus according to claim 1, further comprising:
communications circuitry configured to receive an instruction to generate a session identifier from a first user device associated with a first user; and
authentication circuitry configured to:
determine that the request for the session identifier requires the pseudo-random number; and
generate the session identifier based upon the pseudo-random number,
wherein the communications circuitry is further configured to transmit the session identifier to the first user device.

### Claim 16 (depends on 15)

The apparatus according to claim 15, wherein the authentication circuitry is further configured to generate a data seed based on the pseudo-random number, wherein the session identifier comprises the generated data seed.

### Claim 17 (depends on 15)

The apparatus according to claim 15, wherein the session identifier comprises the pseudo-random number.

### Claim 18 (depends on 14)

The apparatus according to claim 14, further comprising:
input/output circuitry configured to request a user input corresponding to the first biometric attribute; and
binarization circuitry configured to binarize the user input to generate the first value.

### Claim 19 (depends on 14)

The apparatus according to claim 14, further comprising communications circuitry configured to query an independent factor dataset storing one or more parameters of the computing device to obtain the second value.

### Claim 20

A non-transitory computer-readable storage medium for using an apparatus to generate an improved pseudo-random number, the non-transitory computer-readable storage medium storing instructions that, when executed, cause the apparatus to:
receive a request for a pseudo-random number;
select a first attribute from a biometric attribute dataset;
obtain a first value for the first attribute;
select a second attribute;
obtain a second value for the second attribute; and
convolute the first value with the second value to generate the pseudo-random number.
