KR100659610B1 - 의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치 - Google Patents

의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치 Download PDF

Info

Publication number
KR100659610B1
KR100659610B1 KR1020050088963A KR20050088963A KR100659610B1 KR 100659610 B1 KR100659610 B1 KR 100659610B1 KR 1020050088963 A KR1020050088963 A KR 1020050088963A KR 20050088963 A KR20050088963 A KR 20050088963A KR 100659610 B1 KR100659610 B1 KR 100659610B1
Authority
KR
South Korea
Prior art keywords
data
entropy
source
sources
seed value
Prior art date
Application number
KR1020050088963A
Other languages
English (en)
Other versions
KR20060051618A (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
Priority to RU2004128637/09A priority Critical patent/RU2292074C2/ru
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020050088963A priority patent/KR100659610B1/ko
Priority to US11/235,546 priority patent/US7773748B2/en
Publication of KR20060051618A publication Critical patent/KR20060051618A/ko
Application granted granted Critical
Publication of KR100659610B1 publication Critical patent/KR100659610B1/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/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Abstract

의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치가 개시된다. 본 발명은, 의사 난수 발생기에 사용되는 씨드값 생성방법에 있어서, 다양한 외부의 소스들로부터의 데이터를 제1 데이터 풀의 메모리 부에 축적하는 단계, 데이터의 소스 유형을 분석하는 단계, 분석된 소스 유형에 근거하여 각 소스에 대한 엔트로피 추정값들을 계산하는 단계 및 엔트로피 추정값들 및 제1 데이터 풀의 메모리부에 축적된 데이터를 이용하여 씨드값을 생성하는 단계를 통해 구현된다. 본 발명에 따르면, 씨드 값을 생성함에 있어서, 랜덤 소스 비율의 동적 추정값의 제공, 느리고 빠른지 여부에 따른 소스들의 유형분류, 신뢰할만한지 신뢰할만하지 않은지에 따른 소스들의 유형분류 및 소스들의 비율 및 신뢰도를 고려할 수 있게 된다.
소스 유형, 엔트로피, 씨드값, 동적 추정

Description

의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치{Method for Making Seed Value Used in Pseudo Random Number Generator and Device Therof}
도 1은 본 발명에 따른 씨드값 생성장치의 개략적인 구조도, 및
도 2는 본발명에 따른 씨드값 생성방법의 동작 원리를 나타낸 절차 흐름도이다.
본 발명은 의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치에 관한 것으로, 더욱 상세하게는 랜덤 데이터의 하드웨어 소스가 없는 경우에, 다양한 암호 시스템에서 사용될 수 있는, 의사 난수 발생기에서의 씨드값 생성방법 및 그 장치에 관한 것이다.
난수 발생은 매우 많은 문제들을 해결하는 데 있어서 필요하다. 난수들은 시뮬레이션 모델링, 패스워드의 생성 및 암호 데이터 보호의 다양한 시스템에 필요한 암호 키들에 사용된다. 비트 생성의 의사 난수 시퀀스에 대한 알려진 의사 난수 발생기는 몇몇가지의 무질서한 시스템을 이용한다.
이러한 시스템들로부터 받은 신호는 이진의 형태로 디지털화되고 제공된다. 이러한 비트 시퀀스는 더 짧은 비트 시퀀스를 위해서 해쉬되고 그 결과 의사 난수 발생기에서의 씨드값으로서 사용된다.
이러한 의사 난수 발생기는 씨드값을 이용하여 ,암호시스템에서 사용되는 난수를 발생한다. 랜덤 소스의 엔트로피(무질서도)는 실험적으로 추정된다. 그리고 그 다음의 측정은 상기 추정된 결과들에 의존하여 수행되어 진다.
미국 특허 US 5732138에서 개시된바와 같이 씨드 값 발생장치는 각기 다른 무질서한 시스템으로부터의 랜덤 데이터를 사용한다.
그러나, 종래기술에 따른 씨드값 발생장치는 퍼포먼스가 낮다. 게다가 데이터 소스들이 엔트로피 비트 발생의 다양한 비율을 갖고 있는 경우에는 사용할 수가 없게 되는 문제점이 있다.
종래기술에 따른 씨드값 발생장치는 신뢰도와 엔트로피 비트의 발생 비율에 따라서 소스들을 분류하지 않는다. 이러한 경우에 소스들은 제어되지 않는다.
또다른 미국 특허 US5778069에서 개시된 씨드 값 발생장치는 다양한 유형의 소스들로부터의 데이터를 받으며, 다른 소스들로부터의 데이터와 결합하며, 받은 데이터를 해쉬한다. 그리고, 받은 데이터에 근거하여 의사 난수 발생기에 필요한 씨드값을 발생한다.
그러나, 이러한 또 다른 종래기술에 따른 씨드값 발생장치는 상기 결정된 소스들이 각기 다른 엔트로피 비트 발생의 비율을 갖는 경우에는 사용될 수 없다. 왜냐하면, 이 장치는 엔트로피 평가에 있어서 필수적인 랜덤 소스 비율에 대한 동적인 추정을 수행하지 못하기 때문이다. 게다가, 이 장치는 소스들을 그들의 신뢰도 에 따라 분류할 수 없다.
따라서 랜덤 소스 비율의 동적 추정값의 제공, 느리고 빠른지 여부에 따른 소스들의 유형분류, 신뢰할만한지 신뢰할만하지 않은지에 따른 소스들의 유형분류 및 소스들의 비율 및 신뢰도를 고려한 씨드값의 생성 등이 요구된다.
따라서, 본 발명의 목적은, 랜덤 소스 비율의 동적 추정값의 제공, 느리고 빠른지 여부에 따른 소스들의 유형분류, 신뢰할만한지 신뢰할만하지 않은지에 따른 소스들의 유형분류 및 소스들의 비율 및 신뢰도를 고려한 씨드값의 생성방법 및 생성장치를 제공함에 있다.
상기 목적을 달성하기 위한 본 발명에 따른 씨드값 생성방법은, 의사 난수 발생기에 사용되는 씨드값 생성방법에 있어서, 다양한 외부의 소스들로부터의 데이터를 제1 데이터 풀의 메모리 부에 축적하는 단계, 상기 데이터의 소스 유형을 분석하는 단계, 상기 분석된 소스 유형에 근거하여 상기 각 소스에 대한 엔트로피 추정값들을 계산하는 단계 및 상기 엔트로피 추정값들 및 상기 제1 데이터 풀의 메모리부에 축적된 상기 데이터를 이용하여 씨드값을 생성하는 단계를 포함한다.
바람직하게는, 상기 데이터는 무선 로컬 네트워크(WLAN)에서의 신호레벨값, 로컬 네트워크에서의 입력패킷간의 간격, 로컬 네트워크로부터의 출력패킷간의 간격, 인터럽트의 간격 및 상기 인터럽트의 양 중의 어느 하나인 것을 특징으로 한다.
또한, 상기 씨드값의 생성은 외부장치의 스위칭 시점에 이루어지는 것을 특징으로 한다.
또한, 상기 제1 데이터 풀은 랜덤 엑세스에서의 메모리 배열의 연속된 주소 공간의 세그먼트를 나타내는 것을 특징으로 한다.
또한, 상기 엔트로피 추정값은 다음의 식에 의해서 산출된다.
Figure 112005053402340-pat00001
여기서, Pi는 특정 시간구간내의 랜덤 이벤트 생성의 출현빈도에 근거하여 계산되는 확률값.
또한, 상기 소스 유형은 빠르고 신뢰할만한 것, 느리고 신뢰할만한 것, 빠르고 신뢰할만하지 않은 것 및 느리고 신뢰할만하지 않은 것 중 어느 하나에 해당하는 것을 특징으로 한다.
한편, 본 발명에 따른 씨드값 생성장치는, 의사 난수 발생기에 사용되는 씨드값 생성장치에 있어서, 소스들로부터의 데이터를 수신하고, 수신된 데이터에 근거하여 상기 소스 유형을 결정하며, 상기 각 소스에 대한 엔트로피 계산을 수행하는 데이터 소스 분석부, 상기 수신한 데이터를 압축하는 데이터 압축부, 상기 데이터 압축부로부터 압축된 데이터를 수신한 후 혼합하는 데이터 혼합부, 상기 각 소스에 대한 상기 엔트로피 추정값을 합산하는 엔트로피 추정값 합산부, 상기 소스로부터의 데이터를 축적하는 데이터 축적 및 엔트로피 추정값 생성부 및 상기 엔트로피 추정값들 및 상기 축적된 데이터를 이용하여 씨드값을 생성하는 씨드값 생성부 를 포함한다.
바람직하게는, 상기 데이터는 무선 로컬 네트워크(WLAN)에서의 신호레벨값, 로컬 네트워크에서의 입력패킷간의 간격, 로컬 네트워크로부터의 출력패킷간의 간격, 인터럽트의 간격 및 상기 인터럽트의 양 중의 어느 하나인 것을 특징으로 한다.
또한, 상기 씨드값 생성부는 상기 로컬 네트워크의 구성인 외부장치의 스위칭 시점에 씨드값을 생성하는 것을 특징으로 한다.
또한, 상기 분석부는 결정된 시간 구간내에 상기 소스들의 랜덤 이벤트의 등록을 하는 랜덤 이벤트 출현빈도 등록부 및 상기 출현빈도에 근거하여 다음의 식에 따라 엔트로피 추정값들을 계산하는 엔트로피 추정값 계산부를 포함한다.
Figure 112005053402340-pat00002
여기서, Pi는 특정 시간구간내의 랜덤 이벤트 생성의 출현빈도에 근거하여 계산되는 확률값.
또한, 상기 데이터 소스 분석부는 상기 소스의 랜덤 이벤트 출현빈도에 근거하여 다음의 식에 따라 상기 현재 엔트로피 추정값을 계산한다.
Figure 112005053402340-pat00003
여기서, Pi는 특정 시간구간내의 랜덤 이벤트 생성의 출현빈도에 근거하여 계산되는 확률값.
또한, 상기 출현빈도는 랜덤 이벤트의 출현빈도 등록을 위한 외부 장치에 등 록되어 있는 것을 특징으로 한다.
또한, 상기 소스 유형은 빠르고 신뢰할만한 것, 느리고 신뢰할만한 것, 빠르고 신뢰할만하지 않은 것 및 느리고 신뢰할만하지 않은 것 중 어느 하나에 해당하는 것을 특징으로 한다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
본 발명은 하드웨어 랜덤 소스가 가용하지 않은 경우에, 씨드값 생성이 이하와 같은 동작을 통해 이루어진다는 사실에 의해 얻어지게 되었다.
먼저 각기 다른 랜덤 프로세스들을 나타내는 다양한 외부의 소스들로부터의 데이터를 제1 데이터 풀의 적절한 메모리부에 축적한다. 여기서 데이터 풀은 메모리(RAM)의 구획을 나타낼 수도 있을 것이다.
그 다음, 소스 유형을 결정하기 위한 데이터 분석을 실시한다. 여기서 소스 유형은 데이터의 생성이 느린지 또는 빠른지, 아니면 데이터가 신뢰할 만한 것인지 아니면 신뢰할만한 것이 아닌지 등에 의해서 구분된다.
현재 엔트로피 평가는 소스들로부터 얻어진 데이터에 따라 전술한 소스의 각각에 대해서 이루어진다. 각 소스에 대해서, 제1 데이터 풀의 적절한 메모리부내의 다음(further)의 보존에 대한 평가들의 합에 의해서 현재 엔트로피를 전술한 메모리부로 축적한다.
이는 유일한 하나의 데이터 소스로부터의 엔트로피 평가의 보존(retention)을 의미한다. 전술한 메모리부에서의 제1 데이터 풀의 또다른 메모리부에서의 결과의 다음의 보존에 있어서, 각 소스로부터 데이터 압축을 수행하기 위해 해쉬 함수 를 적용하는 것은 유일한 하나의 데이터 소스로부터의 엔트로피 평가의 보존(retention)을 의미한다.
제1 데이터 풀의 또다른 메모리부로 압축된 데이터와 저장된 결과를 혼합하기 위하여 해쉬 함수를 적용함에 의해서, 상기 각 신뢰할만한 소스에 대한 현재 엔트로피 평가들에 근거한, 최소의 엔트로피 추정값을 얻을 수 있게 된다.
그 다음 전술한 최소 엔트로피 추정값을 둘로 나눔으로 인해서 감소된 엔트로피 추정값의 계산을 하고, 제2 데이터 풀의 메모리부의 시퀀스내의 감소된 값들의 시퀀스를 저장한다.
그 다음 이러한 추정값들에 대한 합과 제2 데이터 풀의 적절한 메모리부내의 주어진 추정값들의 합의 보존(retention)에 의하여 상기 각 신뢰할만한 소스에 대한 주어진 엔트로피 평가들을 전술한 메모리부에 축적한다. 이는 유일한 하나의 데이터 소스로부터의 주어진 합의 보존(retention)을 의미한다.
그 다음, 각 신뢰할만한 데이터 소스로부터, 제2 데이터 풀의 또다른 메모리부내의 전술한 압축된 데이터의 보존을 전술한 메모리부에 수행한다. 이는 유일한 하나의 데이터 소스로부터의 전술한 압축된 데이터의 보존(retention)을 의미한다.
그 다음 각 신뢰할 만한 데이터 소스에 대한 제2 데이터 풀의 적절한 메모리부에서의 전술한 혼합된 데이터의 보존을 수행한다. 각 신뢰할만한 데이터 소스에 대해서 제2 데이터 풀의 메모리부의 시퀀스내에 기 저장된 감소된 엔트로피 평가의 셋을 결정한다.
그 다음 전술한 이전의 감소된 엔트로피 평가들을 두개로 나눔에 의해서 보 존적인 엔트로피 추정값의 계산을 수행한다. 감소된 엔트로피 평가들은 제2 데이터 풀의 적절한 메모리부내에 저장된다. 그리고, 결과로서의 보존적인 값은 제3 데이터 풀의 적절한 메모리부에 저장된다.
그 다음, 상기 각 신뢰할만한 데이터 소스에 대해서, 이러한 추정값들에 대한 합에 의해 보존적인 엔트로피 평가들의 축적을 수행하며, 제3 데이터 풀의 메모리부의 시퀀스내의 이러한 합들의 보존을 전술한 메모리부에 행한다. 여기서 전술한 메모리부는 유일한 하나의 데이터 소스로부터의 전술한 합의 보존(retention)을 의미한다.
그 다음, 각 신뢰할만한 데이터 소스에 대해서, 제3 데이터 풀의 적절한 메모리부내의 전술한 압축된 데이터의 보존(retention)을 전술한 메모리부에 수행한다. 전술한 메모리부는 유일한 하나의 데이터 소스로부터의 전술한 압축된 데이터의 보존(retention)을 의미한다.
그 다음, 각 신뢰할만한 데이터 소스에 대해서, 제3 데이터 풀의 적절한 메모리부내에 전술한 혼합된 데이터를 저장한다. 본 발명을 실시함에 있어서 이하의 조건를 점검한다.
a) 적어도 세 개의 전술한 소스들에 대해서, 현재 엔트로피 평가들의 전술한 합들은 128보다 작아서는 안된다. 그리고 전술한 소스들 중의 하나는 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
b) 엔트로피 평가들의 전술한 합들은 각각의 전술한 소스들에 대해서 128보다 작아서는 안된다. 또한 모든 이러한 소스들은 빠르고 신뢰할 만하거나 느리고 신뢰할 만하여야 한다.
c) 보존적인 엔트로피 평가의 전술한 합들은 각각의 전술한 소스들에 대해서 128보다 작아서는 안된다. 또한 모든 이러한 소스들은 빠르고 신뢰할 만하거나 느리고 신뢰할 만하여야 한다.
상술한 조건을 따라가며, 풀내의 데이터의 부가적인 혼합에 의해 의사 난수 발생기에 대해서 새로운 씨드값을 발생한다. 이전의 혼합된 데이터는 제1 및 제2 데이터 풀의 적절한 메모리부 및 미리 조정된 씨드값에 저장되어져 있다.
이는 데이터 풀내의 데이터의 원형 해쉬의 적용에 존재하며, 제1 및 제2 데이터 풀의 전술한 메모리부와 미리 조정된 씨드값으로부터 추출된다. 전술한 랜덤 프로세스는 이더넷 유형의 로컬 네트워크, WLAN에 존재할 것이다. 여기서 이러한 랜덤 프로세스의 전술한 데이터는 무선 로컬 네트워크(WLAN) 네트워크에서의 신호레벨값, 전술한 네트워크에서의 입력패킷 구간, 전술한 네트워크에서의 출력패킷 구간, 인터럽트간의 구간, 및전술한 인터럽트의 양등이 될 수 있을 것이다.
제3 데이터 풀의 적절한 메모리부에 저장된 혼합 데이터는 외부의 기기 스위치가 온/오프되는 순간에 새로운 씨드값을 생성하는데 사용된다. 이러한 외부 기기는 전술한 네트워크의 적어도 하나의 부분일 것이다.
전술한 소스의 랜덤 이벤트의 엔트로피 평가 출현빈도는 특정한 시간 구간내에 등록되어져 있다. 그리고, 출현빈도에 근거하여, 현재 엔트로피 평가에 대한 계산은 이하의 수학식 1에 따라 수행된다.
Figure 112005053402340-pat00004
상기 수학식 1에서 Pi는 출현빈도에 근거하여 계산된 확률을 의미한다.
상기 각 소스의 유형은 빠르고 신뢰할만한 것, 느리고 신뢰할만한 것, 빠르고 신뢰할만하지 않은 것, 느리고 신뢰할만하지 않은 것중의 하나에 대응된다.
도 1은 본 발명에 따른 씨드값 생성장치의 개략적인 구조도이다. 만약 하드웨어 랜덤 데이터 소스가 가용하지 않다면, 본 발명에 따른 씨드값 발생 장치는 데이터 소스 분석부(130), 데이터 압축부(140), 데이터 혼합부(150), 엔트로피 추정값 합산부(160), 데이터 축적 및 엔트로피 생성부(170), 씨드값 생성부(180), 및 씨드값 출력부(190)를 포함할 것이다.
여기서 전술한 데이터 소스 분석부(130)는 각기 다른 랜덤 프로세스를 나타내는 다양한 랜덤 소스들로부터의 데이터를 받도록 설계되며, 받은 데이터에 기초하여 소스 유형을 결정할 수 있도록 설계된다.
또한, 상기 각 랜덤 소스에 대한 현재 엔트로피 추정값의 계산을 위해서도 설계될 것이다. 전술한 랜덤 소스들은 상술한 유형들로 분류된다. 즉, “빠르거나 느리거나”,“신뢰할만하거나 신뢰할만하지 않거나”등의 특징들의 조합으로 상기 유형들은 분류될 것이다.
전술한 데이터 압축부(140)는 전술한 데이터 소스들로부터 받은 데이터를 압축하도록 설계되고, 압축된 데이터를 데이터 혼합부(150)로 출력한다. 여기서 데이 터 혼합부(150)는 상기 각 데이터 소스의 압축된 데이터를 혼합할 수 있도록 설계된다.
전술한 엔트로피 합산부는 상기 각 데이터 소스에 대한 현재 엔트로피 평가를 합산하게 된다. 전술한 데이터 축적 및 엔트로피 추정값 생성부(170)는 두개의 엔트로피 추정값 연산부, 두개의 합산부 및 각각 다수의 메모리부들로 구성되는 세 개의 영역으로 나뉘어지는 메모리를 포함한다.
엔트로피 평가들을 연산하는 두개의 엔트로피 추정값 연산부 중 제1 엔트로피 추정값 연산부는 전술한 데이터 소스 분석부(130)로부터의 현재 엔트로피에 대한 평가에 근거하여 각 데이터 소스에 대한 전술한 엔트로피 평가의 연산을 수행한다.
전술한 두개의 합산부 중 제1 합산부는 각 데이터 소스에 대한 주어진 엔트로피 평가의 합산 계산을 수행한다. 제2 합산부는 전술한 엔트로피 평가들의 선택된 중간 값들에 근거하여 각 신뢰할만한 데이터 소스에 대해서, 보존적인 엔트로피 평가들의 계산을 수행한다.
전술한 엔트로피 평가들은 엔트로피 평가 계산을 위한 제1 합산부로부터 얻어진 것이다. 전술한 합산부는 주어진 데이터 소스에 대한 전술한 보존적인 엔트로피 평가를 추가함으로서 각 신뢰할만한 데이터 소스에 대해서 보존적인 엔트로피 평가의 합산계산을 수행한다.
여기서, 주어진 데이터 소스는 엔트로피 평가 계산을 위한 제2 합산부로부터 계산된 값이다. 전술한 메모리는 압축 및 혼합의 전술한 결과들의 보존(retention) 을 위한 것이다. 전술한 결과는 데이터 혼합부(150) 및 데이터 압축부(140)로부터 유래된다. 그리고 전술한 모든 데이터 소스들에 대한 엔트로피 평가들은 제1 데이터 풀의 메모리부에 기록된다.
신뢰할만한 데이터 소스들로부터의 데이터 혼합 결과들은 제 2 및 제3 데이터 풀의 메모리부들내에 기록된다.
게다가, 제1 데이터 풀은 전술한 현재 엔트로피 평가들의 보존(retention)에 사용된다. 전술한 현재 엔트로피 평가들은 현재 엔트로피 추정값의 분석 및 계산을 위한 전술한 분석 및 계산부에서 이루어진다.
제2 데이터 풀은 전술한 엔트로피 추정값의 보존(retention)에 사용된다. 엔트로피 추정값은 엔트로피 추정값 연산을 위한 두개의 추정값 연산부 중 제1 추정값 연산부로부터 얻어진다.
제3 데이터 풀은 전술한 보존적인 엔트로피 추정값의 기록에 사용된다. 전술한 보존적인 엔트로피 추정값은 엔트로피 추정값 계산을 위한 제2 계산부로부터 얻어진다.새로운 씨드값 생성 장치의 실행은 다음과 같이 제어한다.
a) 적어도 세 개의 상기 소스들로부터, 제1 데이터 풀에서의 현재 엔트로피는 128보다 작지 않아야 한다. 전술한 소스들 중 하나는 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
b) 전술한 소스들의 각각에 대해서, 제2 데이터 풀로부터의 엔트로피 평가는 128보다 작지 않아야 한다. 모든 상기 소스들은 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
c) 전술한 소스들 각각에 대해서, 제3 데이터 풀에서의 전술한 엔트로피 평가는 128보다 작아서는 안된다. 모든 전술한 소스들은 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
d) 여기서, 전술한 조건들을 충족하게 되면 씨드값 생성부(180)는 전술한 혼합결과들의 부가적인 혼합에 의해서 의사 난수 발생기를 위한 새로운 씨드값을 생성하게 된다. 여기서 전술한 혼합 결과는 반복적인 원형 해쉬함수의 적용에 의해서 제1 및 제2 데이터 풀의 적절한 메모리부들과 이전의 씨드값에 저장된다.
e) 의사 난수 발생기는 씨드값 생성부(180) 및 씨드 값 출력부로부터 새로운 씨드값을 전송받게 된다.
이더넷 유형의 로컬 네트워크 및 무선로컬 네트워크(WLAN)의 랜덤 프로세스들은 전술한 특별하고 상이한 랜덤 프로세스들이 될 수 있다. 여기서, 이러한 랜덤 프로세스들의 전술한 데이터는 무선로컬 네트워크에서의 신호레벨값, 전술한 네트워크들에서의 입력 패킷들간의 구간, 전술한 네트워크로부터의 출력패킷들간의 구간, 인터럽트들 간의 구간, 전술한 인터럽트들의 양이 될 수 있다.
본 발명을 실시함에 따라, 새로운 씨드값 생성을 위한 씨드값 생성부(180)는 전술한 지역 네트워크들중의 하나의 부분인 외부 장치가 동작하는 순간에, 제3 데이터 풀의 적절한 메모리부들내에 저장된 혼합된 압축 데이터를 사용할 수 있을 것이다.
본 발명을 실시함에 있어서, 데이터 소스 분석부(130)는 결정된 시간 구간내에 전술한 소스들에 대한 랜덤 이벤트들의 출현빈도 등록을 위한 랜덤 이벤트 출 현빈도 등록부, 상기의 수학식 1에 따라 전술한 출현빈도에 근거하여 현재 엔트로피 추정값을 계산하는 엔트로프 추정값 계산부를 포함할 수 있을 것이다. 전술한 랜덤 이벤트 출현빈도 등록부는 특정 시간구간내의 전술한 소스들의 랜덤 이벤트의 등록을 수행한다.
본 발명에 따른 데이터 소스 분석부(130)는 전술한 소스들의 랜덤 이벤트 출현빈도에 근거하여 전술한 현재 엔트로피 추정값을 계산한다. 여기서 전술한 소스들의 랜덤 이벤트 출현빈도는 랜덤 이벤트의 출현빈도 등록에 대한 외부 장치에 의해 등록된 것이다. 여기서, 전술한 계산은 상기 수학식 1에 따라 수행된다.
전술한 제1 엔트로피 추정값 연산부에 의한 계산은 전술한 현재 엔트로피 추정값의 결정된 시퀀스에 대한 최소값의 절반에 해당한다. 전술한 제2 엔트로피 추정값 연산부에 의한 계산은 전술한 엔트로피 추정값의 결정된 시퀀스에 대한 최소값의 절반에 해당한다.
전술한 각 소스의 유형은 빠르고 신뢰할만한것, 느리고 신뢰할만한 것, 빠르고 신뢰할만하지 않은 것, 느리고 신뢰할만하지 않은 것 중의 하나에 대응된다.
도 2는 본발명에 따른 씨드값 생성방법의 동작 원리를 나타낸 절차 흐름도이다. 도 1 및 도 2를 참조하면, 미리 설정된 시간 구간내의 서로 다른 데이터 소스들로부터 데이터는 획득되며(S200), 이는 씨드값 생성장치(100)로 전달된다.
이더넷 유형의 로컬 네트워크 및 WLAN에서 수행되는 다양한 랜덤 프로세스들에는 이러한 소스들이 적용될 것이다. 그 다음, 씨드값 생성장치(100)는 소스유형을 분석하기 위해 수신한 데이터의 분석을 수행한다(S205).
여기서의 소스는 빠른 것, 느린 것, 신뢰할만 한것, 신뢰할만하지 않은 것의 유형으로 나누어진다.
그 결과 각 소스는 빠르고 신뢰할만하거나, 느리고 신뢰할만하거나, 빠르고 신뢰할만하지 않거나, 느리고 신뢰할만하지 않은 것이 될 것이다. 장치 내부로의 접근권한이 없는 해커등과 같은 개개인이 측정할 수 있고 얻을 수 있는 프로세스들을 신뢰할만하지 않은 프로세스들이라고 한다. 예를 들어, 이러한 개개인들은 입력패킷 또는 출력패킷간의 시간 구간을 측정할 수 있을 것이다.
랜덤 데이터로부터의 신뢰할만한 소스들은 시스템 밖에서는 재생산될 수 없는 것들이다. 그러므로 프린터 내부에서 수행되는 랜덤 프로세스들은 신뢰할만한 소스들이라고 할 수 있다.
씨드값 생성장치(100)가 소스들에 대한 분석을 수행한 후, 씨드값 생성장치(100)는 제1 데이터 풀에 데이터를 기록한다. 데이터 풀은 랜덤 엑세스내의 메모리 배열의 연속된 주소 공간의 세그먼트들을 나타냄을 유의하여야 한다.
게다가, 제1 데이터 풀에 저장된 데이터는 의사 난수 발생기의 씨드값을 갱신하는 경우의 컴프라미스(compromise)의 위험을 감소시키기 위해서 사용됨을 유의하여야 한다.
또한, 외부 장치가 동작하는 순간에도 이러한 동작은 가능하다. 여기서 외부 장치는 전술한 네트워크들의 적어도 하나내에 존재하는 것으로서, 프린터 등이 될 수 있을 것이다.
세 번째 영역의 메모리에 기록함에 있어서, 씨드값 생성장치(100)는전술한 소소들의 랜덤 이벤트의 출현빈도에 근거하여 각 데이터 소스에 대한 현재 엔트로피 추정값을 계산한다(S210).
이러한 출현빈도들은 씨드값 생성장치(100) 및 외부 랜덤 이벤트 출현빈도 등록장치에 의해서 등록될 수 있다. 각 소스들에 대한 현재 엔트로피 추정값은 상기 수학식 1에 따라 계산된다.
소스들은 이하의 요구조건들을 충족하여야 한다.
a) 소스들은 준정상적인 것들이어야 한다. 즉, 랜덤 변수의 확률값 분포는 오랜 시간구간 동안 존속하는 것이어야 한다. 또는 매우 천천히 변화하는 것이어야 한다.
b) 소스들은 메모리가 없는 소스들이어야 한다. 즉, 랜덤 변수의 현재값은 이 랜덤 변수가 이전에 가졌던 값에 의존하여서는 안된다.
c) 소스들은 정적으로 독립적이어야 한다.
씨드값 생성장치(100)는 데이터 소스에 대한 전달받은 현재 엔트로피 추정값들의 합과 제1 데이터 풀의적절한 메모리부에서의 합들의 보존(retention)에 의해서 이러한 엔트로피 추정값들을 축적한다(S210).
제1 데이터풀의 각 메모리부는 하나의 소스의 전술한 엔트로피 추정값을 기록하게 된다. 그 다음, 씨드값 생성장치(100)는 이하와 같은 동작들을 수행한다(S215).
a) 그 다음의 보존(retention)과 함께 전술한 소스들로부터의 데이터 압축.
b) 이러한 혼합된 데이터의 적절한 메모리부로의 다음의 보존과 함께 압축된 데이터의 혼합.
데이터 압축은 해쉬함수에 의해서 수행된다. 여기서의 해쉬함수는 SHA-256이 될 수 있을 것이다. 미연방표준인 FIPS PUB 180-2는 상술한 해쉬함수의 계산에 대한 해쉬 알고리즘의 특성화를 포함하고 있다. 해쉬함수로서 SHA-256을 의무적으로 사용하여야 할 필요는 없다. standard P 34.11-94을 사용하는 것도 가능할 것이며, 적절한 해쉬함수를 구비한 또 다른 것을 사용하는 것도 가능할 것이다.
SHA-256에서는 264비트보다 작은 길이의 랜덤 시퀀스가 사용될 수 있다. 계산된 값은 256비트 길이의 시퀀스이며, 압축함수는 해쉬 알고리즘에서 주요한 요소이다.
상기 각 데이터 소스로부터의 데이터의 입력비트 시퀀스는 각각 512비트 크기의 블록들로 나누어 진다. 그 다음 압축함수는 각 블록에 대해서 연속적으로 적용된다. 그러므로, 입력 시퀀스의 길이가 512비트보다 크지 않다면, SHA-256에 의한 해쉬는 압축함수의 단독의 용법으로 간주된다. 여기서, 해쉬의 계산작업 내용은 최소의 것이 된다.
각 데이터 소스에 대한 압축된 데이터는 제1 데이터 풀의 적절한 메모리부로 저장된다. 각 메모리부는 하나의 소스만의 데이터를 기록할 수 있도록 결정된다. 각 소스에 대한 모든 압축된 데이터들의 혼합은 이하와 같이 수행된다.
a) 엔트로피 추정값의 합의 증가는32보다 작아서는 안된다.
b) 제1 데이터 풀의 적절한 메모리부에 축적된 값은 512보다 작아서는 안된다.
압축된 데이터의 혼합은 이러한 요구들의 실행시에 수행된다. 이 경우 이하와 같이 수행될 것이다.
a) 데이터의 입력 비트 시퀀스는 형성되고 있다.
b)모든 데이터 소스들의 압축된 데이터 및 임시의 혼합결과의 연접은 256(n+1)비트의 길이의 비트 시퀀스를 위해서 수행된다. 여기서 n은 소스들의 무작위성의 수자이다.
그 다음 SHA-256 해쉬 함수에 의해서 원형 해쉬가 수행된다. 예를 들어, 처음의 세 개의 청크(Chunk)에 있어서, 원형 해쉬의 적용을 이하 설명하기로 한다.
해쉬함수의 값은 제1 및 제2 청크의 연접을 위해서 수행된다. 해쉬의 결과는 첫 번째 청크의 내용을 대체한다.
제1 및 제3 청크의 연접을 위해서, 해쉬함수값은 계산된다. 해쉬결과는 제2 청크의 내용을 대체한다. 모든 청크에 대해서 동일하게 적용된다. 마지막 n+1번째 단계에서, 해쉬함수값은 n+1번째 청크와 제1 청크의 연접을 위해서 계산된다.
첫 번째 청크의 값은 이전에 원형 해쉬의 시작단계에서 사용되었다. 여기서, 해쉬결과는 초기의 n+1번째 청크의 내용을 대체한다. 원형해쉬의 한번의 반복이 이처럼 수행된다.
전체의 혼합은 원형 해쉬를 스트링(string)에 빈번하게 적용함에 의해 획득된다. 반복의 총수는 n과 같다. 최종적으로 n+1번째의 스트링은 SHA-256 함수의 단독의 용법에 의해서 256비트로 압축된다.
혼합된 데이터는 제1 데이터 풀의 적절한 메모리부내에 저장된다. 전술한 압 축 및 혼합의 과정은 이하와 같이 이루어진다.
a) 각 다른 소스들로부터 샘플들을 표준 사이즈로 가져간다.
b) 같고 다른 무작위성 소스들로부터의 샘들들의 혼합. SHA-256 해쉬 함수의 적용은 두개의 목적을 동시에 획득할 수 있도록 허용한다.
원형 해쉬에 의한 혼합은 오직 충분한 엔트로피의 양이 축적된 경우에만 수행된다. 각 소스에 대한 엔트로피 계수기에 따라서, 엔트로피가 32보다 작아서는 안된다. 서로 다른 무작위성 소스들로부터의 샘플들은 혼합 과정과 관련되어져 있다.
SHA-256이 적용된다는 가정으로부터 전개하면, 입력 스트링에서의 하나의 비트의 값의 변화는 해쉬결과 비트(256비트에 이름)의 상당한 양에 이르게 된다. 갱신은 두개의 원형 해수의 반복의 결과에 따라 512비트에서 일어날 것이다. 그러므로, 모든 출력 비트들의 값들은 n번째 반복이 있은 후에 입력 스트링의 각 비트값에 의존할 것이다.
암호 해쉬 함수들의 알려진 적절성은 동작동안의 엔트로피의 손실을 방지한다. 그러므로, 만약 모든 무작위성 소스들이 고려되었다고 가정한다면, 제안된 해답은 최소 저장된 데이터 볼륨에서의 엔트로피 비크 축적의 최대 속도를 제공할 것이다.
씨드값 생성장치(100)는 모든 전술한 동작들이 수행되고 있을 때, 제2 데이터 풀의 채움을 수행하고 있다(S220). 제2 데이터 풀에 저장된 데이터는 의사난 수 발생기 씨드값의 자동 갱신을 위한 것이라는 점을 유의해야 한다. 제2 데이터 풀은 엔트로피 추정값에 대한 비관적인 접근에 의해 얻어진 데이터를 포함하고 있다(여기서 엔트로피 추정값은 고의적으로 낮게 추정되었다.).
그러한 접근은 암호강도의 높은 레벨을 확실하게 한다. 예를 들어, 만약 제1 데이터 풀의 데이터가 비합리적으로 높게 추정된 엔트로피 추정값에 의해서 얻어졌다면, 제2 데이터 풀로부터의 데이터를 사용하는 자동 갱신은 이러한 문제를 이학와 같이 보상할 수있도록 허여한다.
씨드값 생성장치(100)는 전술한 방법에 의해서 얻어진 이러한 소스들의 현재 엔트로피에 근거하여 각 신뢰할만한 소스(빠르거나, 느린것)들에 대한 최소의 엔트로피 추정값을 계산한다.
이를 위해, 씨드값 생성장치(100)는 예를 들어, 8개의 매개 엔트로피 추정값으로 구성되는 패킷을 생성한다. 여기서,매개 엔트로피 추정값은 새논의 수학식에 의해서 계산된다. 연속된 최소 엔트로피 추정값은 결정되고, 전술한 최소 엔트로피 추정값의 계산은 수행된다.
매개 엔트로피 추정값들은 fi -7, fi -6,.., fi -1, fi 와 같이 표시된다. 여기서 i 는 연속된 수자이다. 이러한 경우에 결정된 소스의 현재 엔트로피 값의 최소 추정값은 하기의 수학식 2와 같이 이 표현된다.
Figure 112005053402340-pat00005
상기 수학식 2에서 2로 나누는 것은 서로 다른 소스들 상호간의 커플링 효과 를 보상하기 위한 것이다.
예를 들어, 입력 패킷은 인터럽트를 시발시키고, 특정한 시간 구간후에 출력 패킷을 생성한다. 몇몇의 예에서 그러한 이벤트는 높은 확률값으로 예견될 수 있다.
만약 제한된 시간 구간내에 관찰이 수행된다면, 최소 매개 추정값의 선택이 소스의 가능한 불안정한 행동 및 공격자의 목표된 공격의 결과로서 부적절한 엔트로피 추정값의 위험 감소와 연관될 수 있다.
각 소스에 대한 최소 엔트로피 추정값은 제2 데이터 풀의 메모리부에 기록된다(S225). 각 데이터 소스에 따라 씨드값 생성장치(100)는 제2 데이터 풀의 적절한 메모리부에 축적결과에 대한 다음의 보존(retention)을 하면서, 이러한 추정값들의 합에 의한 엔트로피 추정값들을 축적한다.
여기서, 하나의 소스로부터의 합은 각 메모리부에 기록된다. 전술한 방법에 의해 얻어진 혼합되고 압축된 데이터의 보존(retention)은 제2 데이터 풀의 적절한 메모리부내에서 수행된다. 오직 신뢰할만한 소스들로부터의 혼합된 데이터는 메모리부들에 기록된다는 점은 유의하여야 한다.
제2 데이터 풀의 메모리부내의 데이터 보존(retention)은 제1 데이터 풀에서의 보존(retention)과 같은 방식으로 실행된다. 그리고, 특별히 하나의 신뢰할만한 소스로부터의 데이터는 제2 데이터 풀의 각 메모리부에 기록된다(S230).
전술한 동작의 완료후에, 씨드값 생성장치(100)는 이하와 같은 방법을 사용하여 제3 데이터 풀을 채워나간다(S235). 제3 데이터 풀의 내용은 프린터 등과 같 이 전술한 네트워크를 구성하는 외부 장치의 동작의 순간에서의 의사 난수 발생기의 씨드값을 로딩하는 데에만 사용된다는 점에 유의하여야 한다.
제3 데이터 풀의 내용은 또한 신뢰할만한 소스들의 비관적인 엔트로피 추정값들에 근거하여 생성된다. 각 신뢰할만한 데이터 소스에 대해서, 씨드값 생성장치(100)는 제2 데이터 풀의 메모리부에 저장된 전술한 엔트로피 추정값들의 셋을 결정한다.
보존적인 엔트로피 추정값의 계산은 추정값들의 시퀀스에 근거하여 수행된다. 이러한 계산은 전술한 엔트로피 추정값의 계산과 유사하다. 즉, 전술한 엔트로피 추정값은 두개로 나뉘어진다.
결정된 소스에 대한 4개의 최소 엔트로피 추정값들을 si -3, si -2, si -1, si 로서 표시한다. 여기서 i는 연속된 수이다. 그러므로, 제2 최소 엔트로피 추정값은 하기의 수학식 3과 같다.
Figure 112005053402340-pat00006
프린터 장치에서의 두개의 동작(온/오프/온)사이의 시간 간격은 제3 데이터 풀을 채우기에 충분할 정도이다. 또한, 샘플들은 카운팅의 수자들로 구성되어 있다고 가정된다. 카운팅은 어떤 길이의 비트 시퀀스를 의미한다. 엔트로피 추정값의 제2 계산된 최소 값은 또한 제3 데이터 풀에 저장된다.
그 다음 각 신뢰할만한 데이터 소스에 대해서 씨드값 생성장치(100)는 제3 데이터 풀의 메모리부에 이러한 합들에 대한 다음 기록을 하며, 각 신뢰할만한 소스에 이러한 엔트로피 추정값의 합에 의해서보존적인 엔트로피 추정값을 축적한다(S240).
여기서, 하나의 소스의 합들은 각 메모리부에 기록된다. 그 다음, 씨드값 생성장치(100)는 제3 데이터 풀의 적절한 메모리부에 전술한 방법에 의해서 얻은 혼합된 압축데이터를 또한 기록한다.
데이터 기록은 제2 데이터 풀의 적절한 메모리부로의 데이터 보존(retention)에 따라 유사하게 수행된다. 즉, 하나의 소스로부터 혼합된 데이터는 각 메모리부에 기록된다.
세 개의 데이터 풀에 의한 값들의 분포의 법칙은 이하와 같이 결정된다.
*RF-소스: 5개의 연속적인 샘들들에 대해서*
-제1 데이터 풀의 두개의 샘플들,
-제2 데이터 풀의 두개의 샘플들, 및
-제3 데이터 풀의 하나의 샘플
*SR-소스: 7개의 연속적인 샘플들에 대해서*
-제1 데이터 풀의 네개의 샘플들
-제2 데이터 풀의 두개의 샘플들
-제3 데이터 풀의 하나의 샘플
*FU 소스: 5개의 연속적인 샘플들에 대해서*
-제1 데이터 풀의 세개의 샘플들
-제2 데이터 풀의 두개의 샘플들
* SU 소스: 7개의 연속적인 샘플들에 대해서*
-제1 데이터 풀의 다섯개의 샘플들
-제2 데이터 풀의 두개의 샘플들
그러므로, 예를 들어, 만약 8개의 소스들이 4개의 신뢰할만한 소스들과 4개의 신뢰할만하지 않은 소스들로 이루어져 있다면, 제1 및 제2 데이터 풀은 각각 유사한 서브 풀을갖고 있는 것이다(S245).
제 3 데이터 풀은 네 개의 서브 데이터 풀로 구성되어 있다. 전술한 동작을 수행한 후, 씨드값 생성장치(100)는 이하와 같이 요구되는 실행을 제어한다.
a) 적어도 세 개의 전술한 소스들에 대해서, 현재 엔트로피 추정값들의 전술한 합은 128을 넘어서는 안된다. 그리고, 하나의 전술한 소스는 빠르고 신뢰할만하거나, 또는 느리고 신뢰할만하여야 한다.
b) 각 전술한 소스들에 대해서, 엔트로피 추정값의 전술한 합은 128을 넘어서는 안된다. 모든 소스들은 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
c) 각각의 전술한 소스들에 대해서, 보존적인 엔트로피 추정값들의 합들은 128보다 작아서는 안된다. 여기서 모든 소스들은 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
요구가 충족이 되었다면(S250), 씨드값 생성장치(100)는 의사 난수 발생기를 위한 새로운 씨드값을 생성한다(S255). 새로운 씨드값을 생성하기 위해서, 씨드값 생성장치(100)는 제1 및 제2 데이터 풀의 적절한 메모리부에 저장된 전술한 혼합된 압축데이터 및 제1 및 제2 데이터 풀의 전술한 메모리부로부터 추출된 결합데이터의 반복적인 원형 해쉬를 수행하는 의사 난수발생기의 이전의 씨드값과 이전의 씨드값을 결합한다.
의사난수발생기를 위한 새로운 씨드값을 생성하기 위해서 , 씨드값 생성장치(100)는 이를 테면, 프린터와 같은 장치의 스위치 온 순간에서만 제3 데이터 풀의 내용을 사용한다. 좀 더 상세하게 데이터 결합 및 전달받은 데이터 해쉬과정의 단계들을 살펴보기로 한다.
전술하였듯이, 적절한 소스들의 혼합된 압축데이터는 제1 및 제2데이터 풀내에 저장된다. 각 청크들은 256비트의 크기를 갖는다. 의사 난수 발생기의 이전의 씨드값은 또한 256비트의 크기를 갖는다.
그러므로, 연접한 이후의 비트 시퀀스 길이는 768이 된다. SHA-256 함수에 근거한 반복적인 원형 해쉬는 혼합 절차와 유사한 제2 단계에서 수행된다. 512비트의 청크는 해쉬함수의 입력값으로 전달된다. 그 다음, 입력 청크의 첫 번째 256비트는 해쉬 결과값을 대체한다. 계산방법은 256비트로의 고정된 이동과 함께 입력 시퀀스의 일렬 데이터 해쉬이다.
해쉬함수를 ‘H(.)’로 표시하며, 입력블록은 ‘Bi’로 표시하며, 두개의 서 브블록들은 ‘Si1’와 ‘Si2’로 표시한다. 즉, 이로 인해 ‘Bi = Si1||Si2’가 성립될 것이다. 768비트길이의 입력 스트링이 하나의 블록‘B1’과 하나의 서브블록 ‘S21’로 구성되어 있다고 가정한다.
그러므로, 만약, 해쉬결과가 블록‘B1'에 적용된다면, ’H(B1)||S12||S21‘라는 결과가 얻어질 것이다. 다음 단계에서, 해쉬 함수를 블록’S12||S21‘에 적용할 것이다. 이 결과는 ’H(B1)||H(S12||S21)||S21‘가 될 것이다.
마지막 단계에서, 해쉬 함수를 제1 및 제2 서브 블록의 연접에 'H(B1)||H(S12||S21)||H(H(B1)||S21)'결과와 함게 적용할 것이다. 완전한 갱신을 위해서는 세 번의 반복이 수행되어야 한다. 두 번재 반복의 후에 결과는 다음과 같을 것이다.
‘H(H(B1)||H(S12||S21))||H(H(S12||S21)||H(H(B1)||S21))||H(H(B1)||S21)||H(H(B1)||H(S12||S21)))’
512비트의 블록해쉬는 프린팅 장치의 스위칭순간에 씨드값의 갱신의 경우에 수행된다. 씨드값 생성장치(100)는 의사 난수발생기로 새로운 씨드값을 전송한다. 새로운 씨드값에 근거하여, 의사 난수 발생기는 새로운 의사 난수를 발생한다. 발생된 의사난수는 패스워드 및 암호키를 생성하는데 사용된다.
전술한 방법은 씨드값 생성장치(100)에 의해서 구현된다.
다시 도 1을 참조하면, 본 발명에 따른, 씨드값 생성장치(100)는 데이터 소스분석 및 현재 엔트로피 추정값 계산을 위한 분석부(130), 데이터 압축부(140), 데이터 혼합부(150), 엔트로피 추정값 합산부(160), 데이터 축적 및 엔트로피 추정 값 생성부(170), 새로운 씨드값 생성부(180), 및 의사 난수 발생기로의 씨드값 출력부(190)를 포함한다. 아울러 도 1은 데이터 소스(120) 또한 나타내고 있다.
본 발명에 따른 씨드값 생성장치(100)의 각 구성별 기능에 대해서 상술하기로 한다. 도 1에서 데이터 소스 분석부(130)는 서로 다른 랜덤 프로세스들을 나타내는 다양한 소스들로부터의 데이터를 수신하고, 수신된 데이터에 근거하여 소스 유형을 결정하도록 설계된다.
상기 데이터 압축부(140)는 상기 수신한 데이터를 압축하고, 압축된 데이터를 상기 데이터 혼합부(150)로 전송한다. 상기 데이터 혼합부(150)는 상기 각 소스의 압축된 데이터를 혼합하도록 설계된다.
상기 엔트로피 추정값 합산부(160)는 상기 각 소스에 대한 현재 엔트로피 추정값을 합산한다. 상기 데이터 축적 및 엔트로피 추정값 생성부(170)는 두개의 엔트로피 추정값 연산부, 두개의 합산부 및 각각 다수의 메모리부들로 구성되는 세 개의 영역으로 나뉘어지는 메모리를 포함한다. 한편, 메모리부의 양은 소스의 수자에 의존한다.
여기서, 두개의 엔트로피 추정값 연산부 중 제 1 엔트로피 추정값 연산부는 각 데이터 소스에 대해서 상기 분석부(130)로부터 수신한 현재 엔트로피 추정값에 근거하여 상기 엔트로피 추정값을 계산하며, 현재 엔트로피 추정값을 계산한다.
또한 두개의 합산부 중 제1 합산부는 각각의 소스에 대하여, 상기 엔트로피 추정값들의 합에 의하여 주어진 엔트로피 추정값의 합을 계산한다.
제2 엔트로피 추정값 연산부는 상기 제1 엔트로피 추정값 연산부로부터 받은 상기 엔트로피 추정값들의 숫자로부터 선택된 매개 값들에 근거하여, 각각의 신뢰할만한 소스에 대한 보존적인 엔트로피 추정값들의 계산을 수행한다.
상기 합산부는 각 신뢰할만한 소스에 대해서, 상기 제2 엔트로피 추정값 연산부로부터 연산된 상기 상기 주어진 소스의 보존적인 엔트로피 추정값을 합함으로서, 보존적인 엔트로피 추정값들의 합을 계산한다.
상기 메모리는 상기 데이터 압축부(140) 및 상기 데이터 혼합부(150)로부터의 압축 및 혼합의 상기 결과와 상기 엔트로피 추정값을 보존(retention)한다. 여기서, 모든 상기 소스들에 대한 혼합결과들은 제1 데이터 풀의 메모리부에 기록된다. 신뢰할만한 소스들로부터의 데이터 혼합결과들은 제2 및 제3 데이터 풀의 메모리부에 기록된다.
게다가, 제1 데이터 풀은 상기 상기 현재 엔트로피 추정값들을 보존(retention)하며, 제2 데이터 풀은 상기 제1 엔트로피 추정값 연산부로부터 얻어진 상기 엔트로피 추정값들을 보존하고, 제3 데이터 풀은 상기 제2 엔트로피 추정값 연산부로부터 얻어진 상기 보존적인 엔트로피 추정값들을 기록한다.
상기 씨드값 생성 장치는 이하와 같은 특성의 수행을 제어한다.
a) 적어도 세 개의 소스들에 대해서, 제1 데이터 풀내의 현재 엔트로피 추정값들의 합은 128보다 작아서는 안된다. 상기 소스들 중 하나는 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
b) 상기 소스각각에 대해서, 제2 데이터 풀의 엔트로피 결과의 합은 128보다 작아서는 안된다. 모든 소스들은 빠르고, 신뢰하만하거나, 느리고 신뢰할만하여야 한다.
c) 상기 각각의 소스에 대해서 , 제3 데이터 풀의 상기 엔트로피 추정값들의 합은 128보다 작아서는 안된다. 모든 상기 소스들은 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
d) 여기서, 상기 조건을 만족하기 위해서, 상기 의사 난수 발생기를 위한 새로운 씨드값을 생성하는 새로운 씨드값 생성부(180)는 제1 및 제2 데이터 풀내의 적절한 메모리부에 저장된 상기 혼합 결과와 풀내의 데이터에 대한 반복 원형 해쉬의 적용에 의한 의사 난수 발생기의 이전의 씨드값의 의 부가적인 혼합에 의해서, 새로운 씨드값을 생성한다.
e) 상기 씨드값 출력부(190)는 새로운 씨드값 생성부(180)로부터의 새로운 씨드값을 수신하고, 이를 의사 난수발생기로 전송한다.
데이터 소스(120)을 제외한 각 구성들은 하드웨어 또는 소프트웨어적으로 구성될 수 있다. 여기서, 데이터 소스분석부(130)가 AND 및 OR 요소에 근거하여 하드웨어 구현이 된다면, 그것은 프로세서나 어떤 조합적인 회로를 나타낼 것이다.
한편, 데이터 소스 분석부(130)내의 랜덤 이벤트 출현빈도 등록부는 데이터 소스 분석부(130)내에 존재하지 하지 않고, 외부에 존재할수도 있을 것이며, 이 경우 동작원리는 다음과 같다.
먼저, 데이터 소스 분석부(130)는 상술한 다양한 프로세스들을 대변하는 다양한 데이터 소스들(120)로부터 데이터를 받는다. 수신한 데이터에 근거하여 전술한 방법을 적용하며, 데이터 소스 분석부(130)는 또한 상기 각 소스에 대한 현재 엔트로피 추정값을 계산한다.
데이터 소스 분석부(130)는 현재 추정값을 계산하기 위해 랜덤 이벤트 출현빈도 등록부로부터 데이터를 받는다. 데이터 소스 분석부(130)는 받은 데이터에 근거하여 현재 출현빈도를 계산한다.
현재 엔트로피 추정값은 엔트로피 추정값 합산부(160)로 전달된다. 엔트로피 추정값 합산부(160)는 현재 엔트로피 추정값에 근거하여 각 소스(120)에 대해서 수신한 현재 엔트로피 추정값을 합산한다.
엔트로피 추정값 합산부(160)는 합산된 추정값을 데이터 축적 및 엔트로피 추정값 생성부(170)로 전송한다. 데이터 축적 및 엔트로피 추정값 생성부(170)는 이하와 같이 동작한다.
데이터 축적 및 엔트로피 추정값 생성부(170)에 포함된 제1 엔트로피 추정값 생성부(170)는 전술한 소스유형에 대한 분석부(130)로부터 주어진 데이터 소스의 현재 엔트로피 추정값에 근거하여 각 데이터 소스에 대한 전술한 엔트로피 추정값을 계산한다.
이러한 추정값의 계산은 이미 상술하였다. 이러한 추정값들은 제1 합산부로 전송된다. 합산부는 전술한 데이터 소스의 전술한 엔트로피 추정값의 합산을 통해 각 데이터 소스에 대한 엔트로피 추정값의 합을 계산한다.
제2 엔트로피 추정값 연산부는 각 신뢰할만한 소스에 대해 엔트로피 추정값의 숫자로부터 매개값들을 선택한다. 그 다음 각 신뢰할만한 데이터 소스에 대해서 선택된 매개값에 근거하여 보존적인 엔트로피 추정값들을 계산한다. 여기서의 계산 적인 알고리즘은 위에서 이미 상술하였다.
제2 합산부는 각 신뢰할만한 데이터 소스에 대해서 제2 엔트로피 추정값 연산부에 의해서 계산된 주어진 소스의 전술한 보존적인 엔트로피 추정값들의 합에 의해서 보존적인 엔트로피 추정값들을 합산한다.
데이터 압축부(140)는 데이터를 소스들(120)로부터 얻는다. 데이터 압축부(140)는 전술한 방법에 의해서 데이터를 압축한다. 데이터 압축부(140)로부터 압축된 데이터는 수신된 데이터를 혼합하는 데이터 혼합부(150)으로 전송된다. 혼합절차 및 실행상태는 이미 상술하였다.
메모리는 데이터 소스 분석부(130) 및 엔트로피 추정값 합산부(160)로부터의 전술한 엔트로피 추정값들 및 데이터 혼합부(150)로부터의 혼합된 압축 데이터를 기록한다.
모든 전술한 소스들에 대한 혼합된 압축 데이터는 제1 데이터 풀의 메모리부에 기록된다. 신뢰할만한 소스들로부터의 혼합된 압축 데이터는 제2 및 제3 데이터 풀의 메모리부에 기록된다.
메모리에 기록하는 것은 이미 상술한 방법에 따라 수행된다. 그리고 특별히 전술한 소스(120) 중 하나로부터의 혼합된 압축 데이터는 상기 각 메모리부에 기록된다.
또한, 데이터 소스 분석부(130)에서 생성된 현재 엔트로피 추정값은 제3 데이터 풀의 적절한 메모리부에 등록된다. 제1 엔트로피 추정값 연산부에서 생성된 전술한 엔트로피 추정값은 제2 데이터 풀의 적절한 메모리부에 등록된다.
제1 엔트로피 추정값 연산부에서 얻은 전술한 엔트로피 추정값은 제2 데이터 풀의 적절한 메모리부에 등록된다. 제2 엔트로피 추정값 연산부에서 생성된 전술한 엔트로피 추정값들은 제3 데이터 풀의 적절한 메모리부에 등록된다.
데이터 축적 및 엔트로피 추정값 생성부(170) 및 데이터 혼합부(150)에 생성된 데이터는 씨드값 생성부(180)로 전송된다. 씨드값 생성부(180)는 다음과 같이 실행의 상태를 제어한다.
a) 적어도 제3의 소스에 대해서, 제1 데이터 풀에서의 현재 엔트로피 추정값의 합은 128보다 작아서는 안된다. 전술한 소스들중 하나는 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
b) 제2 데이터 풀의 전술한 엔트로피 추정값들의 합은 전술한 소스 각각에 대해서 128보다 작어서는 안된다. 모든 전술한 소스들은 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
c) 제3 데이터 풀의 전술한 엔트로피 추정값들의 합은 전술한 소스들 각각에 대해서 128보다 작아서는 안된다. 모든 전술한 소스들은 빠르고 신뢰할만하거나, 느리고 신뢰할만하여야 한다.
요구조건이 충족된다면, 새로운 씨드값 생성부(180)는 데이터 및 임시의 씨드값을 반복 원형 해쉬하여, 제1 및 제2 데이터 풀의 적절한 메모리부에 저장된 전술한 혼합된 압축 데이터와 의사 난수 발생기를 위한 이전의 씨드값을 결합함으로서, 의사 난수 발생기를 위한 새로운 씨드값을 생성한다.
씨드값 생성 장치에 있어서의 방법은 이미 상술하였다.새로운 씨드값이 생성 되면, 새로운 씨드값 생성부(180)는 생성된 값을 씨드값 출력부(190)로 전송한다. 시드 값 출력부(190)는 새로운 씨드값을 의사 난수 발생기로 전송한다.
의사 난수 발생기는 새로운 씨드값에 근거하여 새로운 의사 난수를 생성한다. 이러한 난수에 근거하여 , 패스워드 및 암호 키등이 생성된다.
이상 설명한 바와 같이, 본 발명에 따르면, 씨드 값을 생성함에 있어서, 랜덤 소스 비율의 동적 추정값의 제공, 느리고 빠른지 여부에 따른 소스들의 유형분류, 신뢰할만한지 신뢰할만하지 않은지에 따른 소스들의 유형분류 및 소스들의 비율 및 신뢰도를 고려할 수 있게 된다.
또한, 이상에서는 본 발명의 바람직한 실시예 및 응용예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예 및 응용예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (13)

  1. 의사 난수 발생기에 사용되는 씨드값 생성방법에 있어서,
    다양한 외부의 소스들로부터의 데이터를 제1 데이터 풀의 메모리 부에 축적하는 단계;
    상기 데이터의 소스 유형을 분석하는 단계 ;
    상기 분석된 소스 유형에 근거하여 상기 각 소스에 대한 엔트로피 추정값들을 계산하는 단계; 및
    상기 엔트로피 추정값들 및 상기 제1 데이터 풀의 메모리부에 축적된 상기 데이터를 이용하여 씨드값을 생성하는 단계;를 포함하는 것을 특징으로 하는 씨드값 생성방법.
  2. 제 1항에 있어서,
    상기 데이터는 무선 로컬 네트워크(WLAN)에서의 신호레벨값, 로컬 네트워크에서의 입력패킷간의 간격, 로컬 네트워크로부터의 출력패킷간의 간격, 인터럽트의 간격 및 상기 인터럽트의 양 중의 어느 하나인 것을 특징으로 하는 씨드값 생성방법.
  3. 제 2항에 있어서,
    상기 씨드값의 생성은 외부장치의 스위칭 시점에 이루어지는 것을 특징으로 하는 씨드값 생성방법.
  4. 제 3항에 있어서,
    상기 제1 데이터 풀은 랜덤 엑세스에서의 메모리 배열의 연속된 주소 공간의 세그먼트를 나타내는 것을 특징으로 하는 씨드값 생성방법.
  5. 제 4항에 있어서,
    상기 엔트로피 추정값은 다음의 식에 의해서 산출되는 것을 특징으로 하는 씨드값 생성방법.
    Figure 112005053402340-pat00007
    여기서, Pi는 특정 시간구간내의 랜덤 이벤트 생성의 출현빈도에 근거하여 계산되는 확률값.
  6. 제 5항에 있어서,
    상기 소스 유형은 빠르고 신뢰할만한 것, 느리고 신뢰할만한 것, 빠르고 신뢰할만하지 않은 것 및 느리고 신뢰할만하지 않은 것 중 어느 하나에 해당하는 것을 특징으로 하는 씨드값 생성방법.
  7. 의사 난수 발생기에 사용되는 씨드값 생성장치에 있어서,
    소스들로부터의 데이터를 수신하고, 수신된 데이터에 근거하여 상기 소스 유형을 결정하며, 상기 각 소스에 대한 엔트로피 계산을 수행하는 데이터 소스 분석부;
    상기 수신한 데이터를 압축하는 데이터 압축부;
    상기 데이터 압축부로부터 압축된 데이터를 수신한 후 혼합하는 데이터 혼합부;
    상기 각 소스에 대한 상기 엔트로피 추정값을 합산하는 엔트로피 추정값 합산부;
    상기 소스로부터의 데이터를 축적하는 데이터 축적 및 엔트로피 추정값 생성부; 및
    상기 엔트로피 추정값들 및 상기 축적된 데이터를 이용하여 씨드값을 생성하는 씨드값 생성부;를 포함하는 것을 특징으로 하는 씨드값 생성장치.
  8. 제 7항에 있어서,
    상기 데이터는 무선 로컬 네트워크(WLAN)에서의 신호레벨값, 로컬 네트워크에서의 입력패킷간의 간격, 로컬 네트워크로부터의 출력패킷간의 간격, 인터럽트의 간격 및 상기 인터럽트의 양 중의 어느 하나인 것을 특징으로 하는 씨드값 생성장치.
  9. 제 8항에 있어서,
    상기 씨드값 생성부는 상기 로컬 네트워크의 구성인 외부장치의 스위칭 시점에 씨드값을 생성하는 것을 특징으로 하는 씨드값 생성장치.
  10. 제 9항에 있어서,
    상기 분석부는 결정된 시간 구간내에 상기 소스들의 랜덤 이벤트의 등록을 하는 랜덤 이벤트 출현빈도 등록부; 및 상기 출현빈도에 근거하여 다음의 식에 따라 엔트로피 추정값들을 계산하는 엔트로피 추정값 계산부;를 포함하는 것을 특징으로 하는 씨드값 생성장치.
    Figure 112005053402340-pat00008
    여기서, Pi는 특정 시간구간내의 랜덤 이벤트 생성의 출현빈도에 근거하여 계산되는 확률값.
  11. 제 9항에 있어서,
    상기 데이터 소스 분석부는 상기 소스의 랜덤 이벤트 출현빈도에 근거하여 다음의 식에 따라 상기 현재 엔트로피 추정값을 계산하는 것을 특징으로 하는 씨드값 생성장치.
    Figure 112005053402340-pat00009
    여기서, Pi는 특정 시간구간내의 랜덤 이벤트 생성의 출현빈도에 근거하여 계산되는 확률값.
  12. 제 10항에 있어서,
    상기 출현빈도는 랜덤 이벤트의 출현빈도 등록을 위한 외부 장치에 등록되어 있는 것을 특징으로 하는 씨드값 생성장치.
  13. 제 12항에 있어서,
    상기 소스 유형은 빠르고 신뢰할만한 것, 느리고 신뢰할만한 것, 빠르고 신뢰할만하지 않은 것 및 느리고 신뢰할만하지 않은 것 중 어느 하나에 해당하는 것을 특징으로 하는 씨드값 생성장치.
