KR101872329B1 - 다중 엔트로피 풀 지원 난수 발생기 - Google Patents

다중 엔트로피 풀 지원 난수 발생기 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
Application number
KR1020160086178A
Other languages
English (en)
Other versions
KR20180005900A (ko
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/ko
Publication of KR20180005900A publication Critical patent/KR20180005900A/ko
Application granted granted Critical
Publication of KR101872329B1 publication Critical patent/KR101872329B1/ko

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

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)를 포함한다.

Description

다중 엔트로피 풀 지원 난수 발생기{RANDOM NUMBER GENERATOR FOR SUPPORTING MULTI ENTROPY POOL}
본 발명은 다중 엔트로피 풀 지원 난수 발생기 기술에 관한 것으로, 보다 상세하게는, 내부 상태 크기 변화를 필요로 하는 환경에서 난수발생기의 전면 재설계 없이 간편하게 풀 크기를 확장 및 축소할 수 있는 다중 엔트로피 풀 지원 난수 발생기에 관한 것이다.
난수발생기(Random Number Generator, RNG)는 열이나 음의 변화 등의 예측이나 재현이 사실상 불가능한 자연 현상을 센서로 감지해서 그 결과를 기초로 난수열을 생성하는 하드웨어나 소프트웨어를 의미한다.
의사난수발생기(Pseudo-Random Number Generator, PRNG)는 난수를 생성하는 소프트웨어 혹은 이를 구현한 장치로서, 내부상태를 포함하고 외부에서 주어진 잡음원을 기초로 의사난수열을 생성한다.
컴퓨터에 의해 발생된 난수는 컴퓨터 내의 유한한 내부상태 및 특정 알고리즘에 의한 생성 등의 이유로 주기성을 가지므로 진정한 의미의 난수는 아니지만, 통계적인 편중 없는 무작위성, 예측 불가능성 및 재현 불가능성의 특징을 갖기 때문에 사용에 있어서 난수로 간주하여도 지장이 없어 이를 의사(Pseudo) 난수라고 한다.
종래의 난수발생기 기술은 상대적으로 안전한 난수 생성 함수를 만드는데 집중되어 있고, 특히 높은 보안성을 갖는 잡음원을 생성하는데 집중되어 있다. 이러한 종래 기술은 환경의 변화에 따라 난수 발생기 풀을 재구축해야 할 경우, 업데이트 함수 및 난수 생성 함수를 새로 설계해야 하는 단점이 있다.
한국 공개특허공보 제10-2009-0024804호는 전처리 유닛과, 난수 생성 유닛을 포함하되, 상기 전처리 유닛은 스택과 관련된 동적 변수 및/또는 시스템 변수 및/또는 외부 시드(an external seed)로부터 내부 시드(an internal seed)를 계산하며, 상기 난수 생성 유닛은 상기 스택과 관련된 적어도 하나의 동적 실행시간 변수(at least one dynamic runtime variable)와 상기 내부 시드의 함수인 결정 함수(a determined function)를 이용하여 난수를 생성한다.
미국 등록특허 제9,323,499호는 메모리에 있는 난수 발생기 기능에 관한 것으로, 매모리 장치는 기판, 기판에 인테그레이트한 비휘발성 메모리 어레이 및 기판 위의 비휘발성 메모리 어레이로 인테그레이트한 난수 발생기 논리에 포함하지만, 제한되지 않는다. 난수 발생기 논리가 작동가능하고 비휘발성 메모리 어레이에서 최소한 하나의 난수 발생기 기능을 수행한다.
한국 공개특허공보 제10-2009-0024804호 (2009.03.09 공개) 미국 등록특허 제9,323,499호 (2016.04.26 등록)
본 발명의 일 실시예는 내부 상태 크기 변화를 필요로 하는 난수 발생기 보유 환경에서 난수 발생기의 전면 재설계 없이 간편하게 풀 크기를 확장 및 축소할 수 있는 다중 엔트로피 풀 지원 난수 발생기를 제공하고자 한다.
본 발명의 일 실시예는 내부 상태를 확장하여 재구축 시 기존 설계 함수를 재사용 가능하여 높은 경제성을 갖는 다중 엔트로피 풀 지원 난수 발생기를 제공하고자 한다.
본 발명의 일 실시예는 다중 엔트로피 풀 지원에 있어서, 모든 입력 잡음원의 값을 알아내야만 잡음원 입력 순서와 난수출력에 사용될 풀의 순서를 알 수 있게 하여 보안성을 향상시킨 다중 엔트로피 풀 지원 난수 발생기를 제공하고자 한다.
실시예들 중에서, 다중 엔트로피 풀 지원 난수 발생기는 각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생부들을 포함하는 난수 처리부 및 난수 생성 과정에서 상기 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하고, 난수 출력 과정에서 상기 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼부(wrapper unit)를 포함한다.
다중 엔트로피 풀 지원 난수 발생기에서, 상기 복수의 난수 발생부들 각각은 상기 난수 입출력 래퍼부에 의하여 선택되면 상기 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 상기 난수의 생성과 상기 내부 상태의 갱신을 수행하는 것을 특징으로 할 수 있다.
다중 엔트로피 풀 지원 난수 발생기에서, 상기 난수 입출력 래퍼부는 초기 값에 상기 주어진 입력 잡음원을 누적하는 선택 변수를 가지며 상기 선택 변수를 상기 복수의 난수 발생부들의 개수로 모듈로 연산을 수행하여 상기 하나의 난수 발생부를 선택하는 것을 특징으로 할 수 있다.
다중 엔트로피 풀 지원 난수 발생기에서, 상기 난수 입출력 래퍼부는 상기 난수 생성 과정에서 상기 주어진 입력 잡음원을 누적하는 제1 선택 변수와 차감한 후 절대값을 계산하는 제2 선택 변수를 기초로 상기 복수의 난수 발생부들 중 제1 및 제2 난수 발생부들을 선택하고, 상기 난수 출력 과정에서 상기 제1 및 제2 난수 발생부들 중 하나를 통해 상기 특정 난수를 출력하는 것을 특징으로 할 수 있다.
다중 엔트로피 풀 지원 난수 발생기에서, 상기 난수 입출력 래퍼부는 상기 난수 출력 과정에서 상기 제1 난수 발생부의 출력값을 제2 난수 발생부의 출력값으로 모듈로 연산을 수행하여 상기 하나의 난수 발생부를 선택하는 것을 특징으로 할 수 있다.
다중 엔트로피 풀 지원 난수 발생기에서, 상기 난수 입출력 래퍼부는 가용 메모리의 크기와 가용 중앙처리장치의 이용률을 기초로 상기 복수의 난수 발생부들의 최대 개수를 동적으로 조절하는 것을 특징으로 할 수 있다.
실시예들 중에서, 다중 엔트로피 풀 지원 난수 발생기는 각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생 노드들 및 난수 생성 과정에서 상기 복수의 난수 발생 노드들과 네트워크를 통해 연결되고, 난수 생성 과정에서 상기 복수의 난수 발생 노드들 중 특정 난수 발생 노드를 선택하여 입력 잡음원을 제공하고, 상기 특정 난수 발생 노드로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼 노드를 포함한다.
실시예들 중에서, 컴퓨터에서 수행되는 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부에서 상기 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하는 단계, 복수의 난수 발생부들 각각에서 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 단계 및 난수 입출력 래퍼부에서 상기 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 단계를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기는 내부 상태 크기 변화를 필요로 하는 난수 발생기 보유 환경에서 난수 발생기의 전면 재설계 없이 간편하게 풀 크기를 확장 및 축소할 수 있다.
본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기는 내부 상태를 확장하여 재구축 시 기존 설계 함수를 재사용 가능하여 높은 경제성을 갖는 다.
본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기는 다중 엔트로피 풀 지원에 있어서, 모든 입력 잡음원의 값을 알아내야만 잡음원 입력 순서와 난수출력에 사용될 풀의 순서를 알 수 있게 하여 보안성을 향상시킬 수 있다.
도 1은 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기의 구성도이다.
도 2는 NIST(National Institute of Standards and Technology)에서 발표한 SP 800-90A 표준 기술 문서에 제시된 난수 발생기의 기능적 구조도이다.
도 3는 도 1에 있는 다중 엔트로피 풀 지원 난수 발생기 동작의 일 실시예를 설명하는 순서도이다.
도 4는 도 1에 있는 다중 엔트로피 풀 지원 난수 발생기 동작의 다른 실시예를 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기의 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기(100)는 난수 처리부(110) 및 난수 입출력 래퍼부(120)를 포함한다.
난수 처리부(110)는 복수의 난수 발생부(115)들을 포함하고, 복수의 난수 발생부(115)들 각각은 난수를 생성할 수 있다. 여기에서, 난수는 무작위로 만들어진 수열을 의미하고, 컴퓨터에 의해 생성되는 의사(Pseudo) 난수에 해당한다. 컴퓨터는 최초 시동 시 난수표를 생성하여 보관할 수 있고, 다중 엔트로피 풀 지원 난수 발생기(100)에 입력 잡음원(Noise Source)를 인자로 매번 다르게 주어 매번 다른 난수를 추출하여 사용할 수 있다. 여기에서, 입력 잡음원은 현재 시간을 의미할 수 있고, 매 순간 바뀌는 현재 시간에 기초하여 이전에 발생했던 난수를 재현 불가능하게 만들기 위한 목적을 가지고 있다.
난수 발생부(115)는 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력할 수 있다. 여기에서, 주어진 입력 잡음원은 난수 입출력 래퍼부(120)로부터 제공 받은 입력 잡음원을 말하고, 내부상태는 난수 발생부(115)에 의해 관리되고 있는 메모리 값을 의미한다. 난수 발생부(115)는 이러한 내부상태를 기초로 연산을 수행하여 연산 결과를 난수로서 출력할 수 있고, 내부상태를 변화시킴으로써 다음의 연산을 대비할 수 있다. 일 실시예에서, 복수의 난수 발생부(115)들 각각은 도 2에서처럼, NIST(National Institute of Standards and Technology)에서 발표한 SP 800-90A 표준 기술 문서에 제시된 난수 발생기의 기능적 구조도를 토대로 구현될 수 있다. 해당 실시예에 대하여 보다 구체적으로, 난수 발생부(115)는 주어진 입력 잡음원 및 추가 정보를 기초로 미리 설정된 업데이트 함수를 통해 내부상태를 변경시키는 업데이트 함수, 주어진 입력된 잡음원 및 개별 정보를 기초로 내부상태를 리셋하여 초기상태로 변경시키는 초기화 함수, 특정 입력을 조건으로 내부 상태를 삭제시키는 종료 함수를 포함하고, 이러한 함수들의 출력값을 기초로 내부상태를 변경하며, 변경된 내부상태 및 추가 정보를 기초로 난수를 출력하는 난수 생성 함수를 포함할 수 있다. 본 발명의 난수 발생부(115)에 대한 대표적인 구현예로 NIST SP 800-90A를 들었지만, 난수 발생부(115)는 주어진 입력 잡음원을 기초로 난수를 생성할 수 있는 다양한 기능적 구조도를 통하여 구현될 수 있다.
난수 처리부(110)에 포함되는 복수의 난수 발생부(115)들 각각은 독립적인 내부상태를 갖는다. 즉, 복수의 난수 발생부(115)들 각각은 특정 시점에 들어온 동일한 입력 잡음원에 대하여 서로 다른 난수를 출력할 수 있다.
복수의 난수 발생부(115)들 각각은 난수 입출력 래퍼부(120)에 의하여 선택되면 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 난수의 생성과 내부 상태의 갱신을 수행할 수 있다. 일 실시예에서, 복수의 난수 발생부(115)들 각각은 난수 입출력 래퍼부(120)에 의한 선택 여부에 따라 난수 발생부(115)들 각각의 난수 발생 동작 여부를 제어할 수 있는 선택 제어 모듈(미도시됨)을 더 포함할 수 있다.
난수 입출력 래퍼부(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)가 선택될 수 있다.
[함수식 1]
Figure 112016065867542-pat00001
(여기에서, modulo는 나눗셈의 나머지를 계산하는 수학적 연산으로, 예를 들면, 37 modulo 6 = 1 이다)
난수 입출력 래퍼부(120)는 위의 실시예처럼, 초기 값에 주어진 입력 잡음원을 누적하는 선택 변수를 기초로 복수의 난수 발생부(115)들 중 하나를 선택할 수 있다. 예를 들어, 난수 입출력 래퍼부(120)는 i번째 입력 잡음원이 들어오면, i번째 Select 변수 값을 기초로 (Select modulo N)번째 난수 발생부(115)를 선택하여 입력 잡음원을 제공할 수 있고, (i+1)번째 Select 변수를 i번째 입력 잡음원 및 Select 변수의 합으로 갱신함으로써 다음 번의 난수 생성 과정을 대비할 수 있다. 본 발명의 실시예는 이처럼 입력 잡음원들에 의해 계속하여 누적되는 선택 변수를 사용함으로써 모든 입력 잡음원의 값을 알아내야만 잡음원 입력 순서와 난수출력에 사용될 풀의 순서를 알 수 있게 하여 보안성을 향상시킬 수 있다.
난수 입출력 래퍼부(120)는 난수 출력 과정에서 특정 난수 발생부(115)에 의해 출력된 특정 난수를 출력할 수 있다. 여기에서, 특정 난수 발생부(115)는, 앞서 서술한 것과 같이, 난수 생성 과정에서 선택된 특정 난수 발생부(115)를 말한다. 일 실시예에서, 난수 입출력 래퍼부(120)는 입력 잡음원에 대한 난수 생성 과정에서 연산된 선택 함수의 결과값을 난수 출력 과정에 적용하여 이를 기초로 해당 특정 난수 발생부(115)로부터 생성된 특정 난수를 최종적으로 출력하도록 할 수 있다.
난수 입출력 래퍼부(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를 기초로 적용될 수 있다.
[함수식 2]
Figure 112016065867542-pat00002
(여기에서, Select1은 제1 선택 변수를 의미하고, Select function1은 제1 선택 변수를 기초로 제1 난수 발생부를 선택하기 위한 선택 함수에 해당함. 마찬가지로, Select2는 제2 선택 변수를 의미하고, Select function2은 제2 선택 변수를 기초로 제2 난수 발생부를 선택하기 위한 선택 함수에 해당함)
함수식 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 변수의 합으로 갱신함으로써 다음 번의 난수 생성 과정을 대비할 수 있다.
난수 입출력 래퍼부(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] - … ).
본 발명의 난수 입출력 래퍼부(120)는 앞서 서술한 실시예와 같이, 난수 생성 과정에서 제1 및 제2 선택 변수를 통하여 제1 및 제2 난수 발생부(115)들을 선택할 수 있으나 이에 제한되지 않고, 그 이상의 복수 개의 선택 변수를 기초로 복수 개의 난수 발생부(115)들을 선택할 수 있으며, 난수 출력 과정 또한 마찬가지로 복수 개로 확장하여 적용할 수 있다. 본 발명의 실시예들은 이러한 방법을 통해 난수의 랜덤성을 높일 수 있고, 이에 따라 보안성을 더욱 향상시킬 수 있다.
난수 입출력 래퍼부(120)는 가용 메모리의 크기와 가용 중앙처리장치의 이용률을 기초로 복수의 난수 발생부(115)들의 최대 개수를 동적으로 조절할 수 있다. 이러한 동적 조절의 수행을 위하여 복수의 난수 발생부(115)들을 포함하는 난수 처리부(110)는 소프트웨어로 구현될 수 있다. 여기에서, 가용 메모리의 크기는 컴퓨터에서 주기억장치로 사용되는 램(RAM, Random Access Memory)의 여유공간의 크기를 의미하고, 가용 중앙처리장치의 이용률은 컴퓨터에서 특정 시점에 사용 가능한 CPU(Central Processing Unit) 시간의 백분율에 해당할 수 있다. 난수 입출력 래퍼부(120)는 이러한 가용 메모리의 크기와 가용 중앙처리장치의 이용률을 기초로 현재 컴퓨터에서 실행 중인 프로세스에 의한 병목 현상(Bottleneck) 발생 가능성을 판단할 수 있고, 소프트웨어로 구현된 난수 처리부(110) 내에서 실행되는 복수의 난수 발생부(115)들의 최대 개수를 조절하여 해당 개수 내에서 특정 난수 발생부(115) 선택을 수행하도록 할 수 있다. 이에 따라, 난수 입출력 래퍼부(120)는 본 발명의 난수 처리부(110)를 포함하여 컴퓨터에서 실행되는 프로세스의 병목 현상 발생 가능성을 낮추는 동시에, 난수의 랜덤성을 더욱 증가시킬 수 있어 보안성을 향상시킬 수 있다.
본 발명의 다중 엔트로피 풀 지원 난수 발생기(100)는 앞서 서술한 원리를 기초로 다양한 실시예를 통해 구현될 수 있다. 일 실시예에서, 본 발명의 다중 엔트로피 풀 지원 난수 발생기(100)는 각각이 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생 노드(Node)들 및 난수 생성 과정에서 복수의 난수 발생 노드들과 네트워크를 통해 연결되고, 난수 생성 과정에서 복수의 난수 발생 노드들 중 특정 난수 발생 노드를 선택하여 입력 잡음원을 제공하고, 특정 난수 발생 노드로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼 노드를 포함할 수 있다. 여기에서, 노드란, 근거리 통신망(LAN, Local Area Network), 즉, 네트워크의 기본요소인 지역 네트워크에 연결된 컴퓨터 및 그 안에 속한 장비들을 의미할 수 있다. 이에 따라, 본 발명의 실시예는 난수 입출력 래퍼 노드와 복수의 난수 발생 노드들을 네트워크를 통해 연결하고 복수의 난수 발생 노드들 중 특정 난수 발생 노드를 선택하여 난수를 출력하도록 제어할 수 있고, 이에 따라 다중 엔트로피 풀 지원 난수 발생기(100)의 풀 크기를 간편하게 재구축할 수 있다.
도 3는 도 1에 있는 다중 엔트로피 풀 지원 난수 발생기 동작의 일 실시예를 설명하는 순서도이다.
도 3에서, 컴퓨터에 의하여 수행되는 다중 엔트로피 풀 지원 난수 발생 방법은 크게 다음의 단계들을 포함한다.
우선, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 입력 잡음원을 수신하면(단계S310) 복수의 난수 발생부(115)들 중 특정 난수 발생부(115)를 선택하고 입력 잡음원을 제공하는 단계를 포함한다(단계S320). 예를 들어, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 초기 값에 주어진 입력 잡음원을 누적하는 선택 변수를 가지며 해당 선택 변수를 복수의 난수 발생부(115)들의 개수로 모듈로 연산을 수행하여 하나의 난수 발생부(115)를 선택하여 해당 난수 발생부(115)에 입력 잡음원을 제공하는 단계를 포함할 수 있다.
다음, 다중 엔트로피 풀 지원 난수 발생 방법은 이전 단계를 통해 선택된 특정 난수 발생부(115)에서 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 단계를 포함한다(단계S330). 일 실시예에서, 난수 발생부(115)는 도 2에서와 같은 기능적 구조도를 토대로 구현될 수 있다. 해당 실시예에 따라, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 발생부(115)에서 내부상태를 기초로 도 2에서와 같은 기능적 흐름도를 따라 연산을 수행하여 연산 결과를 난수로서 생성하는 단계를 포함할 수 있고, 입력 잡음원을 기초로 해당 난수 발생부(115)에 포함되는 내부상태를 변화시킴으로써 다음의 연산을 대비하는 단계를 포함할 수 있다.
마지막으로, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 이전 단계를 통해 선택된 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 단계를 포함한다(단계S340). 예를 들어, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 입력 잡음원에 대한 난수 생성 과정에서 연산된 선택 함수의 결과값을 난수 출력 과정에 적용하여 이를 기초로 해당 특정 난수 발생부(115)로부터 생성된 특정 난수를 최종적으로 출력하는 단계를 포함할 수 있다.
본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생 방법은 내부 상태 크기 변화를 필요로 하는 환경에서 난수발생기의 전면 재설계 없이 간편하게 풀 크기를 확장 및 축소할 수 있고, 기존 설계 함수를 재사용할 수 있어 높은 경제성을 갖는다. 예를 들어, 256byte 메모리 용량을 기초로 설치되어 있던 난수발생기를 1024byte 메모리 용량에 따라 확장하여 구축해야 할 경우, 종래의 난수발생기는 메모리 용량 변화에 따라 내부상태의 크기도 함께 변화하여 기존의 업데이트 함수 및 난수 생성 함수를 포함한 주요 함수들을 다시 설계해야 하지만, 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생기(100)는 난수 발생부(115)를 복수 개 추가로 설치하고 난수 입출력 래퍼부(120)에서 복수의 난수 발생부(115)들 각각 및 최대 개수를 인식하도록 함으로써 간단하게 풀 크기를 재구축할 수 있고, 본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생 방법은 앞서 서술한 단계들을 통하여 다중 엔트로피를 지원하는 난수의 발생을 간편하게 수행시킬 수 있다.
본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생 방법은 또한, 입력 잡음원들에 의해 계속하여 누적되는 선택 변수를 사용하는 단계를 포함하여 모든 입력 잡음원의 값을 알아내야만 잡음원 입력 순서와 난수출력에 사용될 풀의 순서를 알 수 있게 함으로써 보안성을 향상시킬 수 있다.
도 4는 도 1에 있는 다중 엔트로피 풀 지원 난수 발생기 동작의 다른 실시예를 설명하는 순서도이다.
도 4에서, 컴퓨터에 의하여 수행되는 다중 엔트로피 풀 지원 난수 발생 방법은 크게 다음의 단계들을 포함한다.
우선, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 입력 잡음원을 수신하면(단계S410) 복수의 난수 발생부들 중 제1 및 제2 선택 변수를 기초로 제1 및 제2 난수 발생부를 선택하고 입력 잡음원을 제공하는 단계를 포함할 수 있다(단계S420). 예를 들어, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 초기값에 주어진 입력 잡음원을 누적하는 제1 선택 변수와 초기값에 주어진 잡음원을 차감한 후 절대값을 계산하는 제2 선택 변수를 기초로 복수의 난수 발생부(115)들 중 제1 및 제2 난수 발생부(115)들을 선택하는 단계를 포함할 수 있다.
다음, 다중 엔트로피 풀 지원 난수 발생 방법은 이전 단계를 통해 선택된 제1 및 제2 난수 발생부(115)들 각각에서 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 단계를 포함한다(단계S430). 여기에서, 제1 및 제2 난수 발생부(115)들 각각은 각각은 독립적인 내부상태를 갖고, 이에 따라, 특정 시점에 들어온 동일한 입력 잡음원에 대하여 서로 다른 난수를 출력할 수 있다. 이 단계에서 각각의 난수 발생부(115)들의 동작은 앞서 서술한 단계S330과 같은 원리로 수행된다.
마지막으로, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)에서 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 단계를 포함한다(단계S440). 예를 들어, 다중 엔트로피 풀 지원 난수 발생 방법은 난수 출력 과정에서 제1 및 제2 난수 발생부(115)들 중 하나를 통해 특정 난수를 출력하는 단계를 포함할 수 있다. 일 실시예에서, 난수 입출력 래퍼부(120)는 이러한 난수 출력 과정에서 제1 난수 발생부(115)의 출력값을 제2 난수 발생부(115)의 출력값으로 모듈로 연산을 수행하여 하나의 난수 발생부(115)를 선택할 수 있다.
본 발명의 일 실시예에 따른 다중 엔트로피 풀 지원 난수 발생 방법은 난수 입출력 래퍼부(120)의 난수 입력 과정에서 복수의 난수 발생부(115)들 가운데 적어도 두 개의 난수 발생부(115)들을 선택하여 입력 잡음원을 제공하고, 난수 출력 과정에서 앞서 선택된 적어도 두 개의 난수 발생부(115)들 중 하나의 특정 난수 발생부(115)를 선택하여 특정 난수를 출력하도록 함으로써 난수의 랜덤성을 한층 높일 수 있고, 이에 따라 보안성을 더욱 향상시킬 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 다중 엔트로피 풀 지원 난수 발생기
110: 난수 처리부
115: 난수 발생부
120: 난수 입출력 래퍼부

