KR100434111B1 - 의사 난수 발생 장치 및 방법 - Google Patents

의사 난수 발생 장치 및 방법 Download PDF

Info

Publication number
KR100434111B1
KR100434111B1 KR10-2001-0085163A KR20010085163A KR100434111B1 KR 100434111 B1 KR100434111 B1 KR 100434111B1 KR 20010085163 A KR20010085163 A KR 20010085163A KR 100434111 B1 KR100434111 B1 KR 100434111B1
Authority
KR
South Korea
Prior art keywords
random number
value
shift register
input
generating
Prior art date
Application number
KR10-2001-0085163A
Other languages
English (en)
Other versions
KR20030054756A (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 KR10-2001-0085163A priority Critical patent/KR100434111B1/ko
Publication of KR20030054756A publication Critical patent/KR20030054756A/ko
Application granted granted Critical
Publication of KR100434111B1 publication Critical patent/KR100434111B1/ko

Links

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/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register

Abstract

본 발명은 난수 발생을 필요로하는 IC 카드, 휴대용 통신 장치 등에 적용할 수 있는 난수 발생 장치에 관한 것으로, 난수 발생에 필요한 씨드 값을 필요에 따라 외부에서 입력하거나, 생성된 난수를 내부에 저장한 후 이를 씨드 값으로 사용하여 난수를 발생할 수 있도록 하므로써 난수 발생 시간을 제어하여 생성될 난수의 예측을 어렵게 하고, 장치의 동작 및 정지를 용이하게 하며, 장치의 크기 및 전력 소모를 감소시켜 안정적인 동작을 이루도록 한다.

Description

의사 난수 발생 장치 및 방법 {Apparatus and method for generating pseudo random numbers}
본 발명은 의사 난수 발생 장치 및 방법에 관한 것으로, 특히, 난수 발생을 필요로하는 IC 카드, 휴대용 통신 장치 등에 적용할 수 있는 의사 난수 발생 장치 및 방법에 관한 것이다.
종래의 의사 난수 발생 장치는 복잡한 연산 또는 비선형 연산을 통해 난수가발생되거나, 잡음원으로부터 난수가 발생되도록 구성된다. 그러므로 장치의 구조가 복잡하고 전력의 소모가 많아 소형 및 저전력으로 구동되는 IC 카드나 휴대용 통신 장치 등에 적용이 곤란하였다.
또한, 의사 난수 발생 장치를 구성하는 종래의 회로는 다음에 발생될 난수의 예측이 가능하도록 구성되기 때문에 난수를 기반으로 사용자를 인증하는 장치에 적용하기 어려우며, 대부분 고정 장치용으로 개발되었기 때문에 앞으로 많은 수요가 예상되는 휴대용 통신 장치나 IC 카드 장치에 적용하기 어려운 문제점이 있다.
즉, 휴대용 통신 장치나 IC 카드에 적용하기 위해서는 장치의 크기 및 전력의 소모가 초소화되어야 하며, 발생될 난수의 예측이 어렵고, 낮은 전압 및 적은 전류 조건에서도 안정적으로 동작할 수 있어야 한다.
따라서 본 발명은 난수 발생에 필요한 씨드 값을 필요에 따라 외부에서 입력으로 주거나 내부에 저장된 씨드 값을 이용하여 난수를 발생시키도록 하므로써 상기한 단점을 해소할 수 있는 의사 난수 발생 장치 및 방법을 제공하는 데 그 목적이 있다.
상기한 목적을 달성하기 위한 본 발명에 따른 의사 난수 발생 장치는 난수 발생에 필요한 클럭을 공급하는 클럭 발생부와, 클럭 발생부로부터 공급되는 클럭에 따라 저장된 값을 변경하여 난수를 발생시킨 후 외부로 출력하는 쉬프트 레지스터와, 초기값 및 쉬프트 레지스터로부터 출력되는 난수를 저장하고, 저장된 난수를씨드로 사용하기 위해 쉬프트 레지스터로 공급하는 씨드 저장부와, 외부로부터 주어지는 값을 입력받으며 클럭 발생부, 쉬프트 레지스터 및 씨드 저장부의 동작을 각각 제어하는 동작 제어부로 이루어진 것을 특징으로 한다.
또한, 상기한 목적을 달성하기 위한 본 발명에 따른 난수 발생 방법은 시작 단계로부터 쉬프트 레지스터의 출력 값을 초기화시키는 제 1 단계와, 외부로부터 동작 제어부로 입력되는 값을 확인하는 제 2 단계와, 제 2 단계로부터 입력된 값이 있으면 입력된 값을 쉬프트 레지스터에 저장한 후 쉬프트 레지스터의 동작에 의해 난수가 발생되도록 하는 제 3 단계와, 제 3 단계로부터 쉬프트 레지스터로부터 발생된 난수를 외부로 출력하거나 씨드 저장부에 저장되도록 하는 제 4 단계와, 제 2 단계로부터 입력된 값이 없으면 씨드 저장부에 저장된 값을 쉬프트 레지스터로 보내어 난수가 발생되도록 하는 제 5 단계를 포함하여 이루어진 것을 특징으로 한다.
상기 난수를 발생하는 쉬프트 레지스터의 동작은 클럭 발생부로부터 공급되는 클럭에 따라 이루어지며, 상기 클럭 발생부의 동작은 동작 제어부에 의해 제어되는 것을 특징으로 한다.
도 1은 본 발명에 따른 의사 난수 발생 장치를 설명하기 위한 블록도.
도 2는 본 발명에 따른 의사 난수 발생 방법을 설명하기 위한 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
1: 쉬프트 레지스터 2: 클럭 발생부
3: 동작 제어부 4: 씨드 저장부
본 발명은 필요에 따라서 난수 발생에 필요한 씨드 값을 외부에서 입력으로 주거나 내부에 저장된 씨드 값을 이용하여 난수를 발생시키도록 하므로써 난수 발생 시간을 제어하여 생성될 난수의 예측을 어렵게 하며, 제품의 전력 소모를 줄일 수 있는 의사 난수 발생 장치 및 방법을 제공한다. 본 발명에 따른 난수 발생 장치는 IC 카드, 스마트 카드 등과 같은 난수 발생을 필요로하는 휴대용 장치에 적용이 가능하다.
그러면 이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명에 따른 의사 난수 발생 장치를 설명하기 위한 블록도이다.
클럭 발생부(2)로부터 생성된 클럭(Clock) 신호는 난수를 발생시키는 쉬프트 레지스터(1)로 공급되고, 쉬프트 레지스터(1)로부터 발생된 난수는 외부로 출력되거나 씨드 저장부(4)에 저장되며, 클럭 발생부(2), 쉬프트 레지스터(1) 및 씨드 발생부(4)의 동작은 동작 제어부(3)에 의해 제어된다.
상기 쉬프트 레지스터(1)는 선형 궤환 쉬프트 레지스터로 이루어지며, 입력으로 주어지는 값을 레지스터에 저장하는 기능, 레지스터에 저장된 값을 변경하여 난수를 발생시키는 기능 및 레지스터의 값을 외부로 출력하는 기능을 가진다. 이 쉬프트 레지스터(1)는 클럭이 공급되는 동안에만 동작하며, 클럭의 공급이 정지되거나 정지신호가 주어지면 그 동작을 멈추도록 구성된다. 따라서 사용되지 않는 동안에는 전력의 소모가 최소화된다.
상기 클럭 발생부(2)는 자체적으로 발진되는 클럭을 쉬프트 레지스터(1)로 공급하는데, 외부에서는 쉬프트 레지스터(1)의 난수 발생 주기를 알 수 없으므로 발생되는 난수를 예측할 수 없도록 하였다. 필요에 따라 클럭 발생부(2)로부터 발생되는 클럭대신 시스템에 사용되는 클럭을 이용하거나, 클럭 발생부(2)로부터 발생되는 클럭을 변형하여 사용할 수도 있다.
상기 씨드 저장부(4)는 다수의 데이터를 저장할 수 있는 비휘발성 메모리 소자로 구성된다. 본 발명의 난수 발생 장치가 적용되는 시스템에서는 이 메모리 소자에 초기 값을 저장할 수 있으며, 저장된 씨드를 사용하고자 할 때에는 가장 먼저 저장된 난수 값을 씨드로 사용하여 새로운 난수를 발생시키고, 출력으로 보내진 난수 값은 최근에 사용된 씨드가 저장되었던 위치에 저장된다. 이는 선입선출 방식으로 동작하는 FIFO(First-In First-Out) 버퍼와 유사한 형태로 동작된다.
상기 동작 제어부(3)는 외부로부터 주어지는 입력을 분석하여 1) 입력으로 주어진 값을 쉬프트 레지스터(1)에 저장하거나, 2) 씨드 저장부(4)에 저장된 값을 쉬프트 레지서터(1)에 저장하거나, 3) 쉬프트 레지스터(1)를 동작 또는 정지시키거나, 4) 쉬프트 레지스터(1)의 값을 출력단자로 보내거나, 5) 쉬프트 레지스터(1)의 값을 씨드 저장부(4)로 보내도록 한다.
도 2는 본 발명에 따른 의사 난수 발생 방법을 설명하기 위한 흐름도로서, 도 1과 같이 구성된 의사 난수 발생 장치는 외부로부터의 전원공급에 따라 다음과 같이 동작된다.
장치의 초기화(단계 10) 시 상기 클럭 발생부(2)는 동작하지 않고, 상기 쉬프트 레지스터(1)의 출력 값은 0으로 초기화되며, 이때, 상기 동작 제어부(3)는 동작하지 않는다.
상기 동작 제어부(3)로 입력이 주어지면(단계 11) 상기 동작 제어부(3)는 입력된 값을 분석하여 상기 클럭 발생부(2)를 동작 또는 정지시키고(단계 13), 쉬프트 레지스터(1)의 동작을 제어하며(단계 12), 상기 씨드 저장부(4)의 동작을 제어하는(단계 14) 각각의 기능을 수행하게 된다. 이러한 동작은 상기 전원전압의 차단에 따라 종료된다. 이와 같이 이루어지는 난수 발생 방법을 보다 상세히 설명하면 다음과 같다.
시작 단계로부터 상기 쉬프트 레지스터(1)의 출력 값을 초기화시킨다(제 1 단계). 외부로부터 상기 동작 제어부(3)로 입력되는 값을 확인한다(제 2 단계). 이때, 입력된 값이 있으면 입력된 값을 상기 쉬프트 레지스터(1)에 저장한 후 상기 쉬프트 레지스터(1)의 동작에 의해 난수가 발생되도록 한다(제 3 단계). 그리고 상기 쉬프트 레지스터(1)로부터 발생된 난수를 외부로 출력하거나 상기 씨드 저장부(4)에 저장되도록 한다(제 4 단계).
한편, 상기 제 2 단계에서, 상기 동작 제어부(3)를 통해 입력된 값이 없으면 상기 씨드 저장부(4)에 저장된 값을 상기 쉬프트 레지스터(1)로 보내어 새로운 난수가 발생되도록 한다(제 5 단계).
이때, 상기 난수를 발생하는 상기 쉬프트 레지스터(1)의 동작은 상기 클럭 발생부(2)로부터 공급되는 클럭에 따라 이루어지며, 상기 클럭 발생부(2)의 동작은 상기 동작 제어부(3)에 의해 제어된다.
상기한 바와 같이 본 발명은 자체의 클럭 생성부로부터 생성된 클럭을 사용하고, 난수 발생에 필요한 씨드 값을 필요에 따라 외부에서 입력하거나, 생성된 난수를 내부에 저장한 후 이를 씨드 값으로 사용하여 난수를 발생할 수 있도록 한다. 그러므로 난수 발생 시간을 제어하여 생성될 난수의 예측을 어렵게 하며, 장치의 동작 및 정지를 용이하게 하고, 장치의 크기 및 전력 소모를 감소시켜 안정적인 동작을 이루며, IC 카드, 스마트 카드 등과 같은 휴대용 장치에 적용이 가능하도록 한다.

Claims (8)

  1. 외부로부터 입력 값을 제공받는 동작 제어부,
    상기 동작 제어부의 출력에 따라 난수 발생에 필요한 클럭을 발생시키는 클럭 발생부,
    난수 발생을 위한 씨드 값을 저장하는 씨드 저장부,
    상기 클럭 발생부로부터 공급되는 클럭에 따라 동작되며, 상기 동작 제어부로 입력된 값이 있으면 상기 입력 값을 받아 저장하고 상기 동작 제어부로 입력된 값이 없으면 상기 씨드 값을 받아 저장하며, 상기 저장된 입력 값 또는 상기 씨드 값을 변경하여 난수를 발생시키고, 발생된 난수를 외부 또는 상기 씨드 저장부로 출력하는 쉬프트 레지스터를 포함하는 것을 특징으로 하는 의사 난수 발생 장치.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 쉬프트 레지스터는 선형 궤환 쉬프트 레지스터인 것을 특징으로 하는 의사 난수 발생 장치.
  4. 제 1 항에 있어서,
    상기 씨드 저장부는 비휘발성 메모리 소자로 이루어진 것을 특징으로 하는 의사 난수 발생 장치.
  5. 제 1 항에 있어서,
    상기 씨드 저장부는 선입선출 방식으로 동작하는 버퍼로 이루어진 것을 특징으로 하는 의사 난수 발생 장치.
  6. 시작 단계로부터 쉬프트 레지스터의 출력 값을 초기화시키는 제 1 단계와,
    외부로부터 동작 제어부로 입력되는 값을 확인하는 제 2 단계와,
    상기 제 2 단계로부터 입력된 값이 있으면 상기 입력된 값을 상기 쉬프트 레지스터에 저장한 후 상기 쉬프트 레지스터의 동작에 의해 난수가 발생되도록 하는 제 3 단계와,
    상기 쉬프트 레지스터로부터 발생된 난수를 외부로 출력하거나 씨드 저장부에 저장되도록 하는 제 4 단계와,
    상기 제 2 단계로부터 입력된 값이 없으면 상기 씨드 저장부에 저장된 값을 상기 쉬프트 레지스터로 보내어 난수를 발생시키도록 하는 제 5 단계를 포함하여 이루어진 것을 특징으로 하는 의사 난수 발생 방법.
  7. 제 6 항에 있어서,
    상기 난수를 발생하는 상기 쉬프트 레지스터의 동작은 클럭 발생부로부터 공급되는 클럭에 따라 이루어지는 것을 특징으로 하는 의사 난수 발생 방법.
  8. 제 6 항에 있어서,
    상기 클럭 발생부의 동작은 상기 동작 제어부에 의해 제어되는 것을 특징으로 하는 의사 난수 발생 방법.
