IP Library Granted Patent US 10,691,415
Granted Patent B2
US 10,691,415 · App. 16/131,352 · Granted Jun 23, 2020

Random number generation and acquisition method and device

Inventor: Jiaxiang Wen (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06F7/588G06F7/58G06F9/30021
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 10,691,415
App. No.
16/131,352
Granted
Jun 23, 2020
Kind
B2
Abstract

Multiple random numbers are generated. The multiple random numbers are N different random numbers. N is a positive integer. Generating the multiple random numbers includes generating a random number array including N storage units. The multiple random numbers are shuffled. A random number obtaining instruction is received. A random number is obtained from the multiple random numbers based on the random number obtaining instruction.

Claims (69)

1. A computer-implemented method, comprising:

automatically generating, by a first hardware random number generator of an electronic device, a plurality of random numbers based on a random function, wherein the plurality of random numbers are N different random numbers, N is a positive integer, generating the plurality of random numbers includes generating a random number array including N storage units, each storage unit of the N storage units stores a particular random number of the N random numbers, and each storage unit of the N storage units is associated with a particular identifier;

automatically shuffling, by the electronic device, the plurality of random numbers, wherein automatically shuffling the plurality of random numbers includes:

generating an ith random value by a second hardware random number generator of the electronic device, wherein i is a positive integer from 1 to N and indicates the number of times random numbers being exchanged among the N storage units; and

exchanging a random number in a first storage unit of the N storage units with a random number in a second storage unit of the N storage units based on the ith random value and a predetermined rule;

receiving, by the electronic device, a random number obtaining instruction;

obtaining, by the electronic device, a random number from the plurality of random numbers based on the random number obtaining instruction; and

returning, by the electronic device, the random number.

2. The computer-implemented method of claim 1 , wherein generating the ith random value includes:

if i is greater than 1 and less than N, generating the ith random value based on a current time and the (i−1)th random value; and

if i is equal to 1, generating the ith random value based on the current time.

3. The computer-implemented method of claim 1 , wherein exchanging the random number in the first storage unit of the N storage units with the random number in the second storage unit of the N storage units based on the ith random value and the predetermined rule includes:

determining an identifier based on the ith random value;

determining the first storage unit of the N storage units based on the identifier, wherein the identifier is associated with the first storage unit;

determining the second storage unit of the N storage units, wherein the second storage unit is the (N+1−i)th storage unit of the N storage units; and

exchanging the random number in the first storage unit with the random number in the second storage unit.

4. The computer-implemented method of claim 1 , wherein obtaining the random number from the plurality of random numbers based on the random number obtaining instruction includes:

determining, based on the random number obtaining instruction, a storage unit where the last random number is obtained; and

obtaining the random number from a storage unit next to the storage unit where the last random number is obtained.

5. The computer-implemented method of claim 1 , further comprising:

determining that each random number of the plurality of random numbers has been obtained; and

in response to the determination:

generating a second plurality of random numbers; and

shuffling the second plurality of random numbers.

6. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

automatically generating, by a first hardware random number generator of an electronic device, a plurality of random numbers based on a random function, wherein the plurality of random numbers are N different random numbers, N is a positive integer, generating the plurality of random numbers includes generating a random number array including N storage units, each storage unit of the N storage units stores a particular random number of the N random numbers, and each storage unit of the N storage units is associated with a particular identifier;

automatically shuffling, by the electronic device, the plurality of random numbers, wherein automatically shuffling the plurality of random numbers includes:

generating an ith random value by a second hardware random number generator of the electronic device, wherein i is a positive integer from 1 to N and indicates the number of times random numbers being exchanged among the N storage units; and

exchanging a random number in a first storage unit of the N storage units with a random number in a second storage unit of the N storage units based on the ith random value and a predetermined rule;

receiving, by the electronic device, a random number obtaining instruction;

obtaining, by the electronic device, a random number from the plurality of random numbers based on the random number obtaining instruction; and

returning, by the electronic device, the random number.

7. The non-transitory, computer-readable medium of claim 6 , wherein generating the ith random value includes:

if i is greater than 1 and less than N, generating the ith random value based on a current time and the (i−1)th random value; and

if i is equal to 1, generating the ith random value based on the current time.

8. The non-transitory, computer-readable medium of claim 6 , wherein exchanging the random number in the first storage unit of the N storage units with the random number in the second storage unit of the N storage units based on the ith random value and the predetermined rule includes:

determining an identifier based on the ith random value;

determining the first storage unit of the N storage units based on the identifier, wherein the identifier is associated with the first storage unit;

determining the second storage unit of the N storage units, wherein the second storage unit is the (N+1−i)th storage unit of the N storage units; and

exchanging the random number in the first storage unit with the random number in the second storage unit.

9. The non-transitory, computer-readable medium of claim 6 , wherein obtaining the random number from the plurality of random numbers based on the random number obtaining instruction includes:

determining, based on the random number obtaining instruction, a storage unit where the last random number is obtained; and

obtaining the random number from a storage unit next to the storage unit where the last random number is obtained.

10. The non-transitory, computer-readable medium of claim 6 , the operations further comprising:

determining that each random number of the plurality of random numbers has been obtained; and

in response to the determination:

generating a second plurality of random numbers; and

shuffling the second plurality of random numbers.

11. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing one or more instructions that, when executed by the one or more computers, perform one or more operations comprising:

automatically generating by a first hardware random number generator of an electronic device, a plurality of random numbers based on a random function, wherein the plurality of random numbers are N different random numbers, N is a positive integer, generating the plurality of random numbers includes generating a random number array including N storage units, each storage unit of the N storage units stores a particular random number of the N random numbers, and each storage unit of the N storage units is associated with a particular identifier;

automatically shuffling the plurality of random numbers, wherein automatically shuffling the plurality of random numbers includes:

generating an ith random value by a second hardware random number generator of the electronic device, wherein i is a positive integer from 1 to N and indicates the number of times random numbers being exchanged among the N storage units; and

exchanging a random number in a first storage unit of the N storage units with a random number in a second storage unit of the N storage units based on the ith random value and a predetermined rule;

receiving a random number obtaining instruction;

obtaining a random number from the plurality of random numbers based on the random number obtaining instruction; and

returning the random number.

12. The computer-implemented system of claim 11 , wherein generating the ith random value includes:

if i is greater than 1 and less than N, generating the ith random value based on a current time and the (i−1)th random value; and

if i is equal to 1, generating the ith random value based on the current time.

13. The computer-implemented system of claim 11 , wherein exchanging the random number in the first storage unit of the N storage units with the random number in the second storage unit of the N storage units based on the ith random value and the predetermined rule includes:

determining an identifier based on the ith random value;

determining the first storage unit of the N storage units based on the identifier, wherein the identifier is associated with the first storage unit;

determining the second storage unit of the N storage units, wherein the second storage unit is the (N+1−i)th storage unit of the N storage units; and

exchanging the random number in the first storage unit with the random number in the second storage unit.

14. The computer-implemented system of claim 11 , wherein obtaining the random number from the plurality of random numbers based on the random number obtaining instruction includes:

determining, based on the random number obtaining instruction, a storage unit where the last random number is obtained; and

obtaining the random number from a storage unit next to the storage unit where the last random number is obtained.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2019
From: WEN, JIAXIANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 048577/0367 →