Claims (8)

  1. 각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생부들을 포함하는 난수 처리부; 및
    난수 생성 과정에서 상기 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하고, 난수 출력 과정에서 상기 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼부(wrapper unit)를 포함하고,
    상기 복수의 난수 발생부들 각각은 상기 난수 입출력 래퍼부에 의하여 선택되면 상기 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 상기 난수의 생성과 상기 내부 상태의 갱신을 수행하는 다중 엔트로피 풀 지원 난수 발생기.
  2. 삭제
  3. 제1항에 있어서, 상기 난수 입출력 래퍼부는
    초기 값에 상기 주어진 입력 잡음원을 누적하는 선택 변수를 가지며 상기 선택 변수를 상기 복수의 난수 발생부들의 개수로 모듈로 연산을 수행하여 상기 하나의 난수 발생부를 선택하는 것을 특징으로 하는 다중 엔트로피 풀 지원 난수 발생기.
  4. 제1항에 있어서, 상기 난수 입출력 래퍼부는
    상기 난수 생성 과정에서 상기 주어진 입력 잡음원을 누적하는 제1 선택 변수와 차감한 후 절대값을 계산하는 제2 선택 변수를 기초로 상기 복수의 난수 발생부들 중 제1 및 제2 난수 발생부들을 선택하고, 상기 난수 출력 과정에서 상기 제1 및 제2 난수 발생부들 중 하나를 통해 상기 특정 난수를 출력하는 것을 특징으로 하는 다중 엔트로피 풀 지원 난수 발생기.
  5. 제4항에 있어서, 상기 난수 입출력 래퍼부는
    상기 난수 출력 과정에서 상기 제1 난수 발생부의 출력값을 제2 난수 발생부의 출력값으로 모듈로 연산을 수행하여 상기 하나의 난수 발생부를 선택하는 것을 특징으로 하는 다중 엔트로피 풀 지원 난수 발생기.
  6. 제1항에 있어서, 상기 난수 입출력 래퍼부는
    가용 메모리의 크기와 가용 중앙처리장치의 이용률을 기초로 상기 복수의 난수 발생부들의 최대 개수를 동적으로 조절하는 것을 특징으로 하는 다중 엔트로피 풀 지원 난수 발생기.
  7. 각각은 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 복수의 난수 발생 노드들; 및
    난수 생성 과정에서 상기 복수의 난수 발생 노드들과 네트워크를 통해 연결되고, 난수 생성 과정에서 상기 복수의 난수 발생 노드들 중 특정 난수 발생 노드를 선택하여 입력 잡음원을 제공하고, 상기 특정 난수 발생 노드로부터 출력된 특정 난수를 출력하는 난수 입출력 래퍼 노드를 포함하고,
    상기 복수의 난수 발생 노드들 각각은 상기 난수 입출력 래퍼 노드에 의하여 선택되면 상기 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 상기 난수의 생성과 상기 내부 상태의 갱신을 수행하는 다중 엔트로피 풀 지원 난수 발생기.
  8. 컴퓨터에서 수행되는 다중 엔트로피 풀 지원 난수 발생 방법에 있어서,
    난수 입출력 래퍼부에서 상기 복수의 난수 발생부들 중 특정 난수 발생부를 선택하여 입력 잡음원을 제공하는 단계;
    복수의 난수 발생부들 각각에서 독립적인 내부상태를 기초로 주어진 입력 잡음원에 대해 난수를 출력하는 단계; 및
    난수 입출력 래퍼부에서 상기 특정 난수 발생부로부터 출력된 특정 난수를 출력하는 단계를 포함하고,
    상기 복수의 난수 발생부들 각각은 상기 난수 입출력 래퍼부에 의하여 선택되면 상기 주어진 입력 잡음원을 기초로 서로 다른 함수들을 통해 상기 난수의 생성과 상기 내부 상태의 갱신을 수행하는 다중 엔트로피 풀 지원 난수 발생 방법.
KR1020160086178A 2016-07-07 2016-07-07 다중 엔트로피 풀 지원 난수 발생기 KR101872329B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160086178A KR101872329B1 (ko) 2016-07-07 2016-07-07 다중 엔트로피 풀 지원 난수 발생기

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160086178A KR101872329B1 (ko) 2016-07-07 2016-07-07 다중 엔트로피 풀 지원 난수 발생기

Publications (2)

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

Family

ID=61026115

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160086178A KR101872329B1 (ko) 2016-07-07 2016-07-07 다중 엔트로피 풀 지원 난수 발생기

Country Status (1)

Country Link
KR (1) KR101872329B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102155007B1 (ko) * 2019-02-14 2020-09-11 국민대학교산학협력단 독립성 측정을 이용한 엔트로피 관리 장치 및 방법, 이를 이용한 난수 생성 장치

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007000727A (ja) * 2005-06-22 2007-01-11 Mitsubishi Rayon Eng Co Ltd 膜分離活性汚泥処理装置の運転方法
JP2007000636A (ja) * 2005-06-22 2007-01-11 Heraeus Kulzer Gmbh ポリメチルメタクリラート骨セメント
KR20080050220A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 오실레이터 샘플링 방법을 이용한 실난수 발생 장치
KR20080069932A (ko) * 2007-01-24 2008-07-29 엔이씨 일렉트로닉스 가부시키가이샤 상이한 타이밍에서 클럭 신호가 각각 공급되는 복수의 의사난수 생성 회로를 갖는 테스트 패턴 생성 회로
KR20090024804A (ko) * 2006-06-20 2009-03-09 엔엑스피 비 브이 난수 발생기 시스템, 난수 생성 방법 및 컴퓨터 판독가능 매체
KR20120101836A (ko) * 2011-03-07 2012-09-17 삼성전자주식회사 난수 발생 장치
KR20130130622A (ko) * 2012-05-22 2013-12-02 한국전자통신연구원 저전력 마이크로프로세서를 이용한 난수 발생 방법 및 이를 위한 장치
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 (ja) * 2005-06-22 2007-01-11 Mitsubishi Rayon Eng Co Ltd 膜分離活性汚泥処理装置の運転方法
JP2007000636A (ja) * 2005-06-22 2007-01-11 Heraeus Kulzer Gmbh ポリメチルメタクリラート骨セメント
KR20090024804A (ko) * 2006-06-20 2009-03-09 엔엑스피 비 브이 난수 발생기 시스템, 난수 생성 방법 및 컴퓨터 판독가능 매체
KR20080050220A (ko) * 2006-12-01 2008-06-05 한국전자통신연구원 오실레이터 샘플링 방법을 이용한 실난수 발생 장치
KR20080069932A (ko) * 2007-01-24 2008-07-29 엔이씨 일렉트로닉스 가부시키가이샤 상이한 타이밍에서 클럭 신호가 각각 공급되는 복수의 의사난수 생성 회로를 갖는 테스트 패턴 생성 회로
KR20120101836A (ko) * 2011-03-07 2012-09-17 삼성전자주식회사 난수 발생 장치
KR20130130622A (ko) * 2012-05-22 2013-12-02 한국전자통신연구원 저전력 마이크로프로세서를 이용한 난수 발생 방법 및 이를 위한 장치
US9323499B2 (en) * 2012-11-15 2016-04-26 Elwha Llc Random number generator functions in memory

Also Published As

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

Similar Documents

Publication Publication Date Title
US7634523B2 (en) Random number generators
Dastgheib et al. A digital pseudo-random number generator based on sawtooth chaotic map with a guaranteed enhanced period
JP5646091B2 (ja) デバイス固有情報生成装置およびデバイス固有情報生成方法
WO2012016588A1 (en) Bit sequence generator
Bhullar et al. A novel prime numbers based hashing technique for minimizing collisions
JP2016173532A (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
Cardell et al. Binomial representation of cryptographic binary sequences and its relation to cellular automata
Yang et al. Efficient composited de Bruijn sequence generators
Matsumoto et al. Common defects in initialization of pseudorandom number generators
KR101872329B1 (ko) 다중 엔트로피 풀 지원 난수 발생기
JP6044628B2 (ja) 乱数発生装置、乱数発生方法、オブジェクト配置装置、並びにコンピュータ・プログラム
CN114073037A (zh) Rlwe明文的压缩和未察觉地扩展
Zdravevski et al. Row key designs of NoSQL database tables and their impact on write performance
CN106469042B (zh) 伪随机数的生成方法和装置
Onete et al. Finding the Hamiltonian circuits in an undirected graph using the mesh-links incidence
JP2014222394A (ja) 半導体記憶装置および乱数発生器
CN111314061B (zh) 一种随机数的生成方法及***
KR101738415B1 (ko) 메시지 분산 저장이 가능한 데이터 저장 장치 및 방법
US7050582B1 (en) Pseudo-random one-to-one circuit synthesis
Godavarty Using quasigroups for generating pseudorandom numbers
CN114553399A (zh) 芯片内置密钥的派生方法及其装置
JP2002091297A (ja) F関数内部にspn構造を用いた演算装置および演算方法
JP2017058501A (ja) ハッシュ関数計算装置および方法
CN116243887B (zh) 软件随机数生成方法及装置
WO2023187956A1 (ja) 抽選器、抽選方法及び、プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right