KR101583471B1 - Apparatus and method for providing random numbers using statistical test of randomness - Google Patents
Apparatus and method for providing random numbers using statistical test of randomness Download PDFInfo
- Publication number
- KR101583471B1 KR101583471B1 KR1020140194688A KR20140194688A KR101583471B1 KR 101583471 B1 KR101583471 B1 KR 101583471B1 KR 1020140194688 A KR1020140194688 A KR 1020140194688A KR 20140194688 A KR20140194688 A KR 20140194688A KR 101583471 B1 KR101583471 B1 KR 101583471B1
- Authority
- KR
- South Korea
- Prior art keywords
- random number
- randomness
- verification
- bit string
- result
- Prior art date
Links
Images
Landscapes
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
The present invention relates to an apparatus for supplying a random number using a statistical technique for verifying randomness, comprising: a random number bit stream storage for storing a random number bit string generated using a random number generator; A first random number randomness verifier for performing verification according to a plurality of randomness verification algorithms, calculating a verification result for each verification algorithm, and storing the result in a randomness result storage, and a verification result for each algorithm from the randomness result storage, A second random number randomness verifier for calculating a distribution value and checking whether the calculated statistical distribution value satisfies predetermined statistical randomness and a controller for providing a verified random number based on the statistical randomness test result.
Description
The present invention relates to a computer environment using a random number generator, and more particularly, to a random number supplying apparatus for supplying a quality-guaranteed random number as much as required by a user or a system by verifying the randomness in an application program or a computer system using a random number generator, And a computer-readable recording medium on which the method is recorded.
Cryptographic applications use a binary random number bit sequence as a key. The quality of binary random numbers is an important factor that determines the level of security of the system in which the application is executed as well as the application being executed. Binary random numbers that are easy to predict are at risk of being easily decoded by brute-force attacks. The predictability of such a random number is difficult to determine with a combinatorial algorithm and can be verified by a statistical method.
As a representative verification tool written to verify the randomness of random numbers through statistical experiments, there is a collection of NIST statistical random number verification presented through the following prior art documents. This program measures the quality of random numbers through experimental values given by 15 verification methods with the generated binary random number sequence as an input value. In particular, a method of verifying randomness, which is an unpredictable degree of randomness, can be utilized by a statistical method.
However, the statistical verification methods do not guarantee that the random number generator continuously generates high quality random numbers because it measures the quality of the random number by receiving the random number generated by the random number generator. Therefore, it is required to present a technical means to supply random numbers with a certain statistical randomness in the cryptographic application field.
SUMMARY OF THE INVENTION It is an object of the present invention to solve the problem that a conventional random number supply system does not verify the statistical randomness of a random number bit string generated in a random number generator and also in a statistical verification method, We can not guarantee the generation of random numbers.
According to an aspect of the present invention, there is provided an apparatus for providing a random number using at least one processor and a storage device, the random number generator generating a random number bit string A stored random number bit stream store; A first random number randomness verifier for reading a random number bit string from the random number bit string storage and performing verification according to a plurality of randomness verification algorithms, calculating a verification result for each verification algorithm, and storing the result in a randomization result storage; A second random number randomness verifier for reading a verification result for each algorithm from the randomness result storage to calculate a statistical distribution value, and checking whether the calculated statistical distribution value satisfies predetermined statistical randomness; And a controller for providing a verified random number based on the statistical randomness check result.
In the random number supply device according to an embodiment, the first random number randomness verifier may perform verification on a predetermined size basis in accordance with a plurality of randomness verification algorithms on a random number bit string read from the random number bit string storage, May be matched with the calculated verification result and stored in the randomness result storage.
In the random number supply device according to an embodiment, the second random number randomness verifier calculates a ratio of frequencies corresponding to a threshold value or more that represents a significance level for each algorithm-specific verification result read out from the randomness result storage , And it can be checked whether the calculated ratio meets a predetermined statistical randomness criterion.
Also, in the random number supplying apparatus according to an embodiment, the second random number randomness verifier may calculate a distribution diagram for each algorithm-specific verification result read from the randomness result storage, and determine a distribution histogram of the calculated distribution map It is possible to check whether or not the predetermined statistical randomness criterion is satisfied.
In addition, in the random number supplying apparatus according to an embodiment, the random number bit string generated through the random number generator may be generated in a larger number than the number of random number supplies required by the second random number random number verifier.
Meanwhile, in the random number supply device according to an exemplary embodiment, when the statistical randomness is not satisfied as a result of the check by the second random number randomness verifier, the first random number bit string stored in the random number bit string storage And deletes the verification result of the deleted random number bit string.
Furthermore, a computer-readable recording medium on which a program for causing a computer to execute a method of controlling each component of the random-number supply device described above is recorded.
The embodiments of the present invention do not supply the random number generated by the random number generator according to the demand of the system, but only the verified random number is verified after the statistical randomness is verified, the verification device is added to the random number generator, , It is possible to continuously supply random numbers guaranteed with statistical randomness based on the result of the verification, and as a result, it is possible to improve the reliability of the random number supply in the cryptographic application field.
1 is a block diagram illustrating an apparatus for providing random numbers using a statistical technique for verifying randomness according to an embodiment of the present invention.
FIG. 2 is a block diagram showing an internal configuration of a first random number randomness verifier of the random number supply device of FIG. 1 according to an embodiment of the present invention.
FIG. 3A and FIG. 3B are block diagrams showing the internal configuration of the second random number randomness verifier of the random number supply device of FIG. 1 according to an embodiment of the present invention in more detail.
FIG. 4 is a diagram for explaining a control signal and movement paths of main data between individual components in the random-number supply device of FIG. 1 according to an embodiment of the present invention.
5 is a flowchart illustrating a method of supplying random numbers using a statistical technique for verifying randomness according to an embodiment of the present invention.
Before describing the embodiments of the present invention in detail, the technical means adopted by the embodiments of the present invention will be introduced to solve the problems associated with the conventional random number supplying means or the simple random number verification method .
As described above, there exist statistical methods for verifying randomness that is unpredictable in random numbers (for example, NIST SP800-22, diehard, or TestU01). However, these statistical verification methods are not limited to random number generators The random number generated by the random number generator does not guarantee that the random number generator continuously generates high quality random numbers because it measures the quality of the random number. Therefore, the random number supplying apparatus adopted by the embodiments of the present invention proposes the following technical means for supplying a random number ensured continuously with statistical randomness.
First, by adding a statistical randomness checking device to an arbitrary random number generator, the statistical randomness is continuously verified to provide a high quality random number.
Second, random numbers are generated, verified, and managed in accordance with the randomness verification result of the random number bit string through the control means.
Third, we want to provide random number after verifying randomness with improved verification rate by adding parallel operation accelerator to verification means.
Fourth, the number of random bit streams is generated relatively more than the number for statistical randomness verification, and it is tried to reduce the execution speed degradation due to regeneration and verification according to the verification result after verifying the randomness in advance by verifying in advance .
Hereinafter, embodiments of the present invention for solving the above-mentioned technical problems will be described in detail with reference to the drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It is to be noted that the same components are denoted by the same names and reference numerals as possible throughout the drawings.
FIG. 1 is a block diagram illustrating an apparatus for supplying random numbers using a statistical technique for verifying randomness according to an embodiment of the present invention, and can be implemented using at least one processor and a storage device. Here, the processor may perform a sequence of verification of a random number to store the intermediate output or final output in a physical storage device or read data therefrom.
Referring to FIG. 1, a
First, the
The random number
When storing the random number bit string generated by the
The first random
The first random
Also, in the first random
On the other hand, the
The
The second random
This second verification is to check whether the statistical distribution value of the verification result of each algorithm satisfies the significance level. For example, in "NIST SP800-22", "P.4-2, P4-3, 4.2.1 4.2.2. Uniform distribution of P-values ". The second random
First, the second random-
Second, the second random-
The random
The
On the other hand, when the statistical randomness is not satisfied as a result of the check by the second random
FIG. 2 is a block diagram illustrating more specifically the internal configuration of the first random number randomness verifier of the random number supply device of FIG. 1 according to an embodiment of the present invention, and corresponds to a technical means implementing the statistical randomness verification method.
The first random
FIGS. 3A and 3B are block diagrams more specifically showing the internal configuration of the second random
Figure 3a illustrates a method for verifying significant level pass-through. Referring to FIG. 3A, a
FIG. 3B shows a method of verifying the distribution. Referring to FIG. 3B, a distribution diagram of P (j, k) values 32, which is a result P-value for all random bit strings, is checked for the k-th verification algorithm. P (j, k) corresponding to a predetermined number of ranges, for example, 10 ranges (C0: less than 0.0 to 0.1, C1: less than 0.1 to less than 0.2 and C9: less than 0.9 to 1.0) k) value distribution histogram, it is confirmed whether or not the predetermined statistical randomness is satisfied (56), and the result is sent to the random number management controller (60).
FIG. 4 is a diagram for explaining a movement path of control data and main data between individual components in the random-number supply device of FIG. 1 according to an embodiment of the present invention. A line indicated by a solid line represents a flow of data, The line indicated by the arrow indicates the flow of control. Here, only the characteristic of the data itself is outlined around the flow of data.
(1) The random number bit string (E-1) is a random number bit string generated in the
(2) A set of random bit strings (E-2) is a random number bit string having a length required for the primary verification, and 1,000,000 bits are recommended.
(3) The first verification result (E-3) shows the result of each verification algorithm for one random number bit string in the first verification, and has a P-value value between 0.0 and 1.0.
(4) Verification result set (E-4) shows a set of P-values of a certain number of random number bit strings for each randomness verification algorithm.
(5) The second verification result (E-5) shows the result of verifying the randomness statistically by the randomness verification algorithm. The randomness can be judged according to the frequency and distribution of the P-value.
5 is a flowchart illustrating a method of supplying random numbers using a statistical technique for verifying randomness according to an embodiment of the present invention.
In step S510, one random number bit string is generated through the
In step S520, randomness for one random number bit string is verified through the first random number
In step S525, whether or not the number of bit strings is sufficient. If the condition is satisfied, the process proceeds to step S530. If the condition is not satisfied, the process returns to step S510 to repeat the generation of the bit string.
In step S530, the second random number verification for the P-value for each verification algorithm is performed through the second random number
If it is determined in step S535 that the predetermined randomness is sufficient, the process proceeds to step S540. Otherwise, the process proceeds to step S550.
In step S540, on the assumption that the randomness is satisfied, the random number management is ready to supply the random number through the
On the other hand, since randomness is not satisfied in step S550, the random number bit string generated first in the random number bit string stored in the random number
In step S560, a random number bit string may be requested from the user through the
In step S575, it is determined whether or not the random number bit string regeneration is required. Then, the random number bit string is generated in step S510 according to the result of the check, or the random number bit string is generated in step S540. You can wait after.
5 is summarized in terms of 'generating random number', 'random number verification' and 'random number supply', respectively.
(1) 'random number generation-verification' process
- Step 1: Generate a random bit string with a length of 1,000,000 bits.
- Step 2: Collect the P-value by verifying the first randomness for one random bit string.
- Step 3: The above 1-2 steps can be performed in parallel.
- Step 4: Secondly verify the P-value which is the result of the first verification of 1,000 random bits.
Step 5: If the statistical randomness is sufficient, then the next seven steps can be performed on the supply standby and supply request.
- Step 6: If the statistical randomness is insufficient, discard a certain number of random bit strings in the order of generated first, then repeat the procedure from
(2) 'Random water supply' process
Step 7: A random number is supplied for the requested number of bits. The random number bit string is read from the random number bit string store in order of the generated random number bit string, and then the corresponding random number bit string is removed.
Step 8: Generate a random number bit string by the number of used random number bits, and repeat the procedure from
The above-mentioned process of generating a random number bit stream is not performed only for the requested 1,000, but it is preferable to generate a random number buffer in advance according to the quality generated by the random number generator.
On the other hand, from the viewpoint of implementation, the number of randomness verification bits (meaning a random number bit string length) adopted by the embodiments of the present invention and the number of random number bit strings are 1,000,000 or more, 1,000 , But may be selected to suit the environment in which the embodiments of the present invention are implemented, and is not limited to the illustrated number.
In addition, the number of randomness verification bits and the number of random bit strings can be controlled by the random number management controller. The random number bit string does not generate only the required number, for example, 1,000, but the quality It is preferable to generate a buffer having a predetermined length in advance. As a more specific example, when the average number of regenerations is 10, the random number generator first generates 1,010 random number bit strings to perform the first verification, and if the random number is supplied afterwards, the ten generated numbers are used one by one The second verification can be performed.
In the embodiments of the present invention described above, instead of supplying the random number generated through the random number generator according to the demand of the system, only the verified random number is supplied after verifying the statistical randomness, and the verification device is added to the random number generator, By performing randomness verification, it is possible to continuously supply random numbers with guaranteed statistical randomness based on the verification result, and as a result, it is possible to improve the reliability regarding the random number supply in the cryptographic application field. Furthermore, since the verification can be performed at a high speed using a parallel operation accelerator, it has a fast random number verification and a supply speed.
Meanwhile, in the embodiments of the present invention, a series of operation methods for controlling each component of the random number supply device can be implemented by a computer-readable code on a computer-readable recording medium. A computer-readable recording medium includes all kinds of recording apparatuses in which data that can be read by a computer system is stored.
Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device and the like, and also a carrier wave (for example, transmission via the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily deduced by programmers skilled in the art to which the present invention belongs.
The present invention has been described above with reference to various embodiments. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.
10: random number generator
100: Proven random water supply
20: Random number bit storage
30: First random number randomness verifier
35: Parallel operation accelerator
40: randomness result storage
50: 2nd random number randomness verifier
60: random number management and controller
70: User interface
Claims (7)
A random number bit string storage for storing a random number bit string generated using the random number generator;
A first random number randomness verifier for reading a random number bit string from the random number bit string storage and performing verification according to a plurality of randomness verification algorithms, calculating a verification result for each verification algorithm, and storing the result in a randomization result storage;
A second random number randomness verifier for reading a verification result for each algorithm from the randomness result storage to calculate a statistical distribution value, and checking whether the calculated statistical distribution value satisfies predetermined statistical randomness; And
And a controller for providing a verified random number based on the statistical randomness check result.
Wherein the first random number randomness verifier comprises:
A random number bit string read from the random number bit string storage is verified in units of a predetermined size according to a plurality of randomness verification algorithms, and an identifier for each verification algorithm is matched with the calculated verification result and stored in the randomness result storage Characterized by a random water supply.
The verification algorithm includes:
And a verification algorithm according to the NIST SP800-22 standard.
Wherein the second random number randomness verifier comprises:
A ratio of a frequency corresponding to a threshold value or more representing a significance level to each verification result of each algorithm read out from the randomness result storage is calculated and it is checked whether the calculated ratio satisfies a predetermined statistical randomness criterion Characterized by a random water supply.
Wherein the second random number randomness verifier comprises:
Calculating a distribution diagram for each algorithm-specific verification result read out from the randomness result storage, and checking whether the distribution histogram of the calculated distribution map satisfies a predetermined statistical randomness criterion.
Wherein the random number bit string generated through the random number generator is generated by a larger number than the number of random number supplies required by the second random number randomizer.
If the statistical randomness is not satisfied as a result of the check by the second random number randomness verifier, deletes the first random number bit string generated from the random number bit string stored in the random number bit string storage and deletes the verification result of the deleted random number bit string And a random number generator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140194688A KR101583471B1 (en) | 2014-12-31 | 2014-12-31 | Apparatus and method for providing random numbers using statistical test of randomness |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140194688A KR101583471B1 (en) | 2014-12-31 | 2014-12-31 | Apparatus and method for providing random numbers using statistical test of randomness |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101583471B1 true KR101583471B1 (en) | 2016-01-08 |
Family
ID=55170634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140194688A KR101583471B1 (en) | 2014-12-31 | 2014-12-31 | Apparatus and method for providing random numbers using statistical test of randomness |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101583471B1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146507B2 (en) | 2016-11-16 | 2018-12-04 | Samsung Electronics Co., Ltd. | Randomness test apparatus and method for random number generator |
KR20190049283A (en) | 2017-11-01 | 2019-05-09 | 국민대학교산학협력단 | Light-weight random number health test apparatus |
KR20190134031A (en) * | 2018-05-24 | 2019-12-04 | 홍익대학교 산학협력단 | Method of verifying randomness of bitstream and system thereof |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197847A (en) * | 2007-02-09 | 2008-08-28 | Toshiba Corp | Random number inspection device and inspection method therefor |
KR101401953B1 (en) * | 2013-01-08 | 2014-05-30 | 홍익대학교 산학협력단 | Apparatus and method for generating random number using graphic processing unit |
-
2014
- 2014-12-31 KR KR1020140194688A patent/KR101583471B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008197847A (en) * | 2007-02-09 | 2008-08-28 | Toshiba Corp | Random number inspection device and inspection method therefor |
KR101401953B1 (en) * | 2013-01-08 | 2014-05-30 | 홍익대학교 산학협력단 | Apparatus and method for generating random number using graphic processing unit |
Non-Patent Citations (1)
Title |
---|
"A Statistical Test Suite for Random and Pseudorandom Number Generators for Cryptographic Applications", A. Rukhin, et al. (2010, April) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10146507B2 (en) | 2016-11-16 | 2018-12-04 | Samsung Electronics Co., Ltd. | Randomness test apparatus and method for random number generator |
KR20190049283A (en) | 2017-11-01 | 2019-05-09 | 국민대학교산학협력단 | Light-weight random number health test apparatus |
KR20190134031A (en) * | 2018-05-24 | 2019-12-04 | 홍익대학교 산학협력단 | Method of verifying randomness of bitstream and system thereof |
KR102073474B1 (en) * | 2018-05-24 | 2020-02-04 | 홍익대학교 산학협력단 | Method of verifying randomness of bitstream and system thereof |
US11157239B2 (en) | 2018-05-24 | 2021-10-26 | Hongik University Industry-Academia Cooperation Foundation | Method of verifying randomness of bitstream and system thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378139B (en) | Data key protection method, system, electronic equipment and storage medium | |
CN109474423A (en) | Data encryption/decryption method, server and storage medium | |
CN104090806B (en) | The processing method and processing device of AKU, upgrade request | |
PH12019501715A1 (en) | Digital certificate management method and apparatus, and electronic device | |
CN106130716B (en) | Key exchange system and method based on authentication information | |
JP2018501567A5 (en) | ||
JP2013513312A5 (en) | ||
EP3304800B1 (en) | Method for providing a space puzzle | |
KR101583471B1 (en) | Apparatus and method for providing random numbers using statistical test of randomness | |
CN108599934B (en) | Verifiable security and confidentiality enhancement method for quantum key distribution | |
KR101768605B1 (en) | Data transmission apparatus and method for non-repudiation of the transmission message | |
RU2014117153A (en) | KEY FORMATION DEPENDING ON THE PARAMETER | |
JP2017511095A (en) | Authentication apparatus and method | |
CN109495265B (en) | Network data transmission method, communication terminal, and computer-readable storage medium | |
CN104579558A (en) | Method for detecting integrity in data transmission process | |
KR20110028968A (en) | Method for verifying the integrity of a user's data in remote computing and system thereof | |
KR20170122048A (en) | System and method for searching encrypted data using bloom filter and binary tree | |
JP6273226B2 (en) | Encryption system, authentication system, encryption device, decryption device, authenticator generation device, verification device, encryption method, authentication method | |
KR102238590B1 (en) | Method of authenticating and verifying data packet transmission, and apparatuses operating the same | |
JPWO2016063512A1 (en) | MAC tag list generation device, MAC tag list verification device, MAC tag list generation method, MAC tag list verification method, and program recording medium | |
KR101593675B1 (en) | User data integrity verification method and apparatus | |
CN103457721A (en) | Method and device for generating passwords in bulk | |
KR101194403B1 (en) | Apparatus of generating cryptographically secure pseudo random number and method thereof | |
CN114143311B (en) | Privacy protection scheme aggregation method and device based on block chain | |
KR102045843B1 (en) | Method and apparatus for block encryption algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |