KR101837589B1 - Computer-executable random-number generation method and random-number generation apparatus performing the same - Google Patents

Computer-executable random-number generation method and random-number generation apparatus performing the same Download PDF

Info

Publication number
KR101837589B1
KR101837589B1 KR1020160015273A KR20160015273A KR101837589B1 KR 101837589 B1 KR101837589 B1 KR 101837589B1 KR 1020160015273 A KR1020160015273 A KR 1020160015273A KR 20160015273 A KR20160015273 A KR 20160015273A KR 101837589 B1 KR101837589 B1 KR 101837589B1
Authority
KR
South Korea
Prior art keywords
random number
entropy
block
random
number generation
Prior art date
Application number
KR1020160015273A
Other languages
Korean (ko)
Other versions
KR20170093626A (en
Inventor
염용진
강주성
유태일
Original Assignee
국민대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 국민대학교산학협력단 filed Critical 국민대학교산학협력단
Priority to KR1020160015273A priority Critical patent/KR101837589B1/en
Publication of KR20170093626A publication Critical patent/KR20170093626A/en
Application granted granted Critical
Publication of KR101837589B1 publication Critical patent/KR101837589B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Abstract

A computer-executable random number generation method includes: a random number generation preprocessing step of generating a random number-entropy block by providing a noise source extracted from a random matrix to an entropy pool; A random number generation step of feeding back a random number generation preprocessing step and a random number generation step of generating a random number based on another part of the random number-entropy block (hereinafter, a random number block). Accordingly, the random number generation method can generate a random number based on a part of the output data, feed back another part of the output data, minimize the data size, and generate a cryptographically secure random number.

Description

BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a computer-executable random number generation method and a random number generation apparatus for performing the random number generation method.

The present invention relates to a random number generation technique, and more particularly, to a random number generation method for generating a random number based on a part of output data and feeding a different part of output data to minimize a data size and generating a cryptographically secure random number .

In wireless communication environment or object internet environment, it is important to encrypt and decrypt information in order to maintain information security. A random number is used in a security-critical system, such as a secret key of a security system, and must be generated to have an unpredictable value. The prior art uses high entropy sources to improve the security of random numbers, but it has a problem in that it is limited in use environment because it requires a lot of source data and requires a large amount of memory usage.

Korean Patent Laid-Open No. 10-2009-0048014 relates to a method for reducing the correlation between entropy sources and a random number generator using the method, and a reset sequence of a plurality of entropy sources is set in consideration of a correlation between a plurality of entropy sources , Sequentially resets a plurality of entropy sources based on the reset order, and generates random number data using a signal generated by the plurality of entropy sources.

Korean Patent No. 10-0893235 relates to a method and apparatus for a random number generator, which generates random numbers for use in a wireless communication device, collects the random number samples, and generates random numbers such as mean, standard deviation, and / or entropy Calculating at least one metric, adjusting the metric based on a result of the comparison such that the generated random numbers achieve a desired distribution, and comparing the metrics with a corresponding reference value to generate random numbers and feedback values A description will be given of a technique for generating the data.

Korean Patent Publication No. 10-2009-0048014 (published on May 13, 2009) Korean Registered Patent No. 10-0893235 (Registered on Apr. 06, 2009)

One embodiment of the present invention provides a random number generation method that generates a random number based on a part of output data and feeds back a different part of output data to minimize a data size and generate a cryptographically secure random number.

An embodiment of the present invention is to provide a random number generation method that improves the security of an entropy pool by mixing a part of output data into an entropy pool in an environment where computation capability is limited.

One embodiment of the present invention provides a random number generation method for sequentially extracting a part of an entropy feedback block and a noise source, performing at least one logical operation stepwise, and inserting it into an entropy pool through a linear feedback shift register having a maximum cycle period I want to.

An embodiment of the present invention is to provide a random number generation method for updating a random matrix based on a random matrix feedback block to extract a noise source having full-entropy based on a minimum data source.

Among the embodiments, a computer-executable random number generation method includes: a random number generation preprocessing step of providing a random number-entropy block by providing a noise source extracted from a random matrix to an entropy pool; Feedback block) to the random number generation preprocessing step and a random number generation step of generating a random number based on another part of the random number-entropy block (hereinafter, a random number block).

The random number generation feedback step updates the random matrix based on a part of the feedback block (hereinafter referred to as a random matrix feedback block), updates the entropy pool based on another part of the feedback block (hereinafter, entropy feedback block) The method comprising the steps of: The generating of the random number may include generating the random number based on the random number block that is complementary to the random matrix feedback block.

The random number generation preprocessing step may include extracting any noise source having a full-entropy from the random matrix. In one embodiment, the random number generation pre-processing step may insert the noise source into the entropy pool through a linear feedback shift register having a maximum cycle period.

The random number generation preprocessing step may update the random matrix by feeding back the random matrix feedback block and extract a noise source from the updated random matrix. In one embodiment, the random matrix is implemented via the Hankel matrix, and the size of the Henkel matrix may vary depending on the size of the random matrix feedback block.

In one embodiment, the random number generation preprocessing step may feed back the entropy feedback block, and update the entropy pool based on the feedback entropy feedback block and the noise source extracted from the updated random matrix. In one embodiment, the random number generation preprocessing step may sequentially perform at least one logical operation by sequentially extracting a part of the feedback entropy feedback block and the noise source. In one embodiment, the random number generation preprocessing step may expand the entropy pool data through the operating mode of the block cipher to generate the random number-entropy block.

Among the embodiments, the random number generation apparatus includes a random number generation preprocessing section for generating a random number-entropy block by providing a noise source extracted from a random matrix to an entropy pool, a random number generation preprocessing section for generating a random number- A random number generation feedback unit for updating the random matrix by feeding back the random matrix and for updating the entropy pool by feeding back another part of the random number-entropy block (or an entropy feedback block) and another part of the random number- Number generating unit for generating a random number based on the random number block.

The disclosed technique may have the following effects. It is to be understood, however, that the scope of the disclosed technology is not to be construed as limited thereby, as it is not meant to imply that a particular embodiment should include all of the following effects or only the following effects.

A computer-executable random number generation method according to an exemplary embodiment of the present invention generates a random number based on a part of output data and feeds back a different part of output data to minimize a data size and generate a cryptographically secure random number .

A computer-executable random number generation method according to an exemplary embodiment of the present invention can improve the security of an entropy pool by mixing a part of output data into an entropy pool in an environment where computation capability is limited.

A computer-executable random number generation method according to an exemplary embodiment of the present invention includes a step of sequentially extracting a portion of an entropy feedback block and a noise source, performing at least one logical operation step by step, and outputting an entropy pool through a linear feedback shift register having a maximum cycle period As shown in FIG.

The computer-executable random number generation method according to an exemplary embodiment of the present invention updates a random matrix based on a random matrix feedback block to extract a full-entropy noise source based on a minimum data source.

1 is a view for explaining a random number generating method performed in the random number generating apparatus according to an embodiment of the present invention.
FIG. 2 is a block diagram showing the random number generating apparatus shown in FIG. 1. FIG.
FIG. 3 is a diagram for explaining a process of updating an entropy pool performed in the random number generator of FIG. 1. FIG.
4 is a diagram for explaining a process of updating a random matrix performed in the random number generator of FIG.
FIG. 5 is a flowchart illustrating a random number generation process performed in the random number generation apparatus shown in FIG.

The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.

Meanwhile, the meaning of the terms described in the present application should be understood as follows.

The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

It is to be understood that the singular " include " or "have" are to be construed as including the stated feature, number, step, operation, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

The present invention can be embodied as computer-readable code on a computer-readable recording medium, and the computer-readable recording medium includes all kinds of recording devices for storing data that can be read by a computer system . 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 implemented in the form of a carrier wave (for example, transmission over 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.

All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present application.

FIG. 1 is a diagram for explaining a random number generating method performed in the random number generating apparatus according to an embodiment of the present invention, and FIG. 2 is a block diagram illustrating a random number generating apparatus in FIG.

1 and 2, the random number generation apparatus 100 includes a random number generation preprocessing unit 210, a random number generation feedback unit 220, a random number generation unit 230, and a control unit 240.

The random number generation preprocessing unit 210 may generate the random number-entropy block 60 by providing the entropy pool 40 with the noise source 30 extracted from the random matrix 20. [ The random number generation preprocessing unit 210 may receive the arbitrary input noise source 10 and may generate the random matrix 20 through the noise source 10. The random number generation preprocessing unit 210 may extract random noise sources (or outputs of a random matrix) 30 having a full-entropy with a specific size through the random matrix 20. Here, the extracted noise source 30 having a full-entropy may correspond to data generated in all cases where the data of all cases that can be output are mutually independent with the same probability. In one embodiment, the random-number-entropy block 60 may include a random number block 61, a random matrix feedback block 62, and an entropy feedback block 63.

The random number generation preprocessing unit 210 can update the entropy pool 40 based on the extracted noise source 30. More specifically, the random number generation preprocessing unit 210 may insert the extracted noise source 30 into the entropy pool 40 through a linear feedback shift register having a maximum circulation period. Here, the extracted noise source 30 may have a unit data size (for example, 8 bits), and the entropy pool 40 may be generated as a combination of a plurality of unit data (for example, 64 bits) . The entropy pool 40 may store each of a plurality of unit data in adjacent storage spaces (e.g., a flip-flop). The random number generation preprocessing unit 210 may insert the noise source extracted through the linear feedback shift register into the storage space of the entropy pool 40 and move the plurality of unit data of the entropy pool 40 to the adjacent storage space. That is, the random number generation preprocessing unit 210 may push a plurality of unit data into an adjacent storage space for insertion of the extracted noise source (or insertion of new unit data). Hereinafter, the linear feedback shift register performed by the random number generation preprocessing unit 210 will be described in detail with reference to FIG.

The random number generation preprocessing unit 210 may input the data of the updated entropy pool 40 to the block cipher 50 and generate a random number-entropy block 60 based on the data. More specifically, the random number generation preprocessing unit 210 can input the data of the updated entropy pool 40 to the block cipher 50 and apply the operation mode of the block cipher 50 to the random number-entropy block 60 Can be generated. The operating mode of the block cipher 50 may include a CTR (Counter) mode. For example, when the entropy pool 40 has a data size of 64 bits, the random number generation preprocessing unit 210 applies the operation mode of the block cipher 50 to the data of the entropy pool 40, And generate a random-number-entropy block 60 of size.

In one embodiment, the cryptographic key and the initial counter, which are input in the CTR mode, can be obtained by making the block cipher 50 idle twice with a previously generated value. The encryption key and counter, which are pre-generated values used for idling, are set to 0 in each 64 bits, and the entropy input used therein can be set to the data of the current entropy pool 40. The most significant 64 bits of data obtained as a result of idling are used as cryptographic keys in CTR mode, and the remaining 64 bits can be used as an initial counter.

The random number generation feedback unit 220 may feed back a part of the random number-entropy block 60 (or the feedback block) to the random number generation preprocessing unit 210 and the random number generation unit 230 may generate the random number- A random number can be generated based on another part (or a random number block) of the random number. More specifically, the feedback block may include a random matrix feedback block 62 and an entropy feedback block 63. That is, the random number generation preprocessing unit 210 updates the random matrix 20 based on a part of the feedback block or the random matrix pad back block 62, and based on another part of the feedback block or the entropy feedback block 63 The entropy pool 40 can be updated.

The random number generation feedback unit 220 may feed back the random matrix feedback block 62 to the random number generation preprocessing unit 210 and the random number generation preprocessing unit 210 may generate the random number feedback block 62 based on the random matrix feedback block 62, The matrix 20 can be updated. The random number generation preprocessing unit 210 may extract an arbitrary noise source 30 from the updated random matrix 20. [ In one embodiment, the random number generation preprocessing unit 210 may repeat the process of updating the entropy pool based on an arbitrary noise source 30 extracted from the updated random matrix 20 at regular intervals.

In one embodiment, when the random matrix 20 is implemented via a Hankel matrix, the random number generation feedback unit 220 feeds back the random matrix feedback block 62 to the random number generation preprocessing unit 210 And the random number generation preprocessing unit 210 can update the Henkel matrix 20 based on the random matrix feedback block 62. [ For example, when the Henkel matrix 20 is implemented with an M * N matrix (where M and N are natural numbers), the size of the random matrix feedback block 62 may correspond to M + N - 1. The size of the Henkel matrix 20 may be determined according to the vector magnitude of the noise source (or the output of the extractor) 30 provided to the entropy pool 40. The random number generation preprocessing unit 210 can update the Henkel matrix 20 by setting the random matrix feedback block 62 as the seed data of the Henkel matrix 20. [ Hereinafter, the process of generating and updating the Henkel matrix 20 will be described in detail with reference to FIG.

The random number generation feedback unit 220 may feed back the entropy feedback block 63 to the random number generation preprocessing unit 210 and the random number generation preprocessing unit 210 may generate an entropy feedback block 63 based on the entropy feedback block 63, 40 can be updated. In one embodiment, the random number generation preprocessor 210 may update the entropy pool 40 based on the feedback entropy feedback block 63 and the noise source 30 extracted from the updated random matrix 20.

The random number generation unit 230 may generate a random number based on the random number block 61 formed in a complementary manner to the random matrix feedback block 62. That is, when the sizes of the random number block 61 and the random matrix feedback block 62 are constant (for example, 64 bits), the size (n bits, where n is a natural number) of the random number block 61 is a random matrix May be determined according to the size of the feedback block 62 (64-n bits). For example, when the size of the random number block 61 and the random matrix feedback block 62 corresponds to 64 bits and the size of the random matrix feedback block 62 corresponds to 24 bits, the size of the random number block 61 is 40 Bit. ≪ / RTI > Accordingly, the random number generation unit 230 can generate a random number having a size of 40 bits.

The control unit 240 controls the overall operation of the random number generation apparatus 100 and controls the control flow or data flow between the random number generation preprocessing unit 210, the random number generation feedback unit 220, and the random number generation unit 230 have.

FIG. 3 is a diagram for explaining a process of updating an entropy pool performed in the random number generator of FIG. 1. FIG.

Referring to FIG. 3, the random number generation preprocessing unit 210 may receive the entropy feedback block 310 and update the entropy pool 320. In one embodiment, the random number generation pre-processing unit 210 may insert the noise source 30 extracted through the linear feedback shift register with the maximum cycle period into the entropy pool 320. Here, the linear feedback shift register can have maximum safety when having the maximum cycle period. The feedback entropy feedback block 310 corresponds to the entropy feedback block 63 received from the random number generation feedback unit 220 and the updated entropy pool 320 can be used as the input data for the block cipher 50 have.

In one embodiment, the random number generation preprocessing unit 210 may sequentially extract a portion of the feedback entropy feedback block 310 and the extracted noise source 30 to perform at least one logical operation 330 step by step . The random number generation preprocessing unit 210 inserts the output of the logic operation into the entropy pool 320 and moves a plurality of unit data stored in the feedback entropy feedback block 310 to an adjacent storage space to update the entropy pool 320 can do.

In one embodiment, the random number generation preprocessing unit 210 may determine the unit data from which the logic operation is to be performed from the fed back entropy feedback block 310. [ For example, when the size of the unit data corresponds to 8 bits and the entropy feedback block 310 is composed of a combination of eight unit data P 0 to P 7 (that is, 64 bits), eight unit data P 0 to P 7 may be stored in adjacent storage spaces 311 to 318. The random number generation preprocessing unit 210 can sequentially extract the unit data P 7 , P 2 and P 1 from the fed back entropy feedback block 310 and output the extracted unit data P 7 , P 2 , P 1 ) to perform the logical operation 330 step by step. That is, the random number generation preprocessing unit 210 performs a primary logical operation 331 on the basis of the first extracted unit data P 7 and P 2 , and outputs the output of the primary logical operation 331 and the output of the second- And the secondary logical operation 332 can be performed based on the extracted unit data P 1 . The random number generation preprocessing unit 210 performs a cubic logic operation 333 on the basis of the output of the quadratic logic operation 332 and the extracted noise source 30 to generate an arbitrary random number having a full- Can be extracted and inserted into the entropy pool 320 to be updated. Finally, the random number generation preprocessing unit 210 inserts the output of the stepwise performed logic operation 330 into the storage space 321 of the entropy pool 320 to be updated, and stores the previously stored plurality of unit data P 0 To P 6 may be moved to adjacent storage spaces 322 - 328. The random number generation preprocessing unit 210 moves the unit data P 0 stored in the primary storage space 311 of the fed back entropy feedback block 310 to the secondary storage space 322 of the updated entropy pool 320 . As a result, the random number generation preprocessing unit 210 may perform a stepwise logic operation 330 on the basis of the sequentially extracted unit data to extract any noise source 30 having full-entropy.

In one embodiment, the logical operation 330 may be implemented through an XOR (Exclusive OR) operation, although it is not so limited. The random number generation preprocessing unit 210 outputs a value of 0 if the inputted bit values are equal to each other and outputs a value of 1 when the input bit values are different. The random number generation preprocessing unit 210 may perform a logic operation on the digits of each input unit data to determine an output value.

4 is a diagram for explaining a process of updating a random matrix performed in the random number generator of FIG.

Referring to FIG. 4, the random number generation preprocessing unit 210 may receive the random matrix feedback block 62 and update the random matrix 20. In one embodiment, the random number generation pre-processing unit 210 may receive the random matrix feedback block 62 and set it as the seed data of the Henkel matrix 20 when the random matrix 20 is implemented in the Henkel matrix. Here, the seed data (a i, j ) of the Henkel matrix 20 can be placed in the first row and the last column of the Henkel matrix. The random number generation preprocessing unit 210 can determine the remaining data values based on the seed data of the Henkel matrix 20. One seed data value may be stored in a position (a i + 1, j - 1 ) of the next row and the previous column of the current matrix position and the random number generation preprocessing section 210 determines all the data values of the Henkel matrix 20 The process can be repeated until.

For example, when the Henkel matrix is implemented as a 4 * 4 matrix, the random number generation preprocessing unit 210 determines the random matrix feedback block 62 as seed data and outputs the first row and the last row (a 11 , a 12 , a 13 , a 14 , a 24 , a 34 , a 44 . The seed data value may be stored in the position (a i + 1, j - 1 ) of the next row and the previous row of the current matrix position and the random number generation pre- All data values of the Henkel matrix 20 can be determined in such a manner that the a 13 seed data value is stored at the positions of (2, 2) and (3, 1). The random number generation preprocessing unit 210 can determine the size of the Henkel matrix 20 based on the size of the random matrix feedback block 62 and determine the size of the output 30 of the extracted noise source or random matrix .

The random number generation preprocessing unit 210 may update the random matrix 20 by feeding back the random matrix feedback block 62 every predetermined period and may update the random matrix 20 by using the noise source 30 extracted from the updated random matrix 20. [ The entropy pool 40 can be improved on the basis of the minimum input data.

FIG. 5 is a flowchart illustrating a random number generation process performed in the random number generation apparatus shown in FIG.

5, the random number generation preprocessing unit 210 receives a randomly input noise source 10 and extracts a random noise source 30 having a full-entropy with a specific size through a random matrix 20 (Step S501).

The random number generation preprocessing unit 210 may update the entropy pool 40 based on the extracted noise source 30 (step S502). In one embodiment, the random number generation preprocessor 210 inserts the noise source 30 extracted through the linear feedback shift register into the storage space of the entropy pool 40 and stores a plurality of unit data of the entropy pool 40 in the adjacent storage It is possible to improve the safety of the entropy pool 40 by updating the entropy pool 40 by moving it to the space.

The random number generation preprocessing unit 210 inputs the data of the updated entropy pool 40 to the block cipher 50 (step S503) and applies the operation mode of the block cipher 50 to the random number-entropy block 60 (Step S504). For example, when the entropy pool 40 has a data size of 64 bits, the random number generation preprocessing unit 210 applies the operation mode of the block cipher 50 to the data of the entropy pool 40, And generate a random-number-entropy block 60 of size.

In one embodiment, the random number generation feedback unit 220 outputs the random matrix feedback block 62 to the random number generation preprocessing unit 62 when a part of the random number-entropy block 60 corresponds to the random matrix feedback block 62 (step S505) And the random number generation preprocessing unit 210 may update the random matrix 20 based on the fed back information (step S506). The random number generation preprocessing unit 210 may extract an arbitrary noise source 30 based on the updated random matrix 20 and provide it to the entropy pool 40.

The random number generation feedback unit 220 outputs the entropy feedback block 63 to the random number generation preprocessing unit 63 if the other part of the random number-entropy block 60 corresponds to the entropy feedback block 63 (step S507) 210, and the random number generation preprocessing unit 210 can update the entropy pool 40 based on the fed back (step S508). The random number generation preprocessing unit 210 may input the data of the updated entropy pool 40 to the block cipher 50.

In one embodiment, the random number generator 230 may generate a random number 70 based on the random number block 61 if another portion of the random number-entropy block 60 corresponds to the random number block 61 (Step S509). The random number generation unit 230 may generate a random number based on the random number block 61 formed in a complementary manner to the random matrix feedback block 62.

Therefore, the random number generation device 100 can generate a random number based on a part of the output data, feed back another part of the output data, minimize the data size, generate a cryptographically secure random number, In an environment, a portion of the output data can be mixed into an entropy pool to improve the security of the entropy pool. In addition, the random number generator 100 may sequentially extract a portion of the entropy feedback block and the noise source, perform at least one logical operation step by step, insert it into the entropy pool through the linear feedback shift register, The random matrix can be updated based on the minimum data source and a full-entropy noise source can be extracted.

While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it will be understood by those of ordinary skill 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 following claims And changes may be made without departing from the spirit and scope of the invention.

100: random number generator
210: a random number generation preprocessing unit 220: a random number generation feedback unit
230: random number generator 240:
10: noise source 20: extractor or random matrix
30: Output of the extracted noise source or random matrix
40: entropy pool 50: block cipher
60: random number - entropy block 70: random number

Claims (11)

A random number generation preprocessing step of generating a random number-entropy block by providing a noise source extracted from the random matrix to an entropy pool;
A random number generation feedback step of feeding back a part of the random number-entropy block (hereinafter referred to as feedback block) to the random number generation pre-processing step; And
And a random number generating step of generating a random number based on another part of the random number-entropy block (hereinafter, a random number block)
The random number generation feedback step
Updating the random matrix based on a part of the feedback block (hereinafter referred to as a random matrix feedback block), and updating the entropy pool based on another part of the feedback block (hereinafter referred to as an entropy feedback block) Lt; RTI ID = 0.0 > 1, < / RTI >
delete 2. The method of claim 1, wherein the random number generation step
And generating the random number based on the random number block formed complementary to the random matrix feedback block.
The method of claim 1, wherein the random number generation preprocessing step
And extracting any random noise source having a full-entropy from the random matrix.
The method of claim 1, wherein the random number generation preprocessing step
And inserting the noise source into the entropy pool through a linear feedback shift register having a maximum cyclic period.
The method of claim 1, wherein the random number generation preprocessing step
Updating the random matrix by feeding back the random matrix feedback block, and extracting a noise source from the updated random matrix.
2. The method of claim 1,
Wherein the Henkel matrix is implemented via a Hankel matrix and the size of the Henkel matrix varies according to the size of the random matrix feedback block.
7. The method of claim 6, wherein the random number generation pre-
Feedbacking the entropy feedback block and updating the entropy pool based on the feedback entropy feedback block and the noise source extracted from the updated random matrix.
9. The method of claim 8, wherein the random number generation preprocessing step
And sequentially extracting a portion of the feedbacked entropy feedback block and the noise source to perform at least one logical operation step by step.
The method of claim 1, wherein the random number generation preprocessing step
And expanding the data of the entropy pool through an operating mode of a block cipher to generate the random number-entropy block.
A random number generation preprocessing unit for generating a random number-entropy block by providing a noise source extracted from the random matrix to an entropy pool;
A random number generation feedback unit for updating the random matrix by feeding back a part of the random number-entropy block (or a random matrix feedback block) and updating the entropy pool by feeding back another part of the random number-entropy block (or an entropy feedback block) part; And
And a random number generator for generating a random number based on another part (or random number block) of the random number-entropy block.
KR1020160015273A 2016-02-05 2016-02-05 Computer-executable random-number generation method and random-number generation apparatus performing the same KR101837589B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160015273A KR101837589B1 (en) 2016-02-05 2016-02-05 Computer-executable random-number generation method and random-number generation apparatus performing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160015273A KR101837589B1 (en) 2016-02-05 2016-02-05 Computer-executable random-number generation method and random-number generation apparatus performing the same

Publications (2)

Publication Number Publication Date
KR20170093626A KR20170093626A (en) 2017-08-16
KR101837589B1 true KR101837589B1 (en) 2018-03-12

Family

ID=59752529

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160015273A KR101837589B1 (en) 2016-02-05 2016-02-05 Computer-executable random-number generation method and random-number generation apparatus performing the same

Country Status (1)

Country Link
KR (1) KR101837589B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102191305B1 (en) * 2019-07-09 2020-12-15 국민대학교산학협력단 Lightweight entropy management apparatus and method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110249299A (en) * 2017-12-13 2019-09-17 深圳市汇顶科技股份有限公司 Generate method, chip and the electronic equipment of random number
CN109002382A (en) * 2018-07-13 2018-12-14 广东水利电力职业技术学院(广东省水利电力技工学校) A kind of server master board monitoring system and monitoring method, the information processing terminal
KR102155007B1 (en) * 2019-02-14 2020-09-11 국민대학교산학협력단 Entropy management apparatus and method using independence measurement, and number generation apparatus using the same

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012094040A (en) * 2010-10-28 2012-05-17 Mizuho Dl Financial Technology Co Ltd Parallelization of random number generation processing using gpu

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012094040A (en) * 2010-10-28 2012-05-17 Mizuho Dl Financial Technology Co Ltd Parallelization of random number generation processing using gpu

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102191305B1 (en) * 2019-07-09 2020-12-15 국민대학교산학협력단 Lightweight entropy management apparatus and method

Also Published As

Publication number Publication date
KR20170093626A (en) 2017-08-16

Similar Documents

Publication Publication Date Title
Souyah et al. An image encryption scheme combining chaos-memory cellular automata and weighted histogram
Chen et al. A modified chaos-based joint compression and encryption scheme
CN108964872B (en) Encryption method and device based on AES
US10359996B2 (en) Random number generator and stream cipher
KR101837589B1 (en) Computer-executable random-number generation method and random-number generation apparatus performing the same
KR101393806B1 (en) Multistage physical unclonable function system
US20130156180A1 (en) Method And Device For Securing Block Ciphers Against Template Attacks
Rathod et al. Design and implementation of image encryption algorithm by using block based symmetric transformation algorithm (hyper image encryption algorithm)
WO2019114122A1 (en) Encryption method for login information, device, electronic device, and medium
WO2001076130B1 (en) Authentication method and schemes for data integrity protection
EP3143720A1 (en) Differential power analysis countermeasures
US10742400B2 (en) Datastream block encryption
EP2876626B1 (en) Universal hash function computing device, method, and program
US20170365191A1 (en) Iterative encryption and random generation and serialization of cryptographic functions
EP2056275A1 (en) Pseudo random number generator, stream encrypting device, and program
CN109639423B (en) Constituent device of decryption algorithm
US11075889B2 (en) Method and system for encrypting/decrypting data with ultra-low latency for secure data storage and/or communication
CN107078900B (en) Cryptographic system based on reproducible random sequences
Forgáč et al. Contribution to symmetric cryptography by convolutional neural networks
KR101076681B1 (en) Encryption method for data and decryption method therefor
CN114124359A (en) Method and device for preserving format encrypted data, electronic equipment and storage medium
CN110071927B (en) Information encryption method, system and related components
Albahrani et al. A Text Encryption Algorithm Based on Self-Synchronizing Stream Cipher and Chaotic Maps
KR20060014420A (en) Method and apparatus for a low memory hardware implementation of the key expansion function
Charru et al. Improved Cryptography Algorithm to Enhanced Data Security

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
GRNT Written decision to grant