KR1020050088963A 2004-09-27 2005-09-23 의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치 KR100659610B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
RU2004128637/09A RU2292074C2 (ru) 2004-09-27 2004-09-27 Способ и устройство формирования стартового значения для генератора псевдослучайных чисел
KR1020050088963A KR100659610B1 (ko) 2004-09-27 2005-09-23 의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치
US11/235,546 US7773748B2 (en) 2004-09-27 2005-09-27 Method for making seed value used in pseudo random number gnerator and device thereof

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
RURU2004128637 2004-09-27
RU2004128637/09A RU2292074C2 (ru) 2004-09-27 2004-09-27 Способ и устройство формирования стартового значения для генератора псевдослучайных чисел
KR1020050088963A KR100659610B1 (ko) 2004-09-27 2005-09-23 의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치

Publications (2)

Publication Number Publication Date
KR20060051618A KR20060051618A (ko) 2006-05-19
KR100659610B1 true KR100659610B1 (ko) 2006-12-21

Family

ID=36099120

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050088963A KR100659610B1 (ko) 2004-09-27 2005-09-23 의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치

Country Status (3)

Country Link
US (1) US7773748B2 (ko)
KR (1) KR100659610B1 (ko)
RU (1) RU2292074C2 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2151086B1 (en) * 2007-04-30 2017-06-07 Telefonaktiebolaget LM Ericsson (publ) Method for establishing a random number for security and encryption, and a communications apparatus
US7717625B2 (en) * 2007-08-13 2010-05-18 Illum Technologies, Inc. High density fiber optic interconnect system with push-release mechanism and method for using same
US8250127B2 (en) * 2008-01-07 2012-08-21 Aruba Networks, Inc. Harvesting entropy from trusted cryptographic sources
JP5519646B2 (ja) * 2008-06-02 2014-06-11 ポリバロー リミテッド パートナーシップ ファイルの存在検出とモニタリング
US8189778B2 (en) * 2008-07-07 2012-05-29 General Instrument Corporation Adaptive generation of a pseudo random number generator seed
US9026571B2 (en) * 2008-10-27 2015-05-05 Microsoft Technology Licensing, Llc Random number generation failure detection and entropy estimation
US8209597B2 (en) * 2009-03-23 2012-06-26 Cognitive Electronics, Inc. System and method for achieving improved accuracy from efficient computer architectures
US8635260B2 (en) * 2009-12-02 2014-01-21 Seagate Technology Llc Random number generator incorporating channel filter coefficients
EP2715968A4 (en) * 2011-05-26 2015-08-12 Certicom Corp RANDOM FOR ENCRYPTION OPERATIONS
US8787564B2 (en) 2011-11-30 2014-07-22 Certicom Corp. Assessing cryptographic entropy
EP3605940B1 (en) * 2011-11-30 2021-06-02 BlackBerry Limited Assessing cryptographic entropy
RU2556430C2 (ru) * 2012-08-02 2015-07-10 Федеральное государственное бюджетное учреждение науки Институт теоретической физики им. Л.Д. Ландау Российской академии наук Способ генерации параллельных потоков псевдослучайных чисел и устройства для его осуществления (2 варианта)
US9449197B2 (en) * 2013-06-13 2016-09-20 Global Foundries Inc. Pooling entropy to facilitate mobile device-based true random number generation
JP6176076B2 (ja) * 2013-11-22 2017-08-09 富士通株式会社 物理乱数生成装置、物理乱数生成方法、及び物理乱数生成システム
US9658832B2 (en) * 2015-05-18 2017-05-23 Red Hat Israel, Ltd. Multi-factor entropy sourcing for random number generators
US9887834B1 (en) * 2015-05-27 2018-02-06 Citigroup Technology, Inc. Data deduplication and compression evaluation methods and systems
US10075291B1 (en) 2015-05-27 2018-09-11 Citigroup Technology, Inc. Data deduplication and compression evaluation methods and systems
EP3525085A1 (en) * 2018-02-12 2019-08-14 Siemens Aktiengesellschaft Testing of physical random number generators
CN110825922B (zh) * 2018-08-14 2020-08-04 阿里巴巴集团控股有限公司 数据统计方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182145A (ja) * 1993-12-22 1995-07-21 Ricoh Co Ltd 乱数の初期値生成装置
JP2000242470A (ja) 1999-02-23 2000-09-08 Matsushita Electric Ind Co Ltd 乱数生成装置および方法および記録媒体
US20030037079A1 (en) 2001-08-15 2003-02-20 Wilber Scott A. True random number generator and entropy calculation device and method
JP2003099245A (ja) 2001-09-21 2003-04-04 Sharp Corp 乱数発生装置
KR20030054756A (ko) * 2001-12-26 2003-07-02 한국전자통신연구원 의사 난수 발생 장치 및 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE60125139D1 (de) * 2001-01-16 2007-01-25 Ericsson Telefon Ab L M Zufallszahlengenerator basierend auf Komprimierung
US20020131592A1 (en) * 2001-03-16 2002-09-19 Harris Hinnant Entropy sources for encryption key generation
US6675126B2 (en) * 2001-03-27 2004-01-06 Kabushiki Kaisha Toyota Chuo Kenkyusho Method, computer program, and storage medium for estimating randomness of function of representative value of random variable by the use of gradient of same function
US20030063742A1 (en) * 2001-09-28 2003-04-03 Neufeld E. David Method and apparatus for generating a strong random number for use in a security subsystem for a processor-based device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07182145A (ja) * 1993-12-22 1995-07-21 Ricoh Co Ltd 乱数の初期値生成装置
JP2000242470A (ja) 1999-02-23 2000-09-08 Matsushita Electric Ind Co Ltd 乱数生成装置および方法および記録媒体
US20030037079A1 (en) 2001-08-15 2003-02-20 Wilber Scott A. True random number generator and entropy calculation device and method
JP2003099245A (ja) 2001-09-21 2003-04-04 Sharp Corp 乱数発生装置
KR20030054756A (ko) * 2001-12-26 2003-07-02 한국전자통신연구원 의사 난수 발생 장치 및 방법

Also Published As

Publication number Publication date
US7773748B2 (en) 2010-08-10
RU2004128637A (ru) 2006-03-10
KR20060051618A (ko) 2006-05-19
US20060067527A1 (en) 2006-03-30
RU2292074C2 (ru) 2007-01-20

Similar Documents

Publication Publication Date Title
KR100659610B1 (ko) 의사 난수 발생기에서의 씨드값 생성방법 및 그 생성장치
US8189778B2 (en) Adaptive generation of a pseudo random number generator seed
US6947960B2 (en) Randomness test utilizing auto-correlation
JP2005529364A (ja) 擬似乱数生成器の出力の予測不可能性を向上させる方法
Bronchain et al. Bitslicing arithmetic/Boolean masking conversions for fun and profit: with application to lattice-based KEMs
US6675113B2 (en) Monobit-run frequency on-line randomness test
Ashokkumar et al. Highly efficient algorithms for AES key retrieval in cache access attacks
Folláth Gaussian sampling in lattice based cryptography
Blocki et al. Bandwidth-hard functions: Reductions and lower bounds
Cabrera Aldaya et al. Side‐channel analysis of the modular inversion step in the RSA key generation algorithm
US20030200238A1 (en) Hadamard-transform on-line randomness test
Sathishkumar et al. A novel image encryption algorithm using pixel shuffling and base 64 encoding based chaotic block cipher (IMPSBEC)
US20030156713A1 (en) On-line randomness test for detecting irregular pattern
Lv et al. High-efficiency min-entropy estimation based on neural network for random number generators
Díaz et al. Security estimation in wireless sensor network simulator
Arribas et al. Glitch-resistant masking schemes as countermeasure against fault sensitivity Analysis
Smith et al. Methodology for simulated power analysis attacks on aes
US8411859B2 (en) Non-deterministic number generation
US7151829B2 (en) System and method for implementing a hash algorithm
Chakarov et al. Evaluation of the complexity of fully homomorphic encryption schemes in implementations of programs
Li Optimization of rainbow tables for practically cracking GSM A5/1 based on validated success rate modeling
Wang et al. Constructing Digitized Chaotic Time Series with a Guaranteed Enhanced Period
Sanap et al. Field Programmable Gate Array (FPGA) based implementation of efficient RC6 block cipher
Heys A timing attack on RC5
Omrani et al. A New Lightweight Encryption Approach for Correlated Content Exchange in Internet of Things

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee