KR101625857B1 - 난수 생성 장치 및 그 방법 - Google Patents
난수 생성 장치 및 그 방법 Download PDFInfo
- Publication number
- KR101625857B1 KR101625857B1 KR1020090027043A KR20090027043A KR101625857B1 KR 101625857 B1 KR101625857 B1 KR 101625857B1 KR 1020090027043 A KR1020090027043 A KR 1020090027043A KR 20090027043 A KR20090027043 A KR 20090027043A KR 101625857 B1 KR101625857 B1 KR 101625857B1
- Authority
- KR
- South Korea
- Prior art keywords
- random number
- noise
- bit
- random
- digital signals
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000005070 sampling Methods 0.000 claims description 40
- 239000000284 extract Substances 0.000 claims description 18
- 238000013500 data storage Methods 0.000 claims description 10
- 230000035939 shock Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/588—Random number generators, i.e. based on natural stochastic processes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
Description
한편, 최근에 들어 하드 디스크 드라이브는 랜덤 액세스가 가능하고 데이터 전송 속도가 우수하며 다른 보조 기억 장치들에 비해 저가이면서도 대용량화가 용이하다는 장점으로 인하여 멀티미디어 데이터 저장을 위해 많이 사용되고 있는 추세이다.
이러한 하드 디스크 드라이브의 사용이 증가함에 따라 하드 디스크 드라이브에 저장된 데이터에 대한 보안 문제가 중요한 이슈로 떠오르고 있으며, 따라서 하드 디스크 드라이브에 저장된 데이터 등을 암호화하거나 사용자 인증 등의 절차를 수행하는 경우가 상당히 증가하고 있다.
하지만, 상기 암호화 또는 사용자 인증 등에 필요한 난수를 생성함에 있어서 난수 생성 속도의 한계가 존재하고, 이는 암호화 시스템 또는 보안 시스템의 성능을 향상시키는데 있어서 제약 사항이 되고 있다.
상기 난수를 생성하는 단계는, b-1) 추출된 상기 복수 개의 디지털 신호들 각각으로부터 노이즈 비트를 추출하는 단계; b-2) 추출된 상기 노이즈 비트를 이용하여 랜덤 워드를 생성하는 단계; 및 b-3) 생성된 상기 랜덤 워드를 적어도 한번 샘플링하여 상기 난수를 생성하는 단계를 포함할 수 있다.
상기 노이즈 비트를 추출하는 단계는, 추출된 상기 복수 개의 디지털 신호들 각각의 최하위 비트로부터 상기 노이즈 비트를 추출하는 단계일 수 있다.
상기 난수 생성 방법은, (c) 생성된 상기 난수가 소수인지 여부를 판단하는 단계; 및 (d) 판단 결과 생성된 상기 난수가 소수가 아니면 상기 (a) 단계 내지 상기 (c) 단계를 반복하는 단계를 더 포함할 수 있다.
상기의 기술적 과제를 해결하기 위한 난수 생성 장치는, 스토리지 장치 내에 존재하는 복수 개의 디지털 신호들을 추출하기 위한 신호 추출부; 및 상기 신호 추출부에서 추출된 상기 복수 개의 디지털 신호들에 기초하여 난수를 생성하기 위한 난수 생성부를 포함할 수 있다.
상기 난수 생성부는, 상기 복수 개의 디지털 신호들 각각으로부터 노이즈 비트를 추출하기 위한 노이즈 비트 추출부; 상기 노이즈 비트 추출부에서 추출된 상기 노이즈 비트를 이용하여 랜덤 워드를 생성하기 위한 랜덤 워드 생성부; 및 상기 랜덤 워드 생성부에서 생성된 상기 랜덤 워드를 샘플링하여 상기 난수를 생성하기 위한 샘플링부를 포함할 수 있다.
상기 노이즈 비트 추출부는, 상기 복수 개의 디지털 신호들 각각의 최하위비트로부터 상기 노이즈 비트를 추출할 수 있다.
상기 샘플링부는, 상기 랜덤 워드를 각각 상이한 시간에 복수 회 샘플링하여 상기 난수를 생성할 수 있다.
상기 난수 생성 장치는, 상기 신호 추출부 및 상기 난수 생성부를 제어하기 위한 제어부를 더 포함하고, 상기 제어부는 생성된 상기 난수가 소수가 아닐 경우에 생성된 상기 난수를 파기하고 새로운 난수를 생성하도록 상기 신호 추출부 및 상기 난수 생성부를 제어할 수 있다.
상기 스토리지 장치는 하드 디스크 드라이브이고, 상기 복수 개의 디지털 신호들은, 위치 에러 신호(position error signal), 스핀들 속도 에러 신호(spindle speed error signal), 리드 채널 신호(read channel signal), 온도 신호(temperature signal), 프리폴 센서 신호(freefall sensor signal), 및 쇼크 센서 신호(shock sensor signal) 중에서 적어도 하나를 포함할 수 있다.
또한, 본 발명의 실시예에 따른 난수 생성 방법 또는 장치는, 스토리지 장치의 보안 시스템 또는 암호화 시스템의 성능을 상당히 향상시킬 수 있다.
본 발명의 개념에 따른 실시예는 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있으므로 특정 실시예들은 도면에 예시하고 본 명세서 또는 출원에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시 형태에 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제1 및/또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 한정되지는 않는다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소들로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떠한 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떠한 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 또는 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하기 위한 다른 표현들, 즉 '∼사이에'와 '바로 ∼사이에' 또는 '∼에 이웃하는'과 '∼에 직접 이웃하는' 등의 표현도 마찬가지로 해석되어야 한다.
본 명세서에서 사용하는 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서 '포함하다' 또는 '가지다' 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전의 정의 되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명하도록 한다.
도 1은 스토리지 장치 내에 존재하는 신호들에 포함된 노이즈에 대한 주파수별 스펙트럼(spectrum) 성분을 나타내는 그래프이다.
본 발명에 따른 실시예에서는 본 발명의 용이한 이해를 위하여 상기 스토리지 장치로서 하드 디스크 드라이브(hard disk drive)를 예시하고 있지만 본 발명에 따른 실시예는 이에 한정되지 않고, 본 발명에 따른 실시예는 솔리드 스테이트 드라이브(SSD; solid state drive), 불휘발성 메모리(NVM; non-volatile memory), 휘발성 메모리(VM; volatile momery), 광학디스크드라이브(ODD; optical disk drive) 등에 모두 적용될 수 있다.
본 발명의 실시예에 따른 난수 생성 방법은 스토리지 장치(예컨대, 하드 디스크 드라이브) 내에 존재하는 디지털 신호들에 기초하여 난수를 생성할 수 있다. 스토리지 장치 내에는 상기 스토리지 장치를 구동하기 위한 다수의 신호들이 존재할 수 있으며, 각 신호에는 노이즈가 포함되어 있다.
상기 하드 디스크 드라이브에 존재하는 상기 노이즈는 화이트 노이즈(white noise, 백색 잡음)에 근접하며, 따라서 주파수 대역(예컨대, 가청 주파수 대역) 내에서 주파수별 노이즈 성분이 실질적으로 일정할 수 있다.
즉, 노이즈 성분이 주파수별로 일정하게 분포하기 때문에 상기 노이즈의 랜덤성(randomness)이 우수하며, 그 결과 본 발명에 따른 실시예는 상기 다수의 신호들에 포함되어 있는 노이즈들에 기초하여 난수를 생성할 수 있다.
도 1에 도시된 바와 같이, 노이즈는 주파수 대역(도 1에서는 약 100Hz 내지 20KHz)에서 노이즈 성분이 일정하게 분포되는 것을 알 수 있으며, 이러한 노이즈의 특징으로 인하여 난수의 랜덤성이 상당히 개선될 수 있다. 노이즈를 이용하여 난수를 생성하는 구체적인 방법이나 장치에 대해서는 도 2에서 상술하기로 한다.
도 2는 본 발명의 실시예에 따른 난수 생성 장치(1)의 개략적인 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 난수 생성 장치(1)는, 신호 추출부(20)와 난수 생성부(10)를 포함할 수 있다.
상기 신호 추출부(signal extracting unit, 20)는 스토리지 장치 내에 존재하는 복수 개의 디지털 신호들을 추출할 수 있다. 본 발명의 실시예예 따른 난수 생성 장치(1)는 외부의 신호들을 이용하지 않고 내부에 존재하는 다양한 신호들을 이용하여 난수를 생성할 수 있으며, 따라서 난수 생성 장치(1)의 복잡도를 상당히 낮출 수 있다.
예컨대, 상기 스토리지 장치로서 하드 디스크 드라이브를 예시할 경우에, 상기 신호 추출부(20)가 하드 디스크 드라이브에서 추출할 수 있는 상기 복수 개의 신호들은, 위치 에러 신호(position error signal), 스핀들 속도 에러 신호(spindle speed error signal), 리드 채널 신호(read channel signal), 온도 신호(temperature signal), 프리폴 센서 신호(freefall sensor signal), 및 쇼크 센서 신호(shock sensor signal) 중에서 적어도 하나를 포함할 수 있는데, 이러한 신호들은 상기의 특징을 갖는 노이즈들을 포함하고 있다.
상기 위치 에러 신호는 리드 채널 칩(read channel chip)의 서보 블록(servo block)으로부터 출력될 수 있으며, 데이터 독출 헤드의 트랙 오프 정도에 상응할 수 있다. 상기 스핀들 속도 에러 신호는 스핀들 모터(spindle motor)로부터 출력될 수 있으며, 스핀들 속도의 에러 값에 상응할 수 있다.
또한, 상기 리드 채널 신호는 상기 리드 채널 칩의 데이터 블록(data block)으로부터 출력될 수 있고, 상기 온도 신호는 프리앰프(preamp)로부터 출력될 수 있으며, 상기 프리폴 센서 신호는 프리폴 센서(freefall sensor)로부터 출력될 수 있고, 상기 쇼크 센서 신호는 쇼크 센서(shock sensor)로부터 출력될 수 있다.
또한, 상기 예시한 신호들은 하드 디스크 드라이브 내에서 디지털화되어 사용될 수도 있다. 이러한 경우에는 상기 신호 추출부(20)는 디지털화되어 있는 복수 개의 디지털 신호들을 추출하여 상기 난수 생성부(10)로 전송할 수 있다.
또한, 실시예에 따라, 예시한 신호들이 아날로그 타입으로 출력될 수도 있으며, 이 경우에 상기 신호 추출부(20)는 추출된 아날로그 신호를 디지털 신호로 변환하기 위한 아날로그-디지털 변환부(analog-digital conversion unit, 미도시)를 더 포함할 수도 있다.
또한, 상기 난수 생성부(10)는, 노이즈 비트 추출부(noise bit extracting unit, 11), 랜덤 워드 생성부(random word generating unit, 12), 및 샘플링부(sampling unit, 13)를 포함할 수 있다.
상기 노이즈 비트 추출부(11)는 상기 신호 추출부(20)에서 출력되는 다수의 디지털 신호들 각각으로부터 노이즈 비트를 추출할 수 있다. 보다 구체적으로, 상기 스토리지 장치에 존재하는 신호에는 노이즈 성분이 포함될 수 있는데, 일반적으로 노이즈의 크기는 노이즈를 제외한 신호의 크기보다 상당히 작다. 예컨대, 신호대잡음비(SNR; signal to noise)가 약 40dB의 값을 갖는 경우라면 본래 신호의 크기가 노이즈의 크기보다 약 100배 정도 크기 때문에, 이러한 신호들이 디지털 값으로 변환될 경우에 노이즈 성분은 상당히 적은 비중을 차지하게 된다.
즉, 스토리지 장치 내에 존재하는 임의의 신호를 디지털화할 경우에, 상기 노이즈 비트 추출부(11)는 디지털 신호의 최하위비트(LSB; least significant bit)를 노이즈 비트로 간주할 수 있다. 따라서, 이를 수학식으로 나타내면 다음과 같다.
상기 노이즈 비트 추출부(11)는 상기 디지털 신호로부터 최하위비트(LSB)만을 추출하여 추출된 최하위비트(LSB)를 상기 노이즈 비트로 간주하기 때문에, 상기 노이즈 비트는 1 비트 크기를 가질 수 있다.
또한, 본 발명에 따른 실시예는 복수 개의 디지털 신호들을 이용하여 난수를 생성하는 것을 특징으로 하는데, 상기한 노이즈 비트의 추출 동작이 상기 복수 개의 디지털 신호들에 모두 동일하게 적용될 수 있다.
따라서, 복수 개의 디지털 신호들을 이용하여 노이즈 비트를 추출할 경우에, 이를 수학식으로 나타내면 다음과 같다.
NB_2 = LSB(Digital Signal_2)
. .
. .
NB_N = LSB(Digital Signal_N)
상기 수학식 2는 N개의 디지털 신호들로부터 각각 노이즈 비트들(NB_1 내지 NB_N)을 추출할 때의 수식에 관한 것이며, 상기 랜덤 워드 생성부(12)는 상기 노이즈 비트 추출부(11)에서 출력된 상기 노이즈 비트들(NB_1 내지 NB_N)을 이용하여 랜덤 워드(random word)를 생성할 수 있다.
상기 노이즈 비트들(NB_1 내지 NB_N)이 합성되어 랜덤 워드를 생성하기 위한 수학식은 다음과 같다.
이때, 상기 다수의 디지털 신호들이 모두 서로 독립적(independent)이고 어떠한 연관성(correlation)도 존재하지 않기 때문에, 상기 다수의 노이즈 비트들(NB_1 내지 NB_N) 사이의 랜덤성이 상당히 커질 수 있다. 또한, 상기 랜덤 워드(RW)의 길이는 상기 합성에 사용된 상기 디지털 신호들의 개수와 동일하며(예컨대, N 비트), 따라서 난수 생성에 사용되는 디지털 신호들의 개수가 증가할수록 상기 랜덤 워드의 크기도 증가할 수 있다.
상기 랜덤 워드 생성부(12)에서 출력된 상기 랜덤 워드(RW)는 상기 샘플링부(13)로 전송될 수 있으며, 상기 샘플링부(13)는 상기 랜덤 워드(RW)에 대해 적어도 한번의 샘플링 동작을 수행하여 최종적인 난수를 생성할 수 있다. 보다 구체적으로, 데이터 암호화나 사용자 인증에 사용되는 키를 생성하기 위한 난수의 길이는 알고리즘의 키 길이와 동일해야 하는데, 상기 랜덤 워드 생성부(12)에서 생성된 난수의 길이(예컨대, M 비트)가 상기 키 길이보다 작으면 상기 샘플링부(13)는 상기 랜덤 워드(RW)를 다수 회 샘플링함으로써 상기 키 길이에 상응하는 난수를 생성할 수 있다. 상기 샘플링부(13)에서 출력된 상기 난수(RN)는 암호키 생성부(2)로 전송될 수 있으며, 상기 암호키 생성부(2)는 수신된 난수에 기초하여 데이터 암호화에 필요한 암호키(encryption key)를 생성할 수 있다.
또한, 상기 샘플링부(13)에 의한 복수 회의 샘플링 동작은 각각 상이한 시간에 수행될 수 있고, 따라서 다수의 랜덤 워드들 간에도 랜덤성이 보장될 수 있다. 상기 샘플링부(13)의 샘플링 연산을 수학식으로 나타내면 다음과 같다.
여기서, n은 샘플링 횟수를 나타내며, 수학식 4에서는 M번의 샘플링이 수행된 것을 예시하고 있다. 따라서, 상기 난수(RN)는 총 N×M 비트의 길이를 가질 수 있게 된다.
예컨대, 256비트의 크기를 갖는 난수를 생성하고자 할 경우에, 종래와 같이 단일의 디지털 신호만을 이용하면 상기 랜덤 워드(RW)가 1비트의 크기를 갖기 때문에, 256번의 샘플링 동작이 수행되어야만 하나의 난수가 생성될 수 있다.
하지만, 본 발명의 실시예에 다른 난수 생성 방법에 따르면 다수의 디지털 신호들(예컨대, 8개)을 이용하여 난수를 생성하기 때문에, 상기 랜덤 워드(RW)가 8비트의 크기를 갖고, 따라서 32번(= 256 / 8)의 샘플링 동작만이 수행되면 난수가 생성될 수 있다. 즉, 난수 생성에 사용되는 디지털 신호들의 개수에 비례하여 상기 난수의 생성 속도가 증가할 수 있다.
또한, 본 발명의 다른 실시예에 따르면, 상기 노이즈 비트 추출부(11)가 상기 다수의 디지털 신호들 각각으로부터 최하위비트(LSB)와 그 이전 비트(LSB-1)를 노이즈 비트로서 추출할 수 있고, 이 경우에는 노이즈 비트의 랜덤성이 다소 약화될 수는 있으나 랜덤 워드(RW)의 크기가 증가됨으로써 난수 생성 속도가 더욱 향상될 수 있는 효과가 있다.
본 발명에 따른 실시예에서는 상기 난수 생성에 사용되는 신호들로서, 위치 에러 신호(position error signal), 스핀들 속도 에러 신호(spindle speed error signal), 리드 채널 신호(read channel signal), 온도 신호(temperature signal), 프리폴 센서 신호(freefall sensor signal), 및 쇼크 센서 신호(shock sensor signal) 등을 예시하고 있지만 이는 본 발명의 용이한 이해를 위해 예시한 것일 뿐이며, 난수 생성에 이용되는 신호들은 하드 디스크 드라이브 내에 존재하여 임의의 노이즈를 포함하고 있는 모든 신호들을 포함할 수 있다.
또한, 본 발명의 실시예에 따른 난수 생성 장치(1)는 제어부(control unit, 30)를 더 포함할 수 있다. 본 발명의 실시예에 따른 암호화 알고리즘이 RSA(Rivest-Shamir-Adleman) 알고리즘인 경우에는 상기 난수 생성부(10)에서 출력되는 난수가 소수(素數, prime number)인 경우에만 해당 난수가 암호화 키로 사용될 수 있다.
따라서, RSA 알고리즘에 기초하여 구동되는 난수 생성 장치(1)는 상기 제어부(30)를 더 포함할 수 있으며, 상기 제어부(30)는 상기 샘플링부(13)에서 출력되는 난수가 소수인지 여부를 판단할 수 있다. 판단 결과, 상기 샘플링부(13)에서 출력되는 난수가 소수가 아닌 경우에 상기 제어부(30)는 출력된 난수를 파기하고 다시 새로운 난수를 생성하도록 상기 신호 추출부(20)와 상기 난수 생성부(10)를 제어할 수 있다. 물론, 출력된 상기 난수가 소수인 경우에는 출력된 난수가 암호키 생성을 위해 이용될 수 있다.
또한, 상기 샘플링부(13)에서 출력된 난수는 디지털 값으로 구현되기 때문에, 상기 제어부(30)는 상기 샘플링부(13)에서 출력된 디지털 값의 난수를 10진법(decimal)의 자연수로 변환하는 과정을 더 수행할 수 있다. 따라서, 상기 제어부(30)는 10진법으로 변환된 난수가 소수인지 여부를 판단할 수 있다.
도 3은 본 발명의 실시예에 따른 난수 생성 방법의 과정을 설명하기 위한 개략도이다.
도 2 및 도 3을 참조하면, 상기 노이즈 비트 추출부(11)는 다수의 신호들(signal 1 내지 signal N) 각각으로부터 노이즈 비트(NB)를 추출할 수 있다. 또한, 도 3에 도시된 바와 같이, 상기 노이즈 비트 추출부(11)는 각 디지털 신호의 최하위비트(LSB)를 노이즈 비트로서 추출할 수 있으며, 추출된 노이즈 비트들은 상기 랜덤 워드 생성부(12)로 전송될 수 있다.
예컨대, 제1 디지털 신호(signal 1)는 디지털 값으로 '0111...0100'을 가질 수 있고, 상기 노이즈 비트 추출부(11)는 상기 디지털 값 중에서 최하위비트(LSB)인 '0'을 추출하여 이를 노이즈 비트(NB)로 간주할 수 있다. 유사하게, 제2 디지털 신호(signal 2)는 디지털 값으로 '1001...0011'을 가질 수 있고, 상기 노이즈 비트 추출부(11)는 상기 디지털 값 중에서 최하위비트(LSB)인 '1'을 추출하여 이를 노이즈 비트(NB)로 간주할 수 있다.
즉, 노이즈 비트 추출부(11)는 상기 복수의 디지털 신호들(signal 1 내지 signal N) 각각으로부터 노이즈 비트를 추출할 수 있으며, 추출된 노이즈 비트들은 상기 랜덤 워드 생성부(12)로 전송될 수 있다. 이때, 상기한 바와 같이, 복수 개의 디지털 신호들은 서로 독립적이고 랜덤하기 때문에, 상기 다수의 노이즈 비트들 또한 서로 랜덤할 수 있다.
상기 랜덤 워드 생성부(12)는 상기 노이즈 비트 추출부(11)에서 추출된 노이즈 비트들을 이용하여 랜덤 워드(RW)를 생성할 수 있다. 도 3에 예시된 바와 같이, 랜덤 워드(RW)는 N 비트의 크기를 가질 수 있으며, 상기 랜덤 워드(RW)를 구성하는 비트 값들 각각은 상기 다수의 디지털 신호들의 최하위비트(LSB)에 대응할 수 있다.
상기 샘플링부(13)는 상기 랜덤 워드 생성부(12)에서 출력된 랜덤 워드(RW)를 적어도 한번 샘플링하여 난수를 생성할 수 있다. 예컨대, 도 3에서는 상기 랜덤 워드(RW)를 각각 상이한 시간에 M번 샘플링하여 난수를 생성하는 과정을 예시하고 있으며, 따라서 상기 난수는 N×M 비트의 크기를 가질 수 있다.
도 4a 및 도 4b는 본 발명의 실시예에 따른 난수 생성 방법을 설명하기 위한 순서도이다.
도 4a는 일반적인 암호화 알고리즘을 기반으로 하는 난수 생성 방법에 대한 순서도이다. 도 2 내지 도 4a를 참조하면, 상기 신호 추출부(20)는 스토리지 장치에 존재하는 복수 개의 디지털 신호들을 추출할 수 있다(S405). 상기 노이즈 비트 추출부(11)는 상기 복수 개의 디지털 신호들 각각으로부터 노이즈 비트를 추출할 수 있다(S410). 상기한 바와 같이, 상기 노이즈 비트는 상기 디지털 신호들 각각의 최하위비트(LSB)에 상응할 수 있다.
또한, 상기 핸덤 워드 생성부(12)는 상기 노이즈 비트들에 기초하여 랜덤 워드(RW)를 생성할 수 있다(S415). 상기 샘플링부(13)는 상기 랜덤 워드를 적어도 한번 샘플링함으로써 난수(RN)를 생성할 수 있다(S420).
도 4b는 RSA(Rivest-Shamir-Adleman) 암호화 알고리즘을 기반으로 하는 난수 생성 방법에 대한 순서도이다. 도 2 내지 도 4b를 참조하면, 상기 신호 추출부(20)는 스토리지 장치에 존재하는 복수 개의 디지털 신호들을 추출할 수 있다(S505). 상기 노이즈 비트 추출부(11)는 상기 복수 개의 디지털 신호들 각각으로부터 노이즈 비트를 추출할 수 있다(S510). 상기한 바와 같이, 상기 노이즈 비트는 상기 디지털 신호들 각각의 최하위비트(LSB)에 상응할 수 있다.
또한, 상기 핸덤 워드 생성부(12)는 상기 노이즈 비트들에 기초하여 랜덤 워드(RW)를 생성할 수 있다(S515). 상기 샘플링부(13)는 상기 랜덤 워드를 적어도 한번 샘플링함으로써 난수를 생성할 수 있다(S520). 이때 상기 제어부(30)는 상기 생성된 난수가 소수인지 여부를 판단할 수 있으며(S525), 난수가 소수이면 해당 난수를 암호키에 이용할 수 있고, 난수가 소수가 아니면 해당 난수를 파기하고 난수 생성 과정을 반복하도록 상기 신호 추출부(20) 및 상기 난수 생성부(10)를 제어할 수 있다.
또한, 본 발명에 따른 실시예는 컴퓨터로 판독할 수 있는 기록 매체에 컴퓨터가 판독할 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 판독할 수 있는 기록 매체는 컴퓨터 시스템에 의하여 판독될 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함할 수 있다. 컴퓨터가 판독할 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예컨대, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함될 수 있다. 또한, 컴퓨터가 판독할 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터가 판독할 수 있는 코드로 저장되고 실행될 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 것을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 스토리지 장치에 존재하는 신호들에 포함된 노이즈에 대한 주파수별 스펙트럼 성분을 나타내는 그래프.
도 2는 본 발명의 실시예에 따른 난수 생성 장치의 개략적인 블록도.
도 3은 본 발명의 실시예에 따른 난수 생성 방법의 과정을 설명하기 위한 개략도.
도 4a 및 도 4b는 본 발명의 실시예에 따른 난수 생성 방법을 설명하기 위한 순서도.
Claims (15)
- 방법으로서,데이터 스토리지 장치로부터 복수 개의 디지털 신호들을 수신하는 단계 ― 상기 복수 개의 디지털 신호들은 상기 데이터 스토리지 장치 내에서 사용됨 ―;상기 복수 개의 디지털 신호들 각각으로부터 노이즈를 나타내는 적어도 하나의 비트를 추출함으로써 노이즈 비트들을 결정하는 단계; 및상기 노이즈 비트들 각각으로부터 제 1 난수(random number)를 생성하는 단계를 포함하고,상기 제 1 난수를 생성하는 단계는,랜덤 워드를 형성하기 위해 상기 노이즈 비트들을 조합함으로써 상기 랜덤 워드를 샘플링하는 단계; 및상기 제 1 난수를 생성하기 위해 상기 랜덤 워드를 상이한 시간에 다수 회 샘플링하는 단계를 포함하는,방법.
- 제 1 항에 있어서,노이즈를 나타내는 상기 적어도 하나의 비트를 추출하는 것은 상기 복수 개의 디지털 신호들 각각의 최하위비트(LSB; least significant bit)를 추출하는 것을 더 포함하는,방법.
- 제 1 항에 있어서,상기 제 1 난수가 소수인지 여부를 판단하는 단계; 및상기 제 1 난수가 소수가 아닌 경우, 상기 복수 개의 디지털 신호들을 추출하는 단계, 제 2 난수를 생성하는 단계, 및 상기 제 2 난수가 소수인지 여부를 판단하는 단계를 반복하는 단계를 더 포함하는,방법.
- 제 1 항에 있어서,노이즈를 나타내는 상기 적어도 하나의 비트를 추출하는 것은 상기 복수 개의 디지털 신호들 각각의 최하위비트(LSB) 및 다음 LSB로부터 상기 적어도 하나의 노이즈 비트를 추출하는 것을 포함하는,방법.
- 제 1 항에 있어서,상기 랜덤 워드를 샘플링하는 단계는 상기 제 1 난수의 비트 길이가 미리결정된 비트 길이와 동일해질 때까지 상기 랜덤 워드를 샘플링하는 단계를 더 포함하는,방법.
- 제 1 항에 있어서,상기 복수 개의 디지털 신호들은 상기 데이터 스토리지 장치 내에서 상이한 목적들을 위해 사용되는,방법.
- 장치로서,데이터 스토리지 장치; 및난수 생성부를 포함하고,상기 데이터 스토리지 장치는 상기 데이터 스토리지 장치로부터 복수 개의 디지털 신호들을 추출하는 신호 추출부를 포함하고, 상기 복수 개의 디지털 신호들 중 적어도 두 개의 디지털 신호들은 서로 상이한 발신원(originating source)들을 가지며,상기 난수 생성부는, 상기 복수 개의 디지털 신호들 각각으로부터 노이즈를 나타내는 적어도 하나의 비트를 추출함으로써 노이즈 비트들을 결정하고; 그리고 상기 노이즈 비트들로부터 제 1 난수를 생성하도록 구성되며,상기 난수 생성부는 상기 복수 개의 디지털 신호들 각각으로부터 상기 적어도 하나의 비트를 추출하는 노이즈 비트 추출부;상기 노이즈 비트들을 조합함으로써 랜덤 워드를 생성하는 랜덤 워드 생성부; 및상기 제 1 난수를 생성하기 위해 상기 랜덤 워드를 상이한 시간들에 적어도 두 번 샘플링하는 샘플링부를 포함하는,장치.
- 제 7 항에 있어서,상기 노이즈 비트 추출부는 상기 디지털 신호들 각각의 최하위비트(LSB)로부터 상기 적어도 하나의 비트를 추출하는,장치.
- 제 7 항에 있어서,상기 신호 추출부 및 상기 난수 생성부를 제어하는 제어부를 더 포함하고,상기 제어부는 상기 제 1 난수가 소수가 아닌 경우, 상기 제 1 난수를 파기하고 제 2 난수를 생성하기 위해 상기 신호 추출부 및 상기 난수 생성부를 제어(direct)하는,장치.
- 제 7 항에 있어서,상기 노이즈 비트 추출부는 상기 디지털 신호들 각각의 최하위비트(LSB) 및 다음 LSB로부터 상기 적어도 하나의 비트를 추출하는,장치.
- 제 7 항에 있어서,상기 샘플링부는 상기 제 1 난수의 비트 길이가 미리결정된 비트 길이와 동일해질 때까지 상기 랜덤 워드를 샘플링하는,장치.
- 제 7 항에 있어서,상기 장치는 하드 디스크 드라이브이고, 상기 복수 개의 디지털 신호들은, 위치 에러 신호(position error signal), 스핀들 속도 에러 신호(spindle speed error signal), 리드 채널 신호(read channel signal), 온도 신호(temperature signal), 프리폴 센서 신호(freefall sensor signal), 및 쇼크 센서 신호(shock sensor signal) 중에서 적어도 하나를 포함하는,장치.
- 장치로서,다수의 신호들을 수신하도록 구성된 신호 추출부 ― 상기 다수의 신호들 중 적어도 두 개의 신호들은 서로 다른 발신원들을 가짐 ― ;상기 다수의 신호들 각각으로부터 최하위비트를 추출하도록 구성된 비트 추출부;상기 다수의 신호들로부터 추출된 각각의 최하위비트로부터 난수를 생성하도록 구성된 난수 생성부;랜덤 워드를 형성하기 위해 상기 다수의 신호들로부터 각각의 최하위비트들을 조합하도록 구성된 워드 생성부;상기 난수를 생성하기 위해 상기 랜덤 워드를 샘플링하도록 구성된 샘플링부; 및상기 난수로부터 암호키를 생성하도록 구성된 암호키 생성부를 포함하고,상기 샘플링부는, 상기 암호키를 생성하기 위해 상기 난수의 길이가 미리 결정된 길이가 되도록 상기 랜덤 워드를 상이한 시간들에 복수 회 샘플링하도록 구성되는,장치.
- 제 13 항에 있어서,이전에 생성된 난수가 소수가 아닌 경우 또 다른 난수를 생성하기 위해 상기 신호 추출부 및 상기 난수 생성부를 제어하도록 구성된 제어부를 더 포함하는,장치.
- 제 13 항에 있어서,상기 장치는 데이터 스토리지 장치이고, 상기 다수의 신호들은 상기 데이터 스토리지 장치 내에서 생성되고 서로 독립적이며, 그리고 상기 랜덤 워드의 길이는 상기 다수의 신호들의 개수와 동일한,장치.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090027043A KR101625857B1 (ko) | 2009-03-30 | 2009-03-30 | 난수 생성 장치 및 그 방법 |
US12/749,689 US8996596B2 (en) | 2009-03-30 | 2010-03-30 | Apparatus and method of generating random number |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090027043A KR101625857B1 (ko) | 2009-03-30 | 2009-03-30 | 난수 생성 장치 및 그 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100108815A KR20100108815A (ko) | 2010-10-08 |
KR101625857B1 true KR101625857B1 (ko) | 2016-05-31 |
Family
ID=42785569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090027043A Expired - Fee Related KR101625857B1 (ko) | 2009-03-30 | 2009-03-30 | 난수 생성 장치 및 그 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8996596B2 (ko) |
KR (1) | KR101625857B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210035076A (ko) * | 2019-09-20 | 2021-03-31 | 센젠 인스티튜트스 오브 어드밴스트 테크놀로지, 차이니즈 아카데미 오브 사이언시스 | 무선 신체 영역 네트워크 및 이의 키 생성 방법, 분배 방법 및 관련 장치 |
KR102270413B1 (ko) * | 2020-01-23 | 2021-06-29 | 주식회사 피에스디엘 | 보안 장치 |
WO2021150082A1 (ko) * | 2020-01-23 | 2021-07-29 | 주식회사 피에스디엘 | 보안 장치 및 보안 프로그램 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102013004795A1 (de) | 2012-03-21 | 2013-09-26 | Gabriele Trinkel | System und Verfahren zum erzeugen von thermische Hot Spot zur Generierung von Zufallszahlen mit thermischen Rauschquellen im Cloud Computing |
US10102382B1 (en) * | 2013-03-14 | 2018-10-16 | Lawrence Livermore National Security, Llc | Intrinsic use control for system and use controlled component security |
GB2528983A (en) * | 2014-08-08 | 2016-02-10 | Apply Mobile Ltd | Improvements in and relating to random number generation apparatus |
US11650795B2 (en) * | 2019-08-23 | 2023-05-16 | SK Hynix Inc. | Raw read based physically unclonable function for flash memory |
KR102359509B1 (ko) * | 2019-10-14 | 2022-02-09 | 한국전력공사 | 난수용 시드 생성 장치 및 그 방법 |
KR102336068B1 (ko) * | 2020-12-30 | 2021-12-07 | 주식회사 피에스디엘 | 도어락, 도어락 컨트롤 장치, 도어락 컨트롤 프로그램 및 도어락 관리 서버 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408317B1 (en) | 1999-02-19 | 2002-06-18 | Integrated Device Technology, Inc. | Random number conditioner |
US20050008154A1 (en) | 1999-10-18 | 2005-01-13 | Sandip Sarkar | Random number generation for encrypting cellular communications |
US6886023B2 (en) | 2002-01-14 | 2005-04-26 | Ip-First, Llc | Apparatus for generating random numbers |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4286228A (en) * | 1979-05-31 | 1981-08-25 | Westinghouse Electric Corp. | Frequency spectrum noise generator |
JP3034516B1 (ja) | 1999-03-08 | 2000-04-17 | 株式会社東芝 | 物理乱数発生装置 |
US6774916B2 (en) * | 2000-02-24 | 2004-08-10 | Texas Instruments Incorporated | Contour mitigation using parallel blue noise dithering system |
US6687721B1 (en) * | 2000-03-31 | 2004-02-03 | Intel Corporation | Random number generator with entropy accumulation |
US6735606B2 (en) * | 2001-05-15 | 2004-05-11 | Qualcomm Incorporated | Multi-sequence fast slewing pseudorandom noise generator |
US7219112B2 (en) * | 2001-11-20 | 2007-05-15 | Ip-First, Llc | Microprocessor with instruction translator for translating an instruction for storing random data bytes |
US9111122B2 (en) * | 2007-07-02 | 2015-08-18 | Freescale Semiconductor, Inc. | Asymmetric cryptographic device with local private key generation and method therefor |
US8379848B2 (en) * | 2011-07-07 | 2013-02-19 | Cape Light Institute, Inc. | Method of providing a portable true random number generator based on the microstructure and noise found in digital images |
-
2009
- 2009-03-30 KR KR1020090027043A patent/KR101625857B1/ko not_active Expired - Fee Related
-
2010
- 2010-03-30 US US12/749,689 patent/US8996596B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6408317B1 (en) | 1999-02-19 | 2002-06-18 | Integrated Device Technology, Inc. | Random number conditioner |
US20050008154A1 (en) | 1999-10-18 | 2005-01-13 | Sandip Sarkar | Random number generation for encrypting cellular communications |
US6886023B2 (en) | 2002-01-14 | 2005-04-26 | Ip-First, Llc | Apparatus for generating random numbers |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210035076A (ko) * | 2019-09-20 | 2021-03-31 | 센젠 인스티튜트스 오브 어드밴스트 테크놀로지, 차이니즈 아카데미 오브 사이언시스 | 무선 신체 영역 네트워크 및 이의 키 생성 방법, 분배 방법 및 관련 장치 |
KR102477582B1 (ko) * | 2019-09-20 | 2022-12-14 | 센젠 인스티튜트스 오브 어드밴스트 테크놀로지, 차이니즈 아카데미 오브 사이언시스 | 무선 신체 영역 네트워크의 키 분배 장치, 무선 신체 영역 네트워크의 키 생성 방법, 무선 신체 영역 네트워크의 분배 방법 및 관련 장치 |
KR102270413B1 (ko) * | 2020-01-23 | 2021-06-29 | 주식회사 피에스디엘 | 보안 장치 |
WO2021150082A1 (ko) * | 2020-01-23 | 2021-07-29 | 주식회사 피에스디엘 | 보안 장치 및 보안 프로그램 |
KR20210095577A (ko) * | 2020-01-23 | 2021-08-02 | 주식회사 피에스디엘 | 보안 장치 및 보안 프로그램 |
KR102476077B1 (ko) * | 2020-01-23 | 2022-12-09 | 주식회사 피에스디엘 | 보안 장치 및 보안 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
KR20100108815A (ko) | 2010-10-08 |
US20100250637A1 (en) | 2010-09-30 |
US8996596B2 (en) | 2015-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101625857B1 (ko) | 난수 생성 장치 및 그 방법 | |
Asad et al. | An enhanced least significant bit modification technique for audio steganography | |
US11539516B2 (en) | Encoding and decoding information in synthetic DNA with cryptographic keys generated based on polymorphic features of nucleic acids | |
US7275159B2 (en) | Multimedia output device having embedded encryption functionality | |
JP6058237B1 (ja) | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 | |
JP2001142394A (ja) | 暗号化方法、暗号化装置、復号化方法及び復号化装置 | |
Renza et al. | High-uncertainty audio signal encryption based on the Collatz conjecture | |
JP2012212138A (ja) | 暗号化プログラム、復号化プログラム、暗号化方法、復号化方法、システムおよびコンテンツの生成方法 | |
CN101969545A (zh) | 一种对多媒体文件进行加密的方法及装置 | |
US20080219455A1 (en) | Method and apparatus for encoding and decoding noise signal | |
JP4515166B2 (ja) | ディスクドライブにおける乱数発生方法及びそのシステム | |
US20040139324A1 (en) | Apparatus and method for preventing forgery/alteration of the data recorded by digital voice recorder | |
Abed | A proposed method of information hiding based on hybrid cryptography and steganography | |
US7245721B1 (en) | Data encoding/decoding device and apparatus using the same | |
JP2007306171A (ja) | 情報処理システムおよび方法、情報処理装置および方法、並びにプログラム | |
CN115801364A (zh) | 一种应用于电网通讯中的隐式密钥加密方法及相关装置 | |
JP4110690B2 (ja) | データ生成方法、記録装置、記録媒体、および再生装置 | |
CN101902322B (zh) | 音频数据传输方法及其音频处理系统 | |
KR101934445B1 (ko) | 음성신호의 비식별화를 위한 암호화 시스템 | |
Rout et al. | Digital Audio Steganography using FLT and Low-bit Encoding for Secure Storage and Transmission of Confidential Information | |
Aa | HexE-Securing Audio Contents in Voice Chat using Puzzle and Timestamp | |
Paira et al. | Audio cryptanalysis-An application of symmetric key cryptography and audio steganography | |
JP2009271884A (ja) | 情報処理装置及び情報処理プログラム | |
JP2005204128A (ja) | 個別鍵生成装置及びプログラム | |
Tiwari et al. | An Efficient Secure Data Hiding Algorithm Using Audio Steganography |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 20090330 |
|
PG1501 | Laying open of application | ||
N231 | Notification of change of applicant | ||
PN2301 | Change of applicant |
Patent event date: 20120925 Comment text: Notification of Change of Applicant Patent event code: PN23011R01D |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20140305 Comment text: Request for Examination of Application Patent event code: PA02011R01I Patent event date: 20090330 Comment text: Patent Application |
|
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20150326 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20160225 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20160525 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20160526 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20190311 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20190311 Start annual number: 4 End annual number: 4 |
|
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20210305 |