+

KR101872329B1 - Random number generator for supporting multi entropy pool - Google Patents

Random number generator for supporting multi entropy pool Download PDF

Info

Publication number
KR101872329B1
KR101872329B1 KR1020160086178A KR20160086178A KR101872329B1 KR 101872329 B1 KR101872329 B1 KR 101872329B1 KR 1020160086178 A KR1020160086178 A KR 1020160086178A KR 20160086178 A KR20160086178 A KR 20160086178A KR 101872329 B1 KR101872329 B1 KR 101872329B1
Authority
KR
South Korea
Prior art keywords
random number
output
input
noise source
generating
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1020160086178A
Other languages
Korean (ko)
Other versions
KR20180005900A (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 KR1020160086178A priority Critical patent/KR101872329B1/en
Publication of KR20180005900A publication Critical patent/KR20180005900A/en
Application granted granted Critical
Publication of KR101872329B1 publication Critical patent/KR101872329B1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 다중 엔트로피 풀 지원 난수 발생기 기술에 관한 것으로, 각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생부들을 포함하는 난수 처리부 및 난수 생성 과정에서 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하고, 난수 출력 과정에서 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼부(wrapper unit)를 포함한다.The present invention relates to a multiple entropy pool-supported random number generator, comprising: a random number processor including a plurality of random number generators for outputting a random number to a given input noise source on the basis of independent internal states; And a random number input / output wrapper unit for selecting a specific random number generating unit from among the generating units to provide an input noise source and outputting a specific random number output from the specific random number generating unit during a random number outputting process.

Description

다중 엔트로피 풀 지원 난수 발생기{RANDOM NUMBER GENERATOR FOR SUPPORTING MULTI ENTROPY POOL}{RANDOM NUMBER GENERATOR FOR SUPPORTING MULTI ENTROPY POOL}

본 발명은 다중 엔트로피 풀 지원 난수 발생기 기술에 관한 것으로, 보다 상세하게는, 내부 상태 크기 변화를 필요로 하는 환경에서 난수발생기의 전면 재설계 없이 간편하게 풀 크기를 확장 및 축소할 수 있는 다중 엔트로피 풀 지원 난수 발생기에 관한 것이다.The present invention relates to a multiple entropy pool random number generator technique, and more particularly, to a multiple entropy pool capable of easily expanding and shrinking a pool size without requiring a frontal redesign of the random number generator in an environment requiring an internal state size change And a random number generator.

난수발생기(Random Number Generator, RNG)는 열이나 음의 변화 등의 예측이나 재현이 사실상 불가능한 자연 현상을 센서로 감지해서 그 결과를 기초로 난수열을 생성하는 하드웨어나 소프트웨어를 의미한다.A Random Number Generator (RNG) is a hardware or software that senses a natural phenomenon that is impossible to predict or reproduce, such as a change in heat or sound, and generates a random sequence based on the result.

의사난수발생기(Pseudo-Random Number Generator, PRNG)는 난수를 생성하는 소프트웨어 혹은 이를 구현한 장치로서, 내부상태를 포함하고 외부에서 주어진 잡음원을 기초로 의사난수열을 생성한다.A pseudo-random number generator (PRNG) is software that generates random numbers, or a device that implements them, and generates a pseudo-random number sequence based on an external noise source.

컴퓨터에 의해 발생된 난수는 컴퓨터 내의 유한한 내부상태 및 특정 알고리즘에 의한 생성 등의 이유로 주기성을 가지므로 진정한 의미의 난수는 아니지만, 통계적인 편중 없는 무작위성, 예측 불가능성 및 재현 불가능성의 특징을 갖기 때문에 사용에 있어서 난수로 간주하여도 지장이 없어 이를 의사(Pseudo) 난수라고 한다.Since the random number generated by a computer has a periodicity due to a finite internal state in the computer and generation by a specific algorithm, it is not a true random number, but it has characteristics of randomness, unpredictability and non-reproducibility without statistical bias It can be regarded as a random number in use, and it is called a pseudo random number.

종래의 난수발생기 기술은 상대적으로 안전한 난수 생성 함수를 만드는데 집중되어 있고, 특히 높은 보안성을 갖는 잡음원을 생성하는데 집중되어 있다. 이러한 종래 기술은 환경의 변화에 따라 난수 발생기 풀을 재구축해야 할 경우, 업데이트 함수 및 난수 생성 함수를 새로 설계해야 하는 단점이 있다.Conventional random number generator techniques are focused on creating a relatively secure random number generation function and are particularly focused on generating a noise source with high security. Such a conventional technique has a drawback in that, when the random number generator pool needs to be reconstructed in accordance with the change of the environment, a new update function and a random number generation function must be newly designed.

한국 공개특허공보 제10-2009-0024804호는 전처리 유닛과, 난수 생성 유닛을 포함하되, 상기 전처리 유닛은 스택과 관련된 동적 변수 및/또는 시스템 변수 및/또는 외부 시드(an external seed)로부터 내부 시드(an internal seed)를 계산하며, 상기 난수 생성 유닛은 상기 스택과 관련된 적어도 하나의 동적 실행시간 변수(at least one dynamic runtime variable)와 상기 내부 시드의 함수인 결정 함수(a determined function)를 이용하여 난수를 생성한다.Korean Patent Laid-Open Publication No. 10-2009-0024804 includes a preprocessing unit and a random number generating unit, wherein the preprocessing unit extracts dynamic parameters and / or system variables associated with the stack and / or the internal seed from an external seed, wherein the random number generating unit calculates an internal seed using at least one dynamic runtime variable associated with the stack and a determined function that is a function of the internal seed, Generate a random number.

미국 등록특허 제9,323,499호는 메모리에 있는 난수 발생기 기능에 관한 것으로, 매모리 장치는 기판, 기판에 인테그레이트한 비휘발성 메모리 어레이 및 기판 위의 비휘발성 메모리 어레이로 인테그레이트한 난수 발생기 논리에 포함하지만, 제한되지 않는다. 난수 발생기 논리가 작동가능하고 비휘발성 메모리 어레이에서 최소한 하나의 난수 발생기 기능을 수행한다.U.S. Patent No. 9,323,499 relates to the function of a random number generator in a memory wherein the memory device comprises a substrate, a non-volatile memory array integrated on the substrate, and a random number generator logic integrated into the non-volatile memory array on the substrate , ≪ / RTI > The random number generator logic is enabled and performs at least one random number generator function in the non-volatile memory array.

한국 공개특허공보 제10-2009-0024804호 (2009.03.09 공개)Korean Patent Publication No. 10-2009-0024804 (published on Mar. 09, 2009) 미국 등록특허 제9,323,499호 (2016.04.26 등록)U.S. Patent No. 9,323,499 (registered on April 26, 2016)

본 발명의 일 실시예는 내부 상태 크기 변화를 필요로 하는 난수 발생기 보유 환경에서 난수 발생기의 전면 재설계 없이 간편하게 풀 크기를 확장 및 축소할 수 있는 다중 엔트로피 풀 지원 난수 발생기를 제공하고자 한다.An embodiment of the present invention is to provide a multiple entropy pool-supported random number generator capable of easily expanding and reducing a pool size without redesigning the surface of a random number generator in an environment having a random number generator requiring an internal state size change.

본 발명의 일 실시예는 내부 상태를 확장하여 재구축 시 기존 설계 함수를 재사용 가능하여 높은 경제성을 갖는 다중 엔트로피 풀 지원 난수 발생기를 제공하고자 한다.One embodiment of the present invention is to provide a multiple entropy pool-supported random number generator capable of reusing an existing design function at the time of reconstruction by expanding an internal state, thereby having a high economical efficiency.

본 발명의 일 실시예는 다중 엔트로피 풀 지원에 있어서, 모든 입력 잡음원의 값을 알아내야만 잡음원 입력 순서와 난수출력에 사용될 풀의 순서를 알 수 있게 하여 보안성을 향상시킨 다중 엔트로피 풀 지원 난수 발생기를 제공하고자 한다.In an embodiment of the present invention, in order to support multiple entropy pools, it is necessary to determine the values of all input noise sources to know the sequence of the noise source input sequence and the pool to be used for the random number output, ≪ / RTI >

실시예들 중에서, 다중 엔트로피 풀 지원 난수 발생기는 각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생부들을 포함하는 난수 처리부 및 난수 생성 과정에서 상기 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하고, 난수 출력 과정에서 상기 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼부(wrapper unit)를 포함한다.Among the embodiments, the multiple entropy pool-supported random number generator includes a random number processor including a plurality of random number generators for outputting a random number to a given input noise source based on independent internal states, and a random number generator for generating the plurality of random numbers And a random number input and output wrapper unit for selecting a specific random number generating unit from among the plurality of random number generating units to provide an input noise source and outputting a specific random number output from the specific random number generating unit during the random number outputting process.

다중 엔트로피 풀 지원 난수 발생기에서, 상기 복수의 난수 발생부들 각각은 상기 난수 입출력 래퍼부에 의하여 선택되면 상기 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 상기 난수의 생성과 상기 내부 상태의 갱신을 수행하는 것을 특징으로 할 수 있다.In the multiple entropy pool-supported random number generator, each of the plurality of random number generators performs generation of the random number and update of the internal state based on the given input noise source, when selected by the random number input / output wrapper unit . ≪ / RTI >

다중 엔트로피 풀 지원 난수 발생기에서, 상기 난수 입출력 래퍼부는 초기 값에 상기 주어진 입력 잡음원을 누적하는 선택 변수를 가지며 상기 선택 변수를 상기 복수의 난수 발생부들의 개수로 모듈로 연산을 수행하여 상기 하나의 난수 발생부를 선택하는 것을 특징으로 할 수 있다.Wherein the random number input / output wrapper unit has a selection variable for accumulating the given input noise source at an initial value, performs a modulo operation on the selection variable by the number of the plurality of random number generation units, And the generation unit is selected.

다중 엔트로피 풀 지원 난수 발생기에서, 상기 난수 입출력 래퍼부는 상기 난수 생성 과정에서 상기 주어진 입력 잡음원을 누적하는 제1 선택 변수와 차감한 후 절대값을 계산하는 제2 선택 변수를 기초로 상기 복수의 난수 발생부들 중 제1 및 제2 난수 발생부들을 선택하고, 상기 난수 출력 과정에서 상기 제1 및 제2 난수 발생부들 중 하나를 통해 상기 특정 난수를 출력하는 것을 특징으로 할 수 있다.The random number input / output wrapper of the multiple entropy pool-supporting random number generator generates random numbers based on a first selection variable for accumulating the given input noise source in the random number generation process, and a second selection variable for calculating an absolute value after subtracting And outputs the specific random number through one of the first and second random number generators in the random number output process.

다중 엔트로피 풀 지원 난수 발생기에서, 상기 난수 입출력 래퍼부는 상기 난수 출력 과정에서 상기 제1 난수 발생부의 출력값을 제2 난수 발생부의 출력값으로 모듈로 연산을 수행하여 상기 하나의 난수 발생부를 선택하는 것을 특징으로 할 수 있다.Wherein the random number input / output wrapper unit performs a modulo operation on the output value of the first random number generation unit and the output value of the second random number generation unit in the random number output process to select the one random number generation unit in the multiple entropy pool supported random number generator. can do.

다중 엔트로피 풀 지원 난수 발생기에서, 상기 난수 입출력 래퍼부는 가용 메모리의 크기와 가용 중앙처리장치의 이용률을 기초로 상기 복수의 난수 발생부들의 최대 개수를 동적으로 조절하는 것을 특징으로 할 수 있다.In the multiple entropy pool-supported random number generator, the random number input / output wrapper dynamically adjusts the maximum number of the plurality of random number generators based on the size of the available memory and the utilization rate of the available central processing unit.

실시예들 중에서, 다중 엔트로피 풀 지원 난수 발생기는 각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생 노드들 및 난수 생성 과정에서 상기 복수의 난수 발생 노드들과 네트워크를 통해 연결되고, 난수 생성 과정에서 상기 복수의 난수 발생 노드들 중 특정 난수 발생 노드를 선택하여 입력 잡음원을 제공하고, 상기 특정 난수 발생 노드로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼 노드를 포함한다.Among the embodiments, the multiple entropy pool supported random number generator includes a plurality of random number generation nodes each outputting a random number for a given input noise source based on independent internal states, and a plurality of random number generation nodes And a random number input / output wrapper node for selecting a specific random number generating node among the plurality of random number generating nodes during the random number generating process to provide an input noise source and outputting a specific random number output from the specific random number generating node .

실시예들 중에서, 컴퓨터에서 수행되는 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부에서 상기 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하는 단계, 복수의 난수 발생부들 각각에서 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 단계 및 난수 입출력 래퍼부에서 상기 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 단계를 포함한다.Among the embodiments, a method for generating a multiple entropy pool supporting random number, which is performed in a computer, includes the steps of: selecting a specific random number generating unit among the plurality of random number generating units in a random number input / output wrapper unit to provide an input noise source; Outputting a random number for a given input noise source based on an internal state of the random number input / output unit, and outputting a specific random number output from the specific random number generating unit in the random number input / output wrapper unit.

개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.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.

본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기는 내부 상태 크기 변화를 필요로 하는 난수 발생기 보유 환경에서 난수 발생기의 전면 재설계 없이 간편하게 풀 크기를 확장 및 축소할 수 있다.The multiple entropy pool support random number generator according to an embodiment of the present invention can easily expand and reduce the pool size without a redesign of the front face of the random number generator in a environment having a random number generator requiring an internal state size change.

본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기는 내부 상태를 확장하여 재구축 시 기존 설계 함수를 재사용 가능하여 높은 경제성을 갖는 다.The multiple entropy pool random number generator according to an embodiment of the present invention has a high economical efficiency because it can reuse existing design functions in reconstruction by expanding the internal state.

본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기는 다중 엔트로피 풀 지원에 있어서, 모든 입력 잡음원의 값을 알아내야만 잡음원 입력 순서와 난수출력에 사용될 풀의 순서를 알 수 있게 하여 보안성을 향상시킬 수 있다.The multiple entropy pool support random number generator according to an exemplary embodiment of the present invention can recognize the order of the noise source input sequence and the pool to be used for the random number output in order to obtain all the input noise sources in the multi entropy pool support, Can be improved.

도 1은 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기의 구성도이다.
도 2는 NIST(National Institute of Standards and Technology)에서 발표한 SP 800-90A 표준 기술 문서에 제시된 난수 발생기의 기능적 구조도이다.
도 3는 도 1에 있는 다중 엔트로피 풀 지원 난수 발생기 동작의 일 실시예를 설명하는 순서도이다.
도 4는 도 1에 있는 다중 엔트로피 풀 지원 난수 발생기 동작의 다른 실시예를 설명하는 순서도이다.
1 is a configuration diagram of a multiple entropy pool-supported random number generator according to an embodiment of the present invention.
FIG. 2 is a functional block diagram of the random number generator shown in the SP 800-90A standard technical document issued by National Institute of Standards and Technology (NIST).
3 is a flow diagram illustrating one embodiment of the multiple entropy pool supported random number generator operation in FIG.
4 is a flow chart illustrating another embodiment of the multiple entropy pool supported random number generator operation 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.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.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.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.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.

본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.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.

도 1은 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기의 구성도이다.1 is a configuration diagram of a multiple entropy pool-supported random number generator according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기(100)는 난수 처리부(110) 및 난수 입출력 래퍼부(120)를 포함한다.Referring to FIG. 1, a multiple entropy pool-supported random number generator 100 according to an embodiment of the present invention includes a random number processing unit 110 and a random number input / output wrapper unit 120.

난수 처리부(110)는 복수의 난수 발생부(115)들을 포함하고, 복수의 난수 발생부(115)들 각각은 난수를 생성할 수 있다. 여기에서, 난수는 무작위로 만들어진 수열을 의미하고, 컴퓨터에 의해 생성되는 의사(Pseudo) 난수에 해당한다. 컴퓨터는 최초 시동 시 난수표를 생성하여 보관할 수 있고, 다중 엔트로피 풀 지원 난수 발생기(100)에 입력 잡음원(Noise Source)를 인자로 매번 다르게 주어 매번 다른 난수를 추출하여 사용할 수 있다. 여기에서, 입력 잡음원은 현재 시간을 의미할 수 있고, 매 순간 바뀌는 현재 시간에 기초하여 이전에 발생했던 난수를 재현 불가능하게 만들기 위한 목적을 가지고 있다.The random number processing unit 110 includes a plurality of random number generating units 115, and each of the plurality of random number generating units 115 can generate a random number. Here, a random number means a randomly generated sequence and corresponds to a pseudo-random number generated by a computer. The computer can generate and store a random number table at the initial start-up, and the random noise generator 100 with multiple entropy pools can be provided with an input noise source differently as a factor each time, so that different random numbers can be extracted and used every time. Here, the input noise source can mean the current time, and has the purpose of making the previously generated random number impossible to reproduce based on the current time changing every minute.

난수 발생부(115)는 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력할 수 있다. 여기에서, 주어진 입력 잡음원은 난수 입출력 래퍼부(120)로부터 제공 받은 입력 잡음원을 말하고, 내부상태는 난수 발생부(115)에 의해 관리되고 있는 메모리 값을 의미한다. 난수 발생부(115)는 이러한 내부상태를 기초로 연산을 수행하여 연산 결과를 난수로서 출력할 수 있고, 내부상태를 변화시킴으로써 다음의 연산을 대비할 수 있다. 일 실시예에서, 복수의 난수 발생부(115)들 각각은 도 2에서처럼, NIST(National Institute of Standards and Technology)에서 발표한 SP 800-90A 표준 기술 문서에 제시된 난수 발생기의 기능적 구조도를 토대로 구현될 수 있다. 해당 실시예에 대하여 보다 구체적으로, 난수 발생부(115)는 주어진 입력 잡음원 및 추가 정보를 기초로 미리 설정된 업데이트 함수를 통해 내부상태를 변경시키는 업데이트 함수, 주어진 입력된 잡음원 및 개별 정보를 기초로 내부상태를 리셋하여 초기상태로 변경시키는 초기화 함수, 특정 입력을 조건으로 내부 상태를 삭제시키는 종료 함수를 포함하고, 이러한 함수들의 출력값을 기초로 내부상태를 변경하며, 변경된 내부상태 및 추가 정보를 기초로 난수를 출력하는 난수 생성 함수를 포함할 수 있다. 본 발명의 난수 발생부(115)에 대한 대표적인 구현예로 NIST SP 800-90A를 들었지만, 난수 발생부(115)는 주어진 입력 잡음원을 기초로 난수를 생성할 수 있는 다양한 기능적 구조도를 통하여 구현될 수 있다.The random number generating unit 115 may output a random number for a given input noise source based on the internal state. Here, a given input noise source refers to an input noise source provided from the random number input / output wrapper unit 120, and an internal state refers to a memory value managed by the random number generation unit 115. The random number generating unit 115 can perform an arithmetic operation on the basis of the internal state, output the arithmetic operation result as a random number, and change the internal state to prepare for the next operation. In one embodiment, each of the plurality of random number generators 115 is implemented based on the functional structure of the random number generator shown in the SP 800-90A standard technical document published by National Institute of Standards and Technology (NIST) . More specifically with respect to the embodiment, the random number generation unit 115 generates an update function for changing the internal state through a predetermined update function based on a given input noise source and additional information, An initialization function for resetting the state to an initial state, and an ending function for deleting the internal state on the condition of a specific input. The internal state is changed based on the output value of these functions, and based on the changed internal state and the additional information And a random number generation function for outputting a random number. NIST SP 800-90A is a typical implementation of the random number generation unit 115 of the present invention. However, the random number generation unit 115 can be implemented through various functional diagrams that can generate a random number based on a given input noise source. have.

난수 처리부(110)에 포함되는 복수의 난수 발생부(115)들 각각은 독립적인 내부상태를 갖는다. 즉, 복수의 난수 발생부(115)들 각각은 특정 시점에 들어온 동일한 입력 잡음원에 대하여 서로 다른 난수를 출력할 수 있다.Each of the plurality of random number generating units 115 included in the random number processing unit 110 has an independent internal state. That is, each of the plurality of random number generators 115 may output a different random number for the same input noise source at a specific time.

복수의 난수 발생부(115)들 각각은 난수 입출력 래퍼부(120)에 의하여 선택되면 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 난수의 생성과 내부 상태의 갱신을 수행할 수 있다. 일 실시예에서, 복수의 난수 발생부(115)들 각각은 난수 입출력 래퍼부(120)에 의한 선택 여부에 따라 난수 발생부(115)들 각각의 난수 발생 동작 여부를 제어할 수 있는 선택 제어 모듈(미도시됨)을 더 포함할 수 있다.Each of the plurality of random number generators 115 may generate a random number and update its internal state through different functions based on a given input noise source if selected by the random number input and output wrapper 120. [ In one embodiment, each of the plurality of random number generators 115 may include a selection control module (not shown) that can control whether or not to generate a random number for each of the random number generators 115 according to the selection by the random number input / output wrapper unit 120. [ (Not shown).

난수 입출력 래퍼부(wrapper unit)(120)는 난수 생성 과정에서 복수의 난수 발생부(115)들 중 특정 난수 발생부(115)를 선택하여 입력 잡음원을 제공할 수 있다. 보다 구체적으로, 난수 입출력 래퍼부(120)는 입력 잡음원을 수신하고, 복수 개의 병렬한 구조로 연결되는 복수의 난수 발생부(115)들 중에서 특정 난수 발생부(115)를 선택하기 위한 선택 함수 및 해당 선택 함수의 입력으로 활용되는 선택 변수를 포함할 수 있다. 일 실시예에서, 난수 입출력 래퍼부(120)는 초기 값에 주어진 입력 잡음원을 누적하는 선택 변수를 가지며 해당 선택 변수를 복수의 난수 발생부들의 개수로 모듈로 연산을 수행하여 하나의 난수 발생부를 선택할 수 있다. 예를 들어, 난수 입출력 래퍼부(120)는 i번째 입력 잡음원(Noise Source)에 대한 난수 생성 과정에 있어서, 총 N개의 난수 발생부(115)들 각각에 대하여 1:1로 대응되는 난수 발생부 집합 {r[0], r[1], r[2], … , r[N-1]} 가운데 특정 난수 발생부(115)를 선택하기 위한 선택 함수(Select function) 및 선택 함수의 입력으로 활용되는 선택 변수(Select)를 가질 수 있고, 해당 선택 함수 및 선택 변수는 함수식 1을 기초로 적용될 수 있다. 만일, 해당 연산 결과, 선택 함수의 결과값이 0 이상 (N-1) 이하의 값을 갖는 정수 중에서 j라면, 난수 발생부 집합 가운데 r[j]에 대응되는 특정 난수 발생부(115)가 선택될 수 있다.The random number input / output wrapper unit 120 may select a specific random number generator 115 among a plurality of random number generators 115 to generate an input noise source during random number generation. More specifically, the random number input / output wrapper 120 includes a selection function for selecting a specific random number generator 115 among a plurality of random number generators 115 connected in a plurality of parallel structures, And may include optional variables used as inputs to the selection function. In one embodiment, the random-number input / output wrapper unit 120 has a selection variable for accumulating the input noise source given to the initial value, performs a modulo-operation on the selection variable with the number of the plurality of random number generation units, . For example, in the random number generation process for the i-th input noise source, the random number input / output wrapper unit 120 generates random number input / The set {r [0], r [1], r [2], ... , a select function for selecting a specific random number generating unit 115 among the input random numbers r [N-1], r [N-1], and a select variable used as an input of the selection function, Can be applied on the basis of the function formula 1. If the result of the calculation is j in an integer having a value equal to or greater than 0 and equal to or less than (N-1), the specific random number generating unit 115 corresponding to r [j] .

[함수식 1][Function formula 1]

Figure 112016065867542-pat00001
Figure 112016065867542-pat00001

(여기에서, modulo는 나눗셈의 나머지를 계산하는 수학적 연산으로, 예를 들면, 37 modulo 6 = 1 이다)(Where modulo is a mathematical operation that computes the remainder of the division, for example, 37 modulo 6 = 1)

난수 입출력 래퍼부(120)는 위의 실시예처럼, 초기 값에 주어진 입력 잡음원을 누적하는 선택 변수를 기초로 복수의 난수 발생부(115)들 중 하나를 선택할 수 있다. 예를 들어, 난수 입출력 래퍼부(120)는 i번째 입력 잡음원이 들어오면, i번째 Select 변수 값을 기초로 (Select modulo N)번째 난수 발생부(115)를 선택하여 입력 잡음원을 제공할 수 있고, (i+1)번째 Select 변수를 i번째 입력 잡음원 및 Select 변수의 합으로 갱신함으로써 다음 번의 난수 생성 과정을 대비할 수 있다. 본 발명의 실시예는 이처럼 입력 잡음원들에 의해 계속하여 누적되는 선택 변수를 사용함으로써 모든 입력 잡음원의 값을 알아내야만 잡음원 입력 순서와 난수출력에 사용될 풀의 순서를 알 수 있게 하여 보안성을 향상시킬 수 있다.The random number input / output wrapper unit 120 can select one of the plurality of random number generators 115 based on the selection variable that accumulates the input noise source given to the initial value, as in the above embodiment. For example, when the i-th input noise source is input, the random number input / output wrapper 120 may select the random number generating unit 115 based on the i-th Select parameter value to provide an input noise source , the (i + 1) th Select variable is updated to the sum of the i-th input noise source and the Select variable to prepare for the next random number generation process. In the embodiment of the present invention, it is necessary to find the values of all the input noise sources by using the selection variables continuously accumulated by the input noise sources, so that the sequence of the noise source input order and the pool to be used for the random number output can be known, .

난수 입출력 래퍼부(120)는 난수 출력 과정에서 특정 난수 발생부(115)에 의해 출력된 특정 난수를 출력할 수 있다. 여기에서, 특정 난수 발생부(115)는, 앞서 서술한 것과 같이, 난수 생성 과정에서 선택된 특정 난수 발생부(115)를 말한다. 일 실시예에서, 난수 입출력 래퍼부(120)는 입력 잡음원에 대한 난수 생성 과정에서 연산된 선택 함수의 결과값을 난수 출력 과정에 적용하여 이를 기초로 해당 특정 난수 발생부(115)로부터 생성된 특정 난수를 최종적으로 출력하도록 할 수 있다. The random number input / output wrapper 120 can output the specific random number output by the specific random number generator 115 during the random number output process. Here, the specific random number generating unit 115 refers to the specific random number generating unit 115 selected in the random number generating process as described above. In one embodiment, the random number input / output wrapper 120 applies the result of the selection function calculated in the random number generation process for the input noise source to the random number output process, The random number can be finally output.

난수 입출력 래퍼부(120)는 복수의 난수 발생부(115)들 중 적어도 두 개의 난수 발생부(115)들을 선택하고 이들 중 하나를 통해 특정 난수를 출력하도록 할 수 있다. 일 실시예에서, 난수 입출력 래퍼부(120)는 난수 생성 과정에서 주어진 입력 잡음원을 누적하는 제1 선택 변수와 차감한 후 절대값을 계산하는 제2 선택 변수를 기초로 복수의 난수 발생부들 중 제1 및 제2 난수 발생부들을 선택할 수 있다. 예를 들어, 난수 입출력 래퍼부(120)는 i번째 입력 잡음원(Noise Source)에 대한 난수 생성 과정에 있어서, 총 N개의 난수 발생부(115)들 각각에 대하여 1:1로 대응되는 난수 발생부 집합 {r[0], r[1], r[2], … , r[N-1]} 가운데 제1 및 제2 난수 발생부(115)들을 선택하기 위한 선택 함수(Select function) 및 선택 함수의 입력으로 활용되는 제1 및 제2 선택 변수(Select)를 가질 수 있다. 여기에서, 제1 선택 변수는 주어진 입력 잡음원을 누적하는 연산을 통해 이전 연산의 출력값으로부터 갱신될 수 있고, 이러한 제1 선택 변수는 제1 난수 발생부(115)를 선택하기 위한 선택 함수의 입력으로 사용될 수 있다. 유사한 방식으로, 제2 선택 변수는 주어진 입력 잡음원을 차감한 후 절대값을 계산하는 연산을 통해 이전 연산의 출력값으로부터 갱신될 수 있고, 이러한 제2 선택 변수는 제2 난수 발생부(115)를 선택하기 위한 선택 함수의 입력으로 사용될 수 있다. 이와 같은 실시예에서, 제1 및 제2 선택 함수와 선택 함수는 함수식 2를 기초로 적용될 수 있다.The random number input / output wrapper 120 may select at least two random number generators 115 among the plurality of random number generators 115 and output a specific random number through one of the random number generators 115. In one embodiment, the random-number input / output wrapper unit 120 performs a random-number input / output operation on the random number generator unit 120 based on a first selection variable that accumulates a given input noise source in a random- 1 and the second random number generating units. For example, in the random number generation process for the i-th input noise source, the random number input / output wrapper unit 120 generates random number input / The set {r [0], r [1], r [2], ... , a select function for selecting the first and second random number generators 115 among the first and second random number generators 115 and r [N-1], and a first and a second selection variable Select, . Here, the first selection variable may be updated from the output value of the previous operation through an operation of accumulating a given input noise source, and this first selection variable may be an input of a selection function for selecting the first random number generator 115 Can be used. In a similar manner, the second selection variable may be updated from the output value of the previous operation by subtracting a given input noise source and then calculating an absolute value, and such a second selection variable may select the second random number generator 115 Can be used as an input of a selection function to be used. In such an embodiment, the first and second selection functions and the selection function may be applied based on the function expression 2.

[함수식 2][Functional Equation 2]

Figure 112016065867542-pat00002
Figure 112016065867542-pat00002

(여기에서, Select1은 제1 선택 변수를 의미하고, Select function1은 제1 선택 변수를 기초로 제1 난수 발생부를 선택하기 위한 선택 함수에 해당함. 마찬가지로, Select2는 제2 선택 변수를 의미하고, Select function2은 제2 선택 변수를 기초로 제2 난수 발생부를 선택하기 위한 선택 함수에 해당함)(Here, Select 1 means the first selection variable, and Select function 1 corresponds to the selection function for selecting the first random number generator based on the first selection variable. Similarly, Select 2 means the second selection variable And the select function 2 corresponds to a selection function for selecting the second random number generator based on the second selection variable)

함수식 2를 적용한 실시예에서, 난수 입출력 래퍼부(120)는 i번째 입력 잡음원이 들어오면, i번째 Select1 변수 값을 기초로 (Select1 modulo N)번째 제1 난수 발생부(115)를 선택하고 i번째 Select2 변수 값을 기초로 (Select2 modulo N)번째 제2 난수 발생부(115)를 선택하여 각각에 대하여 입력 잡음원을 제공할 수 있고, (i+1)번째 Select1 변수를 i번째 입력 잡음원 및 Select Select1 변수의 합으로 갱신하고 (i+1)번째 Select2 변수를 i번째 입력 잡음원 및 Select2 변수의 합으로 갱신함으로써 다음 번의 난수 생성 과정을 대비할 수 있다.In an example in which the function formula 2, the random number output wrapper section 120 i comes second input noise source, i-th to the Select 1 based on the value of the variable (Select 1 modulo N) th first select a random number generating unit 115 and i a second select 2 based on the variable values (select 2 modulo N) may provide the input noise source for each of the first second, select the random number generating unit (115), (i + 1 ) th select 1 variable i Th input noise source and the Select Select 1 variable, and updating the (i + 1) th Select 2 variable to the sum of the i-th input noise source and the Select 2 variable, thereby preparing the next random number generation process.

난수 입출력 래퍼부(120)는 이러한 제1 및 제2 난수 발생부(115)들을 선택하는 난수 생성 과정 이후, 난수 출력 과정에서 이렇게 선택된 제1 및 제2 난수 발생부들 중 하나를 통해 특정 난수를 출력할 수 있다. 일 실시예에서, 난수 입출력 래퍼부(120)는 이러한 난수 출력 과정에서 제1 난수 발생부(115)의 출력값을 제2 난수 발생부(115)의 출력값으로 모듈로 연산을 수행하여 하나의 난수 발생부(115)를 선택할 수 있다. 예를 들어, 난수 입출력 래퍼부(120)는 난수 생성 과정에 따라 총 20개의 난수 발생부(115)들 각각에 대하여 1:1로 대응되는 난수 발생부 집합 {r[0], r[1], r[2], … , r[19]} 가운데 r[5] 및 r[11]을 제1 및 제2 난수 발생부(115)들로 선택할 수 있고, 각각에 대하여 생성되어 십진수로 표현된 r[5]=5 및 r[11]=3의 난수들을 제공받을 수 있으며, 제1 및 제2 난수 발생부(115)들을 기초로 한 소집합 {r[5], r[11]} 가운데 (r[5] modulo r[11])번째, 즉, 2번째에 해당하는 난수 발생부(115)의 난수 5를 최종적으로 출력할 수 있다(0번째:r[5] - 1번째:r[11] - 2번째:r[5] - … ).The random number input / output wrapper 120 outputs a specific random number through one of the first and second random number generators selected during the random number output process after the random number generation process of selecting the first and second random number generators 115 can do. In one embodiment, the random number input / output wrapper unit 120 performs a modulo operation on the output value of the first random number generator 115 and the output value of the second random number generator 115 to generate a random number Section 115 can be selected. For example, the random number input / output wrapper unit 120 generates a random number generator subset {r [0], r [1], and r [1] corresponding to each of the twenty random number generators 115 in total, , r [2], ... r [5] = 5 and r [11], which are generated for each of the first and second random number generators 115 and r [5] and r [11] (r [5] modulo r (11)] among the small sets {r [5], r [11]} based on the first and second random number generators 115 (0): r [5] - 1: r [11] - 2 nd: r [5] [5] - ...).

본 발명의 난수 입출력 래퍼부(120)는 앞서 서술한 실시예와 같이, 난수 생성 과정에서 제1 및 제2 선택 변수를 통하여 제1 및 제2 난수 발생부(115)들을 선택할 수 있으나 이에 제한되지 않고, 그 이상의 복수 개의 선택 변수를 기초로 복수 개의 난수 발생부(115)들을 선택할 수 있으며, 난수 출력 과정 또한 마찬가지로 복수 개로 확장하여 적용할 수 있다. 본 발명의 실시예들은 이러한 방법을 통해 난수의 랜덤성을 높일 수 있고, 이에 따라 보안성을 더욱 향상시킬 수 있다.The random number input / output wrapper 120 of the present invention can select the first and second random number generators 115 through the first and second selection variables in the random number generation process as in the embodiment described above, A plurality of random number generators 115 may be selected based on a plurality of further selection variables, and a random number output process may be similarly extended to a plurality of the same. Embodiments of the present invention can increase the randomness of random numbers through this method, thereby further improving the security.

난수 입출력 래퍼부(120)는 가용 메모리의 크기와 가용 중앙처리장치의 이용률을 기초로 복수의 난수 발생부(115)들의 최대 개수를 동적으로 조절할 수 있다. 이러한 동적 조절의 수행을 위하여 복수의 난수 발생부(115)들을 포함하는 난수 처리부(110)는 소프트웨어로 구현될 수 있다. 여기에서, 가용 메모리의 크기는 컴퓨터에서 주기억장치로 사용되는 램(RAM, Random Access Memory)의 여유공간의 크기를 의미하고, 가용 중앙처리장치의 이용률은 컴퓨터에서 특정 시점에 사용 가능한 CPU(Central Processing Unit) 시간의 백분율에 해당할 수 있다. 난수 입출력 래퍼부(120)는 이러한 가용 메모리의 크기와 가용 중앙처리장치의 이용률을 기초로 현재 컴퓨터에서 실행 중인 프로세스에 의한 병목 현상(Bottleneck) 발생 가능성을 판단할 수 있고, 소프트웨어로 구현된 난수 처리부(110) 내에서 실행되는 복수의 난수 발생부(115)들의 최대 개수를 조절하여 해당 개수 내에서 특정 난수 발생부(115) 선택을 수행하도록 할 수 있다. 이에 따라, 난수 입출력 래퍼부(120)는 본 발명의 난수 처리부(110)를 포함하여 컴퓨터에서 실행되는 프로세스의 병목 현상 발생 가능성을 낮추는 동시에, 난수의 랜덤성을 더욱 증가시킬 수 있어 보안성을 향상시킬 수 있다.The random number input / output wrapper 120 can dynamically adjust the maximum number of the plurality of random number generators 115 based on the size of the available memory and the utilization rate of the available central processing unit. For performing the dynamic adjustment, the random number processing unit 110 including a plurality of random number generating units 115 may be implemented by software. Here, the size of the available memory means a size of free space of a RAM (Random Access Memory) used as a main memory in the computer, and a utilization rate of the available central processing unit is calculated using a CPU (Central Processing Unit) Percentage of time. The random number input / output wrapper 120 can determine the possibility of occurrence of a bottleneck caused by a process currently running on the computer based on the size of the available memory and the utilization rate of the available central processing unit, Number generating unit 115 in the corresponding number by adjusting the maximum number of the plurality of random-number generating units 115 executed in the random number generating unit 110. [ Accordingly, the random number input / output wrapper 120 includes the random number processing unit 110 of the present invention to reduce the possibility of occurrence of a bottleneck in a process executed in a computer, and to further increase the randomness of random numbers, .

본 발명의 다중 엔트로피 풀 지원 난수 발생기(100)는 앞서 서술한 원리를 기초로 다양한 실시예를 통해 구현될 수 있다. 일 실시예에서, 본 발명의 다중 엔트로피 풀 지원 난수 발생기(100)는 각각이 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생 노드(Node)들 및 난수 생성 과정에서 복수의 난수 발생 노드들과 네트워크를 통해 연결되고, 난수 생성 과정에서 복수의 난수 발생 노드들 중 특정 난수 발생 노드를 선택하여 입력 잡음원을 제공하고, 특정 난수 발생 노드로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼 노드를 포함할 수 있다. 여기에서, 노드란, 근거리 통신망(LAN, Local Area Network), 즉, 네트워크의 기본요소인 지역 네트워크에 연결된 컴퓨터 및 그 안에 속한 장비들을 의미할 수 있다. 이에 따라, 본 발명의 실시예는 난수 입출력 래퍼 노드와 복수의 난수 발생 노드들을 네트워크를 통해 연결하고 복수의 난수 발생 노드들 중 특정 난수 발생 노드를 선택하여 난수를 출력하도록 제어할 수 있고, 이에 따라 다중 엔트로피 풀 지원 난수 발생기(100)의 풀 크기를 간편하게 재구축할 수 있다.The multiple entropy pool supported random number generator 100 of the present invention can be implemented through various embodiments based on the principle described above. In one embodiment, the multiple entropy pool supported random number generator 100 of the present invention includes a plurality of random number generating nodes (Nodes), each outputting a random number for a given input noise source based on an independent internal state, A plurality of random number generating nodes connected to the plurality of random number generating nodes through a network to provide an input noise source by selecting a specific random number generating node among the plurality of random number generating nodes in a random number generating process, Output wrapper node. Here, the node may be a local area network (LAN), that is, a computer connected to a local network, which is a basic element of a network, and devices belonging to the local network. Accordingly, the embodiment of the present invention can control to connect a random number input / output wrapper node and a plurality of random number generating nodes through a network and select a specific random number generating node among a plurality of random number generating nodes to output a random number, The pool size of the multiple entropy pool-supported random number generator 100 can be easily reconstructed.

도 3는 도 1에 있는 다중 엔트로피 풀 지원 난수 발생기 동작의 일 실시예를 설명하는 순서도이다.3 is a flow diagram illustrating one embodiment of the multiple entropy pool supported random number generator operation in FIG.

도 3에서, 컴퓨터에 의하여 수행되는 다중 엔트로피 풀 지원 난수 발생 방법은 크게 다음의 단계들을 포함한다.In Fig. 3, the method of generating multiple entropy pool supported random numbers performed by a computer largely includes the following steps.

우선, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 입력 잡음원을 수신하면(단계S310) 복수의 난수 발생부(115)들 중 특정 난수 발생부(115)를 선택하고 입력 잡음원을 제공하는 단계를 포함한다(단계S320). 예를 들어, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 초기 값에 주어진 입력 잡음원을 누적하는 선택 변수를 가지며 해당 선택 변수를 복수의 난수 발생부(115)들의 개수로 모듈로 연산을 수행하여 하나의 난수 발생부(115)를 선택하여 해당 난수 발생부(115)에 입력 잡음원을 제공하는 단계를 포함할 수 있다.First, when a random number input / output wrapper 120 receives an input noise source (step S310), the method for generating a multiple entropy pool supported random number selects a specific random number generator 115 among a plurality of random number generators 115, (Step S320). For example, a method for generating a multiple entropy pool supporting random number has a selection variable for accumulating an input noise source given to an initial value in the random number input / output wrapper unit 120, and modifying the selection variable by a number of the plurality of random number generating units 115 And selecting one random number generator 115 and providing an input noise source to the random number generator 115. [

다음, 다중 엔트로피 풀 지원 난수 발생 방법은 이전 단계를 통해 선택된 특정 난수 발생부(115)에서 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 단계를 포함한다(단계S330). 일 실시예에서, 난수 발생부(115)는 도 2에서와 같은 기능적 구조도를 토대로 구현될 수 있다. 해당 실시예에 따라, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 발생부(115)에서 내부상태를 기초로 도 2에서와 같은 기능적 흐름도를 따라 연산을 수행하여 연산 결과를 난수로서 생성하는 단계를 포함할 수 있고, 입력 잡음원을 기초로 해당 난수 발생부(115)에 포함되는 내부상태를 변화시킴으로써 다음의 연산을 대비하는 단계를 포함할 수 있다.Next, the method for generating multiple entropy pool supported random numbers includes outputting a random number for a given input noise source based on an independent internal state in the specific random number generating unit 115 selected in the previous step (step S330). In one embodiment, the random number generation unit 115 may be implemented based on the functional structure as shown in FIG. According to the embodiment, the method for generating a multiple entropy pool supported random number includes a step of generating an operation result as a random number by performing an operation according to the functional flow chart as shown in FIG. 2 based on the internal state in the random number generator 115 And may include the step of preparing for the next operation by changing the internal state included in the random number generating unit 115 based on the input noise source.

마지막으로, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 이전 단계를 통해 선택된 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 단계를 포함한다(단계S340). 예를 들어, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 입력 잡음원에 대한 난수 생성 과정에서 연산된 선택 함수의 결과값을 난수 출력 과정에 적용하여 이를 기초로 해당 특정 난수 발생부(115)로부터 생성된 특정 난수를 최종적으로 출력하는 단계를 포함할 수 있다.Finally, the multiple entropy pool supporting random number generating method includes a step of outputting a specific random number output from the specific random number generating unit selected through the previous step in the random number input / output wrapper unit 120 (step S340). For example, in the method of generating a multiple entropy pool supporting random number, the random number input / output wrapper 120 applies the result of the selection function calculated in the random number generation process for the input noise source to the random number output process, And finally outputting the specific random number generated from the random number generator 115.

본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생 방법은 내부 상태 크기 변화를 필요로 하는 환경에서 난수발생기의 전면 재설계 없이 간편하게 풀 크기를 확장 및 축소할 수 있고, 기존 설계 함수를 재사용할 수 있어 높은 경제성을 갖는다. 예를 들어, 256byte 메모리 용량을 기초로 설치되어 있던 난수발생기를 1024byte 메모리 용량에 따라 확장하여 구축해야 할 경우, 종래의 난수발생기는 메모리 용량 변화에 따라 내부상태의 크기도 함께 변화하여 기존의 업데이트 함수 및 난수 생성 함수를 포함한 주요 함수들을 다시 설계해야 하지만, 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기(100)는 난수 발생부(115)를 복수 개 추가로 설치하고 난수 입출력 래퍼부(120)에서 복수의 난수 발생부(115)들 각각 및 최대 개수를 인식하도록 함으로써 간단하게 풀 크기를 재구축할 수 있고, 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생 방법은 앞서 서술한 단계들을 통하여 다중 엔트로피를 지원하는 난수의 발생을 간편하게 수행시킬 수 있다.The multiple entropy pool support random number generation method according to an embodiment of the present invention can easily expand and reduce the pool size without re-designing the front face of the random number generator in an environment requiring an internal state size change, And has high economical efficiency. For example, when a random number generator installed on the basis of a 256-byte memory capacity is to be expanded and constructed according to a memory capacity of 1024 bytes, the conventional random number generator changes the size of the internal state according to the memory capacity change, The main functions including the random number generating function and the random number generating function need to be redesigned. However, the multiple entropy pool supporting random number generator 100 according to an embodiment of the present invention may further include a plurality of random number generating units 115, 120 can easily reconstruct the pool size by recognizing each of the plurality of random number generating units 115 and the maximum number, and the method for generating a multiple entropy pool supporting random number according to an embodiment of the present invention can be implemented by the above- The generation of random numbers supporting multiple entropy can be easily performed through the steps.

본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생 방법은 또한, 입력 잡음원들에 의해 계속하여 누적되는 선택 변수를 사용하는 단계를 포함하여 모든 입력 잡음원의 값을 알아내야만 잡음원 입력 순서와 난수출력에 사용될 풀의 순서를 알 수 있게 함으로써 보안성을 향상시킬 수 있다.The multiple entropy pool supported random number generating method according to an exemplary embodiment of the present invention may also include using all of the input noise sources including the step of continuously using accumulated selection variables by the input noise sources, By knowing the order of the pool to be used for the output, security can be improved.

도 4는 도 1에 있는 다중 엔트로피 풀 지원 난수 발생기 동작의 다른 실시예를 설명하는 순서도이다.4 is a flow chart illustrating another embodiment of the multiple entropy pool supported random number generator operation in FIG.

도 4에서, 컴퓨터에 의하여 수행되는 다중 엔트로피 풀 지원 난수 발생 방법은 크게 다음의 단계들을 포함한다.In Fig. 4, a method for generating a multiple entropy pool supported random number performed by a computer largely includes the following steps.

우선, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 입력 잡음원을 수신하면(단계S410) 복수의 난수 발생부들 중 제1 및 제2 선택 변수를 기초로 제1 및 제2 난수 발생부를 선택하고 입력 잡음원을 제공하는 단계를 포함할 수 있다(단계S420). 예를 들어, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 초기값에 주어진 입력 잡음원을 누적하는 제1 선택 변수와 초기값에 주어진 잡음원을 차감한 후 절대값을 계산하는 제2 선택 변수를 기초로 복수의 난수 발생부(115)들 중 제1 및 제2 난수 발생부(115)들을 선택하는 단계를 포함할 수 있다. First, when the random noise input / output wrapper 120 receives the input noise source (step S410), the multiple entropy pool supporting random number generating method generates first and second random numbers based on the first and second selection variables among the plurality of random number generating units And providing an input noise source (step S420). For example, a method for generating a multiple entropy pool supporting random number may include a first selection variable for accumulating an input noise source given to an initial value in the random number input / output wrapper unit 120, and a second selection variable for calculating an absolute value after subtracting a noise source given to the initial value. And selecting the first and second random number generators 115 of the plurality of random number generators 115 based on the selection variable.

다음, 다중 엔트로피 풀 지원 난수 발생 방법은 이전 단계를 통해 선택된 제1 및 제2 난수 발생부(115)들 각각에서 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 단계를 포함한다(단계S430). 여기에서, 제1 및 제2 난수 발생부(115)들 각각은 각각은 독립적인 내부상태를 갖고, 이에 따라, 특정 시점에 들어온 동일한 입력 잡음원에 대하여 서로 다른 난수를 출력할 수 있다. 이 단계에서 각각의 난수 발생부(115)들의 동작은 앞서 서술한 단계S330과 같은 원리로 수행된다.Next, the method for generating multiple entropy pool supported random numbers includes outputting a random number for a given input noise source based on an independent internal state in each of the first and second random number generating units 115 selected through the previous step ( Step S430). Here, each of the first and second random number generators 115 has an independent internal state, and thus can output different random numbers for the same input noise source at a specific point in time. At this stage, the operations of the respective random number generators 115 are performed on the same principle as the above-described step S330.

마지막으로, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 단계를 포함한다(단계S440). 예를 들어, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 출력 과정에서 제1 및 제2 난수 발생부(115)들 중 하나를 통해 특정 난수를 출력하는 단계를 포함할 수 있다. 일 실시예에서, 난수 입출력 래퍼부(120)는 이러한 난수 출력 과정에서 제1 난수 발생부(115)의 출력값을 제2 난수 발생부(115)의 출력값으로 모듈로 연산을 수행하여 하나의 난수 발생부(115)를 선택할 수 있다.Finally, the method for generating a multiple entropy pool supporting random number includes a step of outputting a specific random number output from the specific random number generating unit in the random number input / output wrapper 120 (step S440). For example, the multiple entropy pool supporting random number generating method may include outputting a specific random number through one of the first and second random number generating units 115 in the random number outputting process. In one embodiment, the random number input / output wrapper unit 120 performs a modulo operation on the output value of the first random number generator 115 and the output value of the second random number generator 115 to generate a random number Section 115 can be selected.

본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)의 난수 입력 과정에서 복수의 난수 발생부(115)들 가운데 적어도 두 개의 난수 발생부(115)들을 선택하여 입력 잡음원을 제공하고, 난수 출력 과정에서 앞서 선택된 적어도 두 개의 난수 발생부(115)들 중 하나의 특정 난수 발생부(115)를 선택하여 특정 난수를 출력하도록 함으로써 난수의 랜덤성을 한층 높일 수 있고, 이에 따라 보안성을 더욱 향상시킬 수 있다.The multiple entropy pool supporting random number generating method according to an embodiment of the present invention selects at least two random number generating units 115 among the plurality of random number generating units 115 in the random number input process of the random number input and output wrapper unit 120 The input random noise source is provided and a specific random number generator 115 of one of the at least two random number generators 115 selected in the random number output process is selected to output a specific random number so that the randomness of the random number can be further increased , Thereby further improving the security.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

100: 다중 엔트로피 풀 지원 난수 발생기
110: 난수 처리부
115: 난수 발생부
120: 난수 입출력 래퍼부
100: Multiple entropy pooled random number generator
110:
115: random number generator
120: random number input / output wrapper unit

Claims (8)

각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생부들을 포함하는 난수 처리부; 및
난수 생성 과정에서 상기 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하고, 난수 출력 과정에서 상기 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼부(wrapper unit)를 포함하고,
상기 복수의 난수 발생부들 각각은 상기 난수 입출력 래퍼부에 의하여 선택되면 상기 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 상기 난수의 생성과 상기 내부 상태의 갱신을 수행하는 다중 엔트로피 풀 지원 난수 발생기.
A random number processing unit including a plurality of random number generating units for outputting a random number for a given input noise source based on independent internal states; And
And a random number input / output wrapper unit for selecting a specific random number generator from among the plurality of random number generators in the random number generation process to provide an input noise source and outputting a specific random number output from the specific random number generator in a random number output process and,
Wherein each of the plurality of random number generating units performs generation of the random number and update of the internal state through different functions based on the given input noise source if selected by the random number input / output wrapper unit.
삭제delete 제1항에 있어서, 상기 난수 입출력 래퍼부는
초기 값에 상기 주어진 입력 잡음원을 누적하는 선택 변수를 가지며 상기 선택 변수를 상기 복수의 난수 발생부들의 개수로 모듈로 연산을 수행하여 상기 하나의 난수 발생부를 선택하는 것을 특징으로 하는 다중 엔트로피 풀 지원 난수 발생기.
The apparatus of claim 1, wherein the random number input / output wrapper unit
Wherein the random number generating unit has a selection variable for accumulating the given input noise source at an initial value and performs a modulo operation on the selection variable with the number of the plurality of random number generating units to select the one random number generating unit. generator.
제1항에 있어서, 상기 난수 입출력 래퍼부는
상기 난수 생성 과정에서 상기 주어진 입력 잡음원을 누적하는 제1 선택 변수와 차감한 후 절대값을 계산하는 제2 선택 변수를 기초로 상기 복수의 난수 발생부들 중 제1 및 제2 난수 발생부들을 선택하고, 상기 난수 출력 과정에서 상기 제1 및 제2 난수 발생부들 중 하나를 통해 상기 특정 난수를 출력하는 것을 특징으로 하는 다중 엔트로피 풀 지원 난수 발생기.
The apparatus of claim 1, wherein the random number input / output wrapper unit
The first and second random number generators of the plurality of random number generators are selected based on a first selection variable for accumulating the given input noise source and a second selection variable for subtracting and calculating an absolute value in the random number generation process And outputs the specific random number through one of the first and second random number generators in the random number output process.
제4항에 있어서, 상기 난수 입출력 래퍼부는
상기 난수 출력 과정에서 상기 제1 난수 발생부의 출력값을 제2 난수 발생부의 출력값으로 모듈로 연산을 수행하여 상기 하나의 난수 발생부를 선택하는 것을 특징으로 하는 다중 엔트로피 풀 지원 난수 발생기.
The apparatus of claim 4, wherein the random number input / output wrapper unit
Wherein the random number generator generates the random number generator by performing a modulo operation on the output value of the first random number generator and the output value of the second random number generator in the random number output process.
제1항에 있어서, 상기 난수 입출력 래퍼부는
가용 메모리의 크기와 가용 중앙처리장치의 이용률을 기초로 상기 복수의 난수 발생부들의 최대 개수를 동적으로 조절하는 것을 특징으로 하는 다중 엔트로피 풀 지원 난수 발생기.
The apparatus of claim 1, wherein the random number input / output wrapper unit
Wherein the maximum number of the plurality of random number generating units is dynamically adjusted based on the size of the available memory and the utilization rate of the available central processing unit.
각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생 노드들; 및
난수 생성 과정에서 상기 복수의 난수 발생 노드들과 네트워크를 통해 연결되고, 난수 생성 과정에서 상기 복수의 난수 발생 노드들 중 특정 난수 발생 노드를 선택하여 입력 잡음원을 제공하고, 상기 특정 난수 발생 노드로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼 노드를 포함하고,
상기 복수의 난수 발생 노드들 각각은 상기 난수 입출력 래퍼 노드에 의하여 선택되면 상기 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 상기 난수의 생성과 상기 내부 상태의 갱신을 수행하는 다중 엔트로피 풀 지원 난수 발생기.
A plurality of random number generating nodes each outputting a random number for a given input noise source based on an independent internal state; And
A method of generating random number generating nodes, the method comprising the steps of: connecting to a plurality of random number generating nodes through a network during a random number generating process, selecting a specific random number generating node among the plurality of random number generating nodes to generate an input noise source, And a random number input / output wrapper node outputting a specific random number,
Wherein each of the plurality of random number generating nodes performs generation of the random number and update of the internal state through different functions based on the given input noise source when selected by the random number input / output wrapper node.
컴퓨터에서 수행되는 다중 엔트로피 풀 지원 난수 발생 방법에 있어서,
난수 입출력 래퍼부에서 상기 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하는 단계;
복수의 난수 발생부들 각각에서 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 단계; 및
난수 입출력 래퍼부에서 상기 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 단계를 포함하고,
상기 복수의 난수 발생부들 각각은 상기 난수 입출력 래퍼부에 의하여 선택되면 상기 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 상기 난수의 생성과 상기 내부 상태의 갱신을 수행하는 다중 엔트로피 풀 지원 난수 발생 방법.
A method for generating a multiple entropy pool support random number performed in a computer,
Selecting and inputting a specific random number generating unit among the plurality of random number generating units in a random number input / output wrapper unit to provide an input noise source;
Outputting a random number for a given input noise source based on an independent internal state in each of the plurality of random number generating units; And
Outputting a specific random number output from the specific random number generating unit in the random number input / output wrapper unit,
Wherein each of the plurality of random number generating units performs generation of the random number and update of the internal state through different functions based on the given input noise source if selected by the random number input / output wrapper unit.
KR1020160086178A 2016-07-07 2016-07-07 Random number generator for supporting multi entropy pool Expired - Fee Related KR101872329B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160086178A KR101872329B1 (en) 2016-07-07 2016-07-07 Random number generator for supporting multi entropy pool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160086178A KR101872329B1 (en) 2016-07-07 2016-07-07 Random number generator for supporting multi entropy pool

Publications (2)

Publication Number Publication Date
KR20180005900A KR20180005900A (en) 2018-01-17
KR101872329B1 true KR101872329B1 (en) 2018-06-28

Family

ID=61026115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160086178A Expired - Fee Related KR101872329B1 (en) 2016-07-07 2016-07-07 Random number generator for supporting multi entropy pool

Country Status (1)

Country Link
KR (1) KR101872329B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12095911B2 (en) 2021-04-07 2024-09-17 Samsung Electronics Co., Ltd. Electronic device to enhance randomness of security module using multiple hardware random number generator and the method thereof

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102155007B1 (en) * 2019-02-14 2020-09-11 국민대학교산학협력단 Entropy management apparatus and method using independence measurement, and number generation apparatus using the same

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007000727A (en) * 2005-06-22 2007-01-11 Mitsubishi Rayon Eng Co Ltd Operation method of membrane separation activated sludge treatment equipment
JP2007000636A (en) * 2005-06-22 2007-01-11 Heraeus Kulzer Gmbh Polymethyl methacrylate bone cement
KR20080050220A (en) * 2006-12-01 2008-06-05 한국전자통신연구원 Real water generator using oscillator sampling method
KR20080069932A (en) * 2007-01-24 2008-07-29 엔이씨 일렉트로닉스 가부시키가이샤 Test pattern generation circuit having a plurality of pseudo-random number generation circuits to which clock signals are each supplied at different timings
KR20090024804A (en) * 2006-06-20 2009-03-09 엔엑스피 비 브이 Random number generator system, random number generation method and computer readable medium
KR20120101836A (en) * 2011-03-07 2012-09-17 삼성전자주식회사 Apparatus for generating random number
KR20130130622A (en) * 2012-05-22 2013-12-02 한국전자통신연구원 Method of ramdom number generation using low power microprocessor and apparatus for the same
US9323499B2 (en) * 2012-11-15 2016-04-26 Elwha Llc Random number generator functions in memory

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007000727A (en) * 2005-06-22 2007-01-11 Mitsubishi Rayon Eng Co Ltd Operation method of membrane separation activated sludge treatment equipment
JP2007000636A (en) * 2005-06-22 2007-01-11 Heraeus Kulzer Gmbh Polymethyl methacrylate bone cement
KR20090024804A (en) * 2006-06-20 2009-03-09 엔엑스피 비 브이 Random number generator system, random number generation method and computer readable medium
KR20080050220A (en) * 2006-12-01 2008-06-05 한국전자통신연구원 Real water generator using oscillator sampling method
KR20080069932A (en) * 2007-01-24 2008-07-29 엔이씨 일렉트로닉스 가부시키가이샤 Test pattern generation circuit having a plurality of pseudo-random number generation circuits to which clock signals are each supplied at different timings
KR20120101836A (en) * 2011-03-07 2012-09-17 삼성전자주식회사 Apparatus for generating random number
KR20130130622A (en) * 2012-05-22 2013-12-02 한국전자통신연구원 Method of ramdom number generation using low power microprocessor and apparatus for the same
US9323499B2 (en) * 2012-11-15 2016-04-26 Elwha Llc Random number generator functions in memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12095911B2 (en) 2021-04-07 2024-09-17 Samsung Electronics Co., Ltd. Electronic device to enhance randomness of security module using multiple hardware random number generator and the method thereof

Also Published As

Publication number Publication date
KR20180005900A (en) 2018-01-17

Similar Documents

Publication Publication Date Title
US7921145B2 (en) Extending a repetition period of a random sequence
Dastgheib et al. A digital pseudo-random number generator based on sawtooth chaotic map with a guaranteed enhanced period
US7016925B2 (en) Random number generators
CN114073037B (en) RLWE compression and imperceptible expansion of plaintext
WO2012016588A1 (en) Bit sequence generator
Bhullar et al. A novel prime numbers based hashing technique for minimizing collisions
KR101872329B1 (en) Random number generator for supporting multi entropy pool
Matsumoto et al. Common defects in initialization of pseudorandom number generators
JP6044628B2 (en) Random number generation device, random number generation method, object placement device, and computer program
CN116243887B (en) Software random number generation method and device
Yang et al. Efficient composited de Bruijn sequence generators
CN104834499A (en) Apparatus and method for stabilizing output sequence of real random number generator
Zdravevski et al. Row key designs of NoSQL database tables and their impact on write performance
CN106469042B (en) The generation method and device of pseudo random number
KR102191305B1 (en) Lightweight entropy management apparatus and method
US9280317B2 (en) Semiconductor memory device and random number generator
Onete et al. Finding the Hamiltonian circuits in an undirected graph using the mesh-links incidence
CN116545605A (en) Fully Homomorphic Encryption Gate Bootstrapping Method Based on GPU Parallel Optimization of KNTT Algorithm
CN111314061B (en) Random number generation method and system
KR101738415B1 (en) Data storage apparatus and method for storing a message dispersedly
Godavarty Using quasigroups for generating pseudorandom numbers
JP7715281B2 (en) Lottery machine, lottery method and program
JP2002091297A (en) Arithmetic device and arithmetic method using SPN structure inside F function
KR102649929B1 (en) Digital signature generation and verification method for low-end PLC
Van et al. Construction of Nonlinear Ternary m-sequences with Interleaved Structure by d-Transform

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

D13-X000 Search requested

St.27 status event code: A-1-2-D10-D13-srh-X000

D14-X000 Search report completed

St.27 status event code: A-1-2-D10-D14-srh-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U11-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20240623

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20240623

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载