IP Library Granted Patent US 10,929,103
Granted Patent B2
US 10,929,103 · App. 16/906,840 · Granted Feb 23, 2021

Random number generation and acquisition method and device

Inventor: Jiaxiang Wen (Hangzhou, CN)
Assignee: Advanced New Technologies Co., Ltd.
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,929,103
App. No.
16/906,840
Granted
Feb 23, 2021
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 (74)

1. A computer-implemented method, comprising:

generating, by a first hardware random number generator of an electronic device, a plurality of random numbers, wherein the plurality of random numbers are N different random numbers, N is a positive integer, and generating the plurality of random numbers includes generating a random number array including N storage units;

shuffling, by the electronic device, the plurality of random numbers based on one or more random values generated by a second hardware random number generator of the electronic device;

receiving a random number obtaining instruction;

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

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

in response to determination that each random number of the plurality of random numbers has been obtained:

generating, by the first hardware random number generator of the electronic device, a second plurality of random numbers; and

shuffling, by the electronic device, the second plurality of random numbers.

2. The computer-implemented method of claim 1 , wherein each storage unit of the N storage units stores a particular random number of the N random numbers.

3. The computer-implemented method of claim 2 , wherein each storage unit of the N storage units is associated with a particular identifier, and shuffling the plurality of random numbers includes:

generating an ith random value, 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.

4. The computer-implemented method of claim 3 , 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.

5. The computer-implemented method of claim 3 , 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.

6. The computer-implemented method of claim 2 , 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.

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

generating, by a first hardware random number generator of an electronic device, a plurality of random numbers, wherein the plurality of random numbers are N different random numbers, N is a positive integer, and generating the plurality of random numbers includes generating a random number array including N storage units;

shuffling, by the electronic device, the plurality of random numbers based on one or more random values generated by a second hardware random number generator of the electronic device;

receiving a random number obtaining instruction;

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

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

in response to determination that each random number of the plurality of random numbers has been obtained:

generating, by the first hardware random number generator of the electronic device, a second plurality of random numbers; and

shuffling, by the electronic device, the second plurality of random numbers.

8. The non-transitory, computer-readable medium of claim 7 , wherein each storage unit of the N storage units stores a particular random number of the N random numbers.

9. The non-transitory, computer-readable medium of claim 8 , wherein each storage unit of the N storage units is associated with a particular identifier, and shuffling the plurality of random numbers includes:

generating an ith random value, 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.

10. The non-transitory, computer-readable medium of claim 9 , 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.

11. The non-transitory, computer-readable medium of claim 9 , 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.

12. The non-transitory, computer-readable medium of claim 8 , 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.

13. 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:

generating, by a first hardware random number generator of an electronic device, a plurality of random numbers, wherein the plurality of random numbers are N different random numbers, N is a positive integer, and generating the plurality of random numbers includes generating a random number array including N storage units;

shuffling, by the electronic device, the plurality of random numbers based on one or more random values generated by a second hardware random number generator of the electronic device;

receiving a random number obtaining instruction;

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

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

in response to determination that each random number of the plurality of random numbers has been obtained:

generating, by the first hardware random number generator of the electronic device, a second plurality of random numbers; and

shuffling, by the electronic device, the second plurality of random numbers.

14. The computer-implemented system of claim 13 , wherein each storage unit of the N storage units stores a particular random number of the N random numbers.

15. The computer-implemented system of claim 14 , wherein each storage unit of the N storage units is associated with a particular identifier, and shuffling the plurality of random numbers includes:

generating an ith random value, 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.

16. The computer-implemented system of claim 15 , 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.

17. The computer-implemented system of claim 15 , 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.

18. The computer-implemented system of claim 14 , 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 Jun 29, 2020
From: WEN, JIAXIANG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 053077/0337 →