KR10-2001-0085163A 2001-12-26 2001-12-26 의사 난수 발생 장치 및 방법 KR100434111B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2001-0085163A KR100434111B1 (ko) 2001-12-26 2001-12-26 의사 난수 발생 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2001-0085163A KR100434111B1 (ko) 2001-12-26 2001-12-26 의사 난수 발생 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20030054756A KR20030054756A (ko) 2003-07-02
KR100434111B1 true KR100434111B1 (ko) 2004-06-04

Family

ID=32213489

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0085163A KR100434111B1 (ko) 2001-12-26 2001-12-26 의사 난수 발생 장치 및 방법

Country Status (1)

Country Link
KR (1) KR100434111B1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2292074C2 (ru) * 2004-09-27 2007-01-20 Самсунг Электроникс Ко., Лтд. Способ и устройство формирования стартового значения для генератора псевдослучайных чисел
KR100839177B1 (ko) * 2005-01-21 2008-06-23 김월영 암호 알고리즘을 이용한 잠금 장치
JP2008180592A (ja) * 2007-01-24 2008-08-07 Nec Electronics Corp テストパターン生成回路及びテスト回路
KR101120929B1 (ko) * 2008-12-31 2012-02-27 엘에스산전 주식회사 알에프 아이디 태그에 있어서의 난수 발생 장치
KR101630791B1 (ko) 2015-03-27 2016-06-16 황순영 의사 난수로부터 진성 난수를 생성하는 방법 및 이 방법을 컴퓨터상에서 실행할 수 있는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5771047A (en) * 1980-10-21 1982-05-01 Nec Corp Random number generator
JPS62186331A (ja) * 1986-02-13 1987-08-14 Agency Of Ind Science & Technol 乱数発生回路
US5187676A (en) * 1991-06-28 1993-02-16 Digital Equipment Corporation High-speed pseudo-random number generator and method for generating same
US5383143A (en) * 1994-03-30 1995-01-17 Motorola, Inc. Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation
KR960042337A (ko) * 1995-05-24 1996-12-21 양승택 차수 변경이 가능한 선형 궤환 시프트 레지스터를 이용한 난수 생성장치
JP2000242470A (ja) * 1999-02-23 2000-09-08 Matsushita Electric Ind Co Ltd 乱数生成装置および方法および記録媒体
JP2001209764A (ja) * 2000-01-24 2001-08-03 Sharp Corp Icカード、および、その端末装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5771047A (en) * 1980-10-21 1982-05-01 Nec Corp Random number generator
JPS62186331A (ja) * 1986-02-13 1987-08-14 Agency Of Ind Science & Technol 乱数発生回路
US5187676A (en) * 1991-06-28 1993-02-16 Digital Equipment Corporation High-speed pseudo-random number generator and method for generating same
US5383143A (en) * 1994-03-30 1995-01-17 Motorola, Inc. Self re-seeding linear feedback shift register (LFSR) data processing system for generating a pseudo-random test bit stream and method of operation
KR960042337A (ko) * 1995-05-24 1996-12-21 양승택 차수 변경이 가능한 선형 궤환 시프트 레지스터를 이용한 난수 생성장치
JP2000242470A (ja) * 1999-02-23 2000-09-08 Matsushita Electric Ind Co Ltd 乱数生成装置および方法および記録媒体
JP2001209764A (ja) * 2000-01-24 2001-08-03 Sharp Corp Icカード、および、その端末装置

Also Published As

Publication number Publication date
KR20030054756A (ko) 2003-07-02

Similar Documents

Publication Publication Date Title
US8443020B2 (en) Pseudo random number generator
EP0905611A2 (en) Pseudorandom number generating method and pseudorandom number generator
JPH10504156A (ja) コード化装置
US7945608B2 (en) Method and apparatus for generating an initial value for a pseudo-random number generator
KR100434111B1 (ko) 의사 난수 발생 장치 및 방법
KR101274630B1 (ko) 비동기 시스템에서의 누설 제어 시스템 및 방법
US10187044B1 (en) Bistable-element for random number generation
US8180816B2 (en) Control of a pseudo random number generator and a consumer circuit coupled thereto
KR102062365B1 (ko) 반도체 장치 및 그를 포함하는 반도체 시스템
EP1220077B1 (en) Data processing apparatus and memory card using the same
CN111338451B (zh) 控制电路及快速设定电源模式的方法
TW201322270A (zh) 功率控制器及功率控制方法
KR100871221B1 (ko) 선형 궤환 시프트 레지스터를 이용하는 통신 시스템에서부호 생성 방법 및 장치
JP5119417B2 (ja) 擬似乱数生成装置
US20040128332A1 (en) Method for generating rendom number and random number generator
KR20000061230A (ko) 고전압 발생회로
JP2007304909A (ja) 電気機器
KR100261434B1 (ko) 자동차 전자제어시스템의 전원 공급장치
KR0157153B1 (ko) 난수발생 장치
KR101100754B1 (ko) 이중버퍼 구조를 가진 타이머 회로
KR101025734B1 (ko) 반도체 집적장치의 커맨드 제어회로
KR20030002266A (ko) 난수 발생 장치
KR20040050748A (ko) 저전력 스마트 카드 및 그 제어 방법
KR0171939B1 (ko) 랜덤 억세서블 선입선출 레지스터
EP1304613A2 (en) Random number generating system and its method

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
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110511

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee