가공데이터 · 한국어 지식관계

난수 발생 장치 document_id A220623049052

분류
의약학
라벨 상태 (label_status)
approved
문맥 (context)
정보 통신 기술의 발전에 따라서, 정보의 암호화 및 복호화 기술은 해당 정보의 보안 유지를 위하여 매우 중요시되고 있다. 난수(random number)는 보안 시스템(security system)의 비밀키(secret key)를 비롯한 여러 곳에서 사용된다. 따라서, 보안이 중요시되는 시스템은 난수 발생기(random number generator)가 구비되며, 상기 난수 발생기는 예측 불가능한 값을 갖는 난수를 발생시켜야만 한다. 보안이 중요시되는 시스템에 있어서, 난수는 주기성과 규칙성을 가져서는 안 된다. 즉, 보안 시스템에서는 예측이 불가능하고 어떠한 주기성도 갖지 않는 완전한 난수를 발생시킬 필요가 있는 것이다. 참 난수(true random number, 이하 'TRN')는 물리적 노이즈 원(physical noise source)으로부터 생성되며, 예측 불가능하고 어떠한 주기성도 갖지 않는다. 이러한 참 난수를 발생시키기 위하여, 기존의 난수 발생 장치는 노이즈 원으로써 열적 노이즈(thermal noise) 또는 샷 노이즈(shot noise)를 이용하였다. 또는,링 오실레이터를 이용하여 불규칙한 주기를 갖는 클럭 신호를 발생시켜 이용하였다. 도 1a는 기존의 난수 발생 장치를 나타내는 도면이다. 도 1b는 도1a의 난수 발생 장치에 입출력되는 신호를 나타내는 도면이다. 이하에서 도 1a 및 도 1b를 참조하여 기존의 난수 발생 장치를 설명한다. 도 1a를 참조하면, 종래의 난수 발생 장치(100)는 신호 클럭(S_in)을 입력받는 신호 단자(103), 클럭 신호(S_CLK)를 입력받는 클럭 단자(105), 및 샘플링 블록(101)을 구비하였다. 신호 단자(103)로 입력되는 신호 클럭(S_in)은 고주파수 클럭 신호로, 규칙적이고 짧은 주기를 갖는 신호이다. 클럭 단자(105)로 입력되는 클럭 신호(S_CLK)는 저주파수 클럭 신호로, 불규칙적인 주기 및 일정하지 않은 듀티 사이클(duty cycle)을 갖는다. 또한, 신호 클럭(S_in)의 주기에 비하여 긴 주기를 갖는 신호기 된다. 샘플링 블록(101)은 클럭 신호(S_CLK)에 동기화되어 동작하며, 클럭 신호(S_CLK)의 라이징 에지(rising edge)에 맞춰 신호 클럭(S_in)을 샘플링한다. 도 1b를 참조하면, 신호 클럭(S_in)(110)은 규칙적인 주기 및 동일한 듀티 사이클을 갖는 신호가 된다. 이에 비하여, 클럭 신호(S_CLK)(115)는 주기가 일정하지 않으며, 각 주기마다 듀티 사이클이 동일하지 않은 신호가 된다. 샘플링 블록(101)은 샘플링 동작을 수행하여 난수 신호(S_RN)(120)를 출력한다. 난수 신호(120)는 클럭 신호(115)의 라이징 에지마다 신호 클럭(S_in)의 값을 샘플링하여 난수 신호(S_RN)를 생성하게 된다. 따라서, 샘플링 블록(101)은 a 시점에서 신호 클럭(S_in)의 값을 샘플링하여 '1' 값을 출력하고, b 시점에서 '0'값을, c 시점에서 '0'값을, d 시점에서 '0' 값을, 그리고, f 시점에서 '1' 값을 생성한다. 상술한 바와 같이, 클럭 신호(S_CLK)는 불규칙적인 주기 및 듀티 사이클을 갖는 신호이어야 한다. 기존의 난수 발생 장치는 이러한 클럭 신호(S_CLK)를 생성하기 위하여 일반적으로 링 오실레이터(ring oscillator- 이하 'RO')를 이용하였다. 링 오실레이터(RO)는 발진 동작을 수행하면서, 점차적으로 불규칙적인 주기를 갖도록, 지터(jitter)를 가지며 발진(oscillation)된 신호를 출력한다. 링 오실레이터가 출력하는 발진된 신호는 이하의 도 2에서 설명한다. 도 2는 발진된 신호의 생성을 설명하기 위한 도면이다. 도 2를 참조하면, 링 오실레이터(미도시)는 초기의 003c#X003e#기간 동안 계속하여 논리 레벨을 반전 시키는 반전 동작을 수행한다. 그에 따라서 일정 주기(Tosc)를 갖는 싸인파 곡선 형태의 신호가 출력된다. 003c#X003e#기간 동안 출력되는 신호 210은 안정된 발진 신호(stabilized oscillation signal)가 된다. 링 오실레이터는 계속하여 발진 동작을 수행한다. 003c#Y003e#기간의 시간이 더 지나고 나면, 링 오실레이터는 축적된 노이즈(accumulated noise)로 인하여 지터(jitter)를 가지며 발진하는 신호를 출력한다. 여기서, 지터(jitter)는 시간 축 상(x축 좌표)에서의 신호의 흔들림을 나타낸다. 따라서, 003c#Z003e#기간에서는 신호는 지터를 가지며 215 곡선 또는 220 신호 곡선 사이에 흔들리는 신호가 될 수 있다. 따라서, 003c#Z003e# 기간에서는 불규칙적인 주기를 가지며, 듀티 사이클이 일정하지 않은 신호가 된다. 난수 발생 장치가 참 난수를 생성하기 위해서는, 불규칙적인 주기를 가지는 신호에 따라서 샘플링 동작을 수행하여야 한다. 또한, 이러한 불규칙적인 주기를 갖는 신호는 003c#X003e# 및 003c#Y003e#기간을 지나야만 생성된다. 따라서, 링 오실레이터가 동작을 시작한 후 바로 난수를 출력할 수 있는 것이 아니며, 적어도 003c#X003e# 및 003c#Y003e# 기간의 시간이 경과된 후에만 생성될 수 있다. 따라서, 기존의 난수 발생 장치는 지터(jitter)를 갖는 발진 신호가 생성될 때까지의 시간을 기다려야만 난수 데이터의 출력을 시작할 수 있다. 그러므로, 난수 발생 장치의 처리량(throughput)이 낮아진다는 문제가 있다. 상술한 바와 같이, 느리게 난수 데이터가 출력되면, 보안 시스템의 보안이 위협받을 수 있게 된다. 또한, 난수 발생 장치 내에 인위적으로 물리적 노이즈를 제공하여 지터를 갖는 발진 신호를 생성하기 위해서는 별도의 노이즈 발생 및 제공 회로를 구비할 수 있다. 상기 별도의 회로는 난수 발생 장치 자체의 면적(area)을 증가시키며, 난수 발생 장치의 제작비용을 증가시키는 문제가 있다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
기존의 난수 발생 장치(100)를 구성하는 주요 요소들은 무엇인가?
추론 과정 (compact_reasoning)
  1. 1과제 해석task_interpretation

    기존 난수 발생 장치(100)를 구성하는 기술적 구성요소를 찾는 작업이다.

  2. 2정보 추출information_extraction

    본문에서 '종래의 난수 발생 장치(100)는 ... 구비하였다'라는 문장을 통해 구성요소를 추출한다.

    • 종래의 난수 발생 장치(100)는 신호 클럭(S_in)을 입력받는 신호 단자(103), 클럭 신호(S_CLK)를 입력받는 클럭 단자(105), 및 샘플링 블록(101)을 구비하였다.
  3. 3근거 선택evidence_selection

    추출된 구성요소인 신호 단자(103), 클럭 단자(105), 샘플링 블록(101)을 선별한다.

    • 신호 단자(103), 클럭 신호(S_CLK)를 입력받는 클럭 단자(105), 및 샘플링 블록(101)
  4. 4논리 통합logical_integration

    각 구성요소의 역할을 결합하여 장치의 구조를 파악한다.

  5. 5결론 도출conclusion_formulation

    선별된 세 가지 요소를 나열하여 답변을 구성한다.

    • 신호 단자(103), 클럭 신호(S_CLK)를 입력받는 클럭 단자(105), 및 샘플링 블록(101)
  6. 6답변 생성answer_generation

    질문에 대한 최종 답변을 리스트 형식으로 작성한다.

    • 신호 단자(103), 클럭 신호(S_CLK)를 입력받는 클럭 단자(105), 및 샘플링 블록(101)
최종 답변 (final_answer)
기존의 난수 발생 장치(100)는 신호 클럭(S_in)을 입력받는 신호 단자(103), 클럭 신호(S_CLK)를 입력받는 클럭 단자(105), 그리고 샘플링 블록(101)으로 구성된다.
핵심 해석 (core_interpretation)
기존의 난수 발생 장치는 신호 클럭을 입력받는 신호 단자, 클럭 신호를 입력받는 클럭 단자, 그리고 샘플링 블록으로 구성된다.