KR20190052605A - Random number generator generating random number by using at least two algorithms and security device comprising the same - Google Patents
Random number generator generating random number by using at least two algorithms and security device comprising the same Download PDFInfo
- Publication number
- KR20190052605A KR20190052605A KR1020180091295A KR20180091295A KR20190052605A KR 20190052605 A KR20190052605 A KR 20190052605A KR 1020180091295 A KR1020180091295 A KR 1020180091295A KR 20180091295 A KR20180091295 A KR 20180091295A KR 20190052605 A KR20190052605 A KR 20190052605A
- Authority
- KR
- South Korea
- Prior art keywords
- algorithm
- data
- random seed
- random
- random number
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 11
- 108010016634 Seed Storage Proteins Proteins 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 34
- 230000006870 function Effects 0.000 description 18
- 239000004065 semiconductor Substances 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000013478 data encryption standard Methods 0.000 description 4
- 238000012805 post-processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000010998 test method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000282376 Panthera tigris Species 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Abstract
Description
본 개시의 기술적 사상은 랜덤 넘버 생성기 및 이를 포함하는 보안 장치에 관한 것으로, 더욱 상세하게는 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치에 관한 것이다.TECHNICAL FIELD [0002] The present disclosure relates to a random number generator and a security apparatus including the random number generator, and more particularly, to a random number generator for generating a random number using at least two algorithms and a security apparatus including the random number generator.
일반적으로 스마트 카드(smart card)를 이용한 데이터 통신 등에서는 사용자의 개인 정보를 보호하기 위하여 암호화된 키(encryped key)를 이용한다. 이러한 암호화된 키를 생성하기 위해서는 랜덤 넘버가 필요하며, 이와 같은 랜덤 넘버는 통상적으로 의사 랜덤 넘버(pseudo random number)와 물리적 랜덤 넘버(physical random number)로 구분될 수 있다.Generally, in data communication using a smart card, an encryped key is used to protect user's personal information. In order to generate such an encrypted key, a random number is required, and such a random number can be generally divided into a pseudo random number and a physical random number.
의사 랜덤 넘버는 논리 회로와 소프트웨어를 사용하여 인위적으로 발생시킨 것으로서, 이와 같은 의사 랜덤 넘버는 RSA(Rivest-Shamir-Adelman) 방법, 타원 곡선 암호 시스템(elliptic curve cryptosystem) 등을 이용하여 얻을 수 있다. The pseudo-random number is artificially generated using logic circuits and software. Such a pseudo-random number can be obtained using a Rivest-Shamir-Adelman (RSA) method, an elliptic curve cryptosystem, or the like.
물리적 랜덤 넘버는 자연계에 존재하는 물리현상을 이용하여 발생시킨 것으로서, 이러한 물리현상으로는 저항체의 열잡음, 반도체의 PN 접합의 쇼트 잡음, 광자 생성에 따르는 쇼트 잡음, 방사선의 발생 파동 등을 예로 들 수 있다. 물리적 랜덤 넘버는 그 예측불가능성 때문에 진성 랜덤 넘버(True Random number)라고도 불린다.The physical random number is generated by using a physical phenomenon existing in the natural world. Examples of such a physical phenomenon include a thermal noise of a resistor, a short noise of a PN junction of a semiconductor, a shot noise caused by photon generation, have. A physical random number is also called a true random number because of its unpredictability.
한편, 랜덤 넘버는 무작위성을 증가시키는 후처리가 수행될 수 있다. 이러한 후처리를 통해서 얻어진 랜덤 넘버는 비예측성(un-predictability), 비편향성(un-biasedness), 독립성(independence)의 성질을 만족해야 한다. On the other hand, the random number can be post-processed to increase the randomness. The random number obtained through this post-processing must satisfy the properties of un-predictability, un-biasedness, and independence.
본 개시의 기술적 사상이 해결하고자 하는 과제는 적어도 두 개의 알고리즘을 이용함으로써 비편향성을 만족시키는 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치를 제공하는데 있다.SUMMARY OF THE INVENTION The object of the present invention is to provide a random number generator for generating a random number satisfying non-bias by using at least two algorithms and a security apparatus including the random number generator.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 랜덤 넘버 생성기는 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 랜덤 씨드를 출력하는 랜덤 씨드 생성기 및 제1 알고리즘 및 제2 알고리즘을 이용하여 상기 랜덤 씨드로부터 랜덤 넘버를 생성하는 포스트 프로세서를 포함하고, 결과값의 비편향성(Unbiasness)을 나타내는 바이어스 성질에 있어서, 상기 제1 알고리즘의 바이어스 성질과 상기 제2 알고리즘의 바이어스 성질은 서로 상이한 것을 특징으로 할 수 있다.According to an aspect of the present invention, there is provided a random number generator comprising: a random seed generator for receiving an entropy signal and outputting a random seed generated using the entropy signal; And a post processor for generating a random number from the random seed using a second algorithm, the bias property indicating the unbiasness of the result, the bias property of the first algorithm and the bias of the second algorithm And the properties are different from each other.
본 개시의 기술적 사상의 일측면에 따른 보안 장치는 무작위성(Randomness)을 이용하여 엔트로피 신호를 생성하는 엔트로피 소스, 상기 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 랜덤 씨드를 출력하는 랜덤 씨드 생성기 및 제1 알고리즘 및 제2 알고리즘을 이용하여 상기 랜덤 씨드로부터 랜덤 넘버를 생성하는 포스트 프로세서를 포함하고, 상기 제1 알고리즘은 대칭키 암호 알고리즘이고, 상기 제2 알고리즘은 해쉬 함수 알고리즘인 것을 특징으로 할 수 있다.According to an aspect of the present disclosure, a security apparatus includes an entropy source that generates an entropy signal using randomness, a random seed that receives the entropy signal, and outputs a random seed generated using the entropy signal, And a post processor for generating a random number from the random seed using a first algorithm and a second algorithm, wherein the first algorithm is a symmetric key encryption algorithm and the second algorithm is a hash function algorithm can do.
본 개시의 기술적 사상의 일측면에 따른 랜덤 넘버 생성 방법은 엔트로피 소스로부터 엔트로피 신호를 수신하는 단계, 상기 엔트로피 신호를 이용하여 디지털 랜덤 신호를 생성하는 단계 및 제1 알고리즘 및 제2 알고리즘을 이용하여 상기 디지털 랜덤 신호로부터 랜덤 넘버를 생성하는 단계를 포함하고, 결과값의 비편향성(Unbiasness)을 나타내는 바이어스 성질에 있어서, 상기 제1 알고리즘의 바이어스 성질과 상기 제2 알고리즘의 바이어스 성질은 서로 상이한 것을 특징으로 할 수 있다. A random number generation method according to an aspect of the technical idea of the present disclosure includes receiving an entropy signal from an entropy source, generating a digital random signal using the entropy signal, and generating a random number signal using the first algorithm and the second algorithm, And generating a random number from the digital random signal, wherein the bias property of the first algorithm and the bias property of the second algorithm are different from each other in the bias property indicating the unbiasness of the result value can do.
본 개시의 기술적 사상에 따른 랜덤 넘버 생성기는 랜덤 씨드에 대한 후처리 과정에서 서로 다른 두 개의 알고리즘을 사용함으로써 비편향성이 증가한 랜덤 넘버를 생성할 수 있다. The random number generator according to the technical idea of the present disclosure can generate a random number with increased non-bias by using two different algorithms in the post-processing for the random seed.
도 1은 본 개시의 예시적 실시예에 따른 보안 장치를 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 3은 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 4는 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 5는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 6은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 7은 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 8a는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 8b는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 9는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 10은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 11은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 12는 본 개시의 예시적 실시예에 따른 랜덤 넘버 생성기를 나타내는 블록도이다.
도 13a 내지 도 13h는 본 개시의 예시적 실시예에 따른 엔트로피 소스를 나타내는 도면들이다.
도 14는 본 개시의 예시적 실시예에 따른 랜덤 씨드 생성기를 나타내는 블록도이다.
도 15a 및 도 15b는 본 개시의 예시적 실시예에 따른 랜덤 씨드 생성기를 나타내는 블록도이다.
도 16은 본 개시의 예시적 실시예에 따른 보안 장치가 구현된 스마트 카드를 나타내는 도면이다.1 is a block diagram illustrating a security device in accordance with an exemplary embodiment of the present disclosure.
2 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure;
3 is a flow diagram illustrating operation of a post processor in accordance with an exemplary embodiment of the present disclosure;
4 is a flow chart illustrating operation of a post processor in accordance with an exemplary embodiment of the present disclosure;
5 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure;
6 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure.
7 is a flow diagram illustrating operation of a post processor in accordance with an exemplary embodiment of the present disclosure;
8A is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure.
8B is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure.
9 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure;
10 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure.
11 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure;
12 is a block diagram illustrating a random number generator in accordance with an exemplary embodiment of the present disclosure.
13A-13H are diagrams illustrating an entropy source in accordance with an exemplary embodiment of the present disclosure.
14 is a block diagram illustrating a random seed generator in accordance with an exemplary embodiment of the present disclosure;
15A and 15B are block diagrams illustrating a random seed generator according to an exemplary embodiment of the present disclosure;
16 is a diagram illustrating a smart card in which a security device according to an exemplary embodiment of the present disclosure is implemented.
도 1은 본 개시의 예시적 실시예에 따른 보안 장치를 나타내는 블록도이다.1 is a block diagram illustrating a security device in accordance with an exemplary embodiment of the present disclosure.
도 1을 참조하면, 보안 장치(1)는 랜덤 넘버 생성기(10) 및 엔트로피 소스(20)를 포함할 수 있고, 랜덤 넘버 생성기(10)는 랜덤 씨드 생성기(200) 및 포스트 프로세서(100)를 포함할 수 있다. 엔트로피 소스(20)는 엔트로피 신호(Ent)를 생성하여 랜덤 씨드 생성기(200)에 출력할 수 있다. 엔트로피 소스(20)는 무작위성(Randomness)에 기반하여 엔트로피 신호(Ent)를 생성할 수 있는데, 일 예시로써 엔트로피 신호(Ent)는 사용자의 움직임, 저항체의 열잡음, 반도체의 PN 접합의 쇼트 잡음, 광자 생성에 따르는 쇼트 잡음, 방사선의 발생 파동 등에 의해서 생성되는 아날로그 전기 신호를 의미할 수 있다. 일 실시예에서 엔트로피 소스(20)는 준 안정 상태(meta-stable)에서 확률적으로 변동하는 엔트로피 신호(Ent)를 생성할 수 있는데 이에 관해서는 도 13a 내지 13h에서 후술한다.1, the
랜덤 씨드 생성기(200)는 엔트로피 소스(20)로부터 수신한 엔트로피 신호(Ent)에 기초하여 디지털 영역의 랜덤 씨드(RS)를 생성할 수 있다. 일 실시예에서, 랜덤 씨드 생성기(200)는 엔트로피 신호(Ent)를 증폭시키고, 증폭시킨 엔트로피 신호(Ent)를 샘플링함으로써 랜덤 씨드(RS)를 생성할 수 있다. 랜덤 씨드 생성기(200)에 대해서는 도 14 내지 도 15b에서 후술한다.The
포스트 프로세서(100)는 수신한 랜덤 씨드(RS)에 대한 후처리를 수행하여 랜덤 넘버(RN)를 생성할 수 있다. 본 개시의 기술적 사상에 따르면, 포스트 프로세서(100)는 적어도 두 개의 알고리즘을 이용하여 랜덤 씨드(RS)로부터 랜덤 넘버(RN)를 생성할 수 있다. 일 실시예에서, 적어도 두 개의 알고리즘은 서로 바이어스 성질이 상이한 알고리즘일 수 있다. The
본 명세서에서 바이어스 성질이란, 알고리즘에 랜덤 씨드(RS)를 적용함으로써 생성된 랜덤 넘버(RN)의 '1'또는 '0'의 위치적 편중도를 의미할 수 있다. 또한, 바이어스 성질에 따른 비편향성을 수치화하는 여러가지 테스트 방법들(예를 들면, D-Monomial 테스트)이 존재할 수 있고, 본 개시의 기술적 사상에 따른 포스트 프로세서(100)는 서로 바이어스 성질이 상이한 복수의 알고리즘들에 랜덤 씨드(RS)를 적용시킴으로써 상술한 테스트 방법들에 의해 평가한 비편향성이 증대된 랜덤 넘버(RN)를 생성할 수 있다. In this specification, the bias property may mean the position biasedness of '1' or '0' of the random number (RN) generated by applying a random seed (RS) to the algorithm. In addition, there may be various test methods (e.g., D-Monomial test) for quantifying the bias characteristic according to the bias property, and the
도 2는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.2 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure;
도 1 및 도 2를 참조하면, 포스트 프로세서(100)는 제1 알고리즘 프로세서(110) 및 제2 알고리즘 프로세서(120)를 포함할 수 있다. 제1 알고리즘 프로세서(110)는 랜덤 씨드 생성기(200)로부터 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용시킴으로써 제1 데이터(D1)를 생성하고, 제2 알고리즘 프로세서(120)는 제1 알고리즘 프로세서(110)로부터 수신한 제1 데이터(D1)를 제2 알고리즘에 적용시킴으로써 랜덤 넘버(RN)를 생성할 수 있다. 제1 알고리즘 및 제2 알고리즘은 암호화 알고리즘으로써, 비대칭키 암호 알고리즘, 대칭키 암호 알고리즘(또는 블록 암호 알고리즘) 및 해쉬 함수 알고리즘 중 어느 하나일 수 있다. Referring to FIGS. 1 and 2, the
비대칭키 암호화 알고리즘은 공개되는 공개키(Public Key)와 본인만 사용하는 비밀키(Private Key)로 구성되는 것으로 공개키와 비밀키를 별도로 관리하기 때문에 키 관리가 용이하며 암호화와 사용자 인증이 동시에 이뤄진다는 특징이 있고, 공개키 암호 시스템(Public Key Cryptosystem)으로 칭해질 수 있다. 비대칭키 암호화 알고리즘는 전자 문서의 디지털서명, 부인 봉쇄(non-repudiation)에 사용될 수 있다. 비대칭키 암호화 알고리즘에 따르면, 각 사용자 주체마다 두 개의 키가 존재하여, 각 사용자마다 키쌍(Key Pair)인 공개키(Public Key)와 개인키(Private Key)를 유지해야 할 수 있다. 비대칭키 암호화 알고리즘에는 RSA(Rivest Shamir Adleman), ECC(Elliptic Curve Cryptosystem) 등을 포함할 수 있다. The asymmetric key encryption algorithm consists of public key (public key) and private key (private key) which is used only by the user. It manages the public key and the private key separately, so that key management is easy and encryption and user authentication are performed simultaneously And may be referred to as a Public Key Cryptosystem. Asymmetric key encryption algorithms can be used for digital signature, non-repudiation of electronic documents. According to the asymmetric key encryption algorithm, there are two keys for each user, and each user may need to maintain a public key and a private key, which are key pairs. Asymmetric key encryption algorithms may include Rivest Shamir Adleman (RSA), Elliptic Curve Cryptosystem (ECC), and the like.
대칭키 암호 알고리즘은 하나의 비밀키로 암호화 및 복호화를 하는 알고리즘으로써, 비밀 통신을 하는 당사자들만이 키를 안전하게 공유해야 할 수 있다. 따라서 대칭키 암호 알고리즘은 비밀키 암호 시스템(Secret Key Cryptosystem)으로 칭해질 수 있다. 대칭키 암호 알고리즘에는 DES(Data Encryption Standard), Triple DES와 AES(Advanced Encryption Standard) 등을 포함할 수 있다. The symmetric key cryptographic algorithm is an algorithm for encrypting and decrypting with one secret key, so that only the parties performing secret communication can share the key securely. Therefore, the symmetric key encryption algorithm can be referred to as a secret key cryptosystem. Symmetric key encryption algorithms can include DES (Data Encryption Standard), Triple DES, and Advanced Encryption Standard (AES).
해쉬 함수 알고리즘은 임의의 길이를 갖는 메시지를 입력하여 고정된 길이의 해쉬값을 출력하는 함수로써 키를 사용하지 않으므로 같은 입력에 대해서는 항상 같은 출력이 나올 수 있다. 해쉬 함수 알고리즘은 입력 메시지에 대한 변경할 수 없는 증거값을 뽑아냄으로써 메시지의 오류나 변조를 탐지할 수 있는 무결성을 제공할 수 있다. 해쉬 함수 알고리즘에는 CRC32(Cyclical Redundancy Check 32), md5(message digest algorithm 5), SHA-1(Secure Hash Algorithm-1), SHA-256(Secure Hash Algorithm-256), RIPEMD-128(Race Integrity Primitives Evaluation Message Digest-128), Tiger 등을 포함할 수 있다. The hash function algorithm is a function that outputs a hash value of a fixed length by inputting a message having an arbitrary length. Since the key is not used, the same output can always be outputted for the same input. The hash function algorithm can provide integrity to detect error or tampering of the message by extracting the irrevocable evidence value for the input message. The hash function algorithm includes CRC32 (Cyclical Redundancy Check 32), md5 (message digest algorithm 5), SHA-1 (Secure Hash Algorithm-1), SHA-256 (Secure Hash Algorithm-256), RIPEMD- Message Digest-128), Tiger, and the like.
비대칭키 암호 알고리즘, 대칭키 암호 알고리즘 및 해쉬 함수 알고리즘의 바이어스 성질은 서로 상이할 수 있다. 일 실시예에서, 제1 알고리즘은 제2 알고리즘과 상이한 카테고리의 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 대칭키 암호 알고리즘이고, 제2 알고리즘은 해쉬 함수 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 비대칭키 암호 알고리즘이고, 제2 알고리즘은 해쉬 함수 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 대칭키 암호 알고리즘이고, 제2 알고리즘은 비대칭키 암호 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 AES 알고리즘이고, 제2 알고리즘은 SHA 알고리즘일 수 있다. The asymmetric key encryption algorithm, the symmetric key encryption algorithm, and the hash function algorithm may have different biasing properties. In one embodiment, the first algorithm may be a different category of algorithm than the second algorithm. As an example, the first algorithm may be a symmetric key encryption algorithm and the second algorithm may be a hash function algorithm. As an example, the first algorithm may be an asymmetric key encryption algorithm and the second algorithm may be a hash function algorithm. As an example, the first algorithm may be a symmetric key encryption algorithm and the second algorithm may be an asymmetric key encryption algorithm. As an example, the first algorithm may be the AES algorithm and the second algorithm may be the SHA algorithm.
일 실시예에서, 제1 알고리즘은 제2 알고리즘과 같은 카테고리에 포함되는 상이한 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 대칭키 암호 알고리즘에 포함되는 AES 알고리즘일 수 있고, 제2 알고리즘은 대칭키 암호 알고리즘에 포함되는 DES 알고리즘일 수 있다. In one embodiment, the first algorithm may be a different algorithm included in the same category as the second algorithm. As an example, the first algorithm may be the AES algorithm included in the symmetric key encryption algorithm, and the second algorithm may be the DES algorithm included in the symmetric key encryption algorithm.
도 3은 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.3 is a flow diagram illustrating operation of a post processor in accordance with an exemplary embodiment of the present disclosure;
도 2 및 도 3을 참조하면, 포스트 프로세서(100)는 랜덤 씨드 생성기로부터 랜덤 씨드(RS)를 수신하고(S110), 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용함으로써 제1 데이터(D1)를 생성할 수 있다(S120). 포스트 프로세서(100)는 제1 데이터(D1)를 다시 제2 알고리즘에 적용함으로써 랜덤 넘버(RN)를 생성할 수 있다(S130). 포스트 프로세서(100)는 생성한 랜덤 넘버(RN)를 외부에 출력할 수 있다(S140).2 and 3, the
본 개시의 기술적 사상에 따르면, 제1 알고리즘과 제2 알고리즘의 바이어스 성질이 상이할 수 있고, 이에 따라서 랜덤 넘버(RN)의 비편향성(Unbiasness)이 증가할 수 있다.According to the technical idea of the present disclosure, the bias nature of the first algorithm and the second algorithm may be different, and accordingly, the unbiasness of the random number RN may be increased.
도 4는 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.4 is a flow chart illustrating operation of a post processor in accordance with an exemplary embodiment of the present disclosure;
도 2 및 도 4를 참조하면, 포스트 프로세서(100)는 랜덤 씨드 생성기로부터 랜덤 씨드(RS)를 수신하고(S210), 수신한 랜덤 씨드(RS)를 기초로 제1 알고리즘에 대해 N(N은 자연수)번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있다(S220). 본 명세서에서 피드백 대입 동작은, 알고리즘의 결과값을 다시 알고리즘에 대입하는 동작을 의미할 수 있다. 일 예시로써, 랜덤 씨드(RS)를 기초로 제1 알고리즘에 2번 피드백 대입 동작을 수행하는 경우, 포스트 프로세서(100)는 제1 알고리즘에 랜덤 씨드(RS)를 대입하여 얻은 결과 값을 다시 제1 알고리즘에 대입함으로써 제1 데이터를 생성할 수 있다. 즉, N번의 피드백 대입 동작은 랜덤 씨드(RS)를 제1 알고리즘에 대입하고, 그 결과값을 다시 대입하는 동작을 N-1번 추가적으로 수행하는 것을 의미할 수 있다. 2 and 4, the
포스트 프로세서(100)는 제1 데이터(D1)를 기초로 제2 알고리즘에 대해 M(M은 자연수)번 피드백 대입 동작을 수행함으로써 랜덤 넘버(RN)를 생성할 수 있다(S230). 포스트 프로세서(100)는 생성한 랜덤 넘버(RN)를 외부에 출력할 수 있다(S240).The
본 개시의 일 실시예에 따르면, 랜덤 씨드(RS)를 복수의 알고리즘 중 적어도 일부에 대해서만 피드백 대입 동작을 수행함으로써 랜덤 넘버(RN)를 생성할 수 있다. 일 예시에서, 제1 알고리즘은 AES 알고리즘일 수 있고, 제2 알고리즘은 SHA-256 알고리즘일 수 있다. 포스트 프로세서는 랜덤 씨드(RS)를 AES 알고리즘에 16번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있고, 제1 데이터를 SHA-256 알고리즘에 1번 대입함으로써 랜덤 넘버(RN)를 생성할 수 있다.According to one embodiment of the present disclosure, a random seed (RS) may be generated by performing a feedback assignment operation only for at least some of the plurality of algorithms. In one example, the first algorithm may be the AES algorithm and the second algorithm may be the SHA-256 algorithm. The post processor can generate the first data D1 by performing the feedback assignment operation of the random seed RS to the AES algorithm 16 times and substituting the first data into the SHA-256 algorithm once to generate the random number RN. Lt; / RTI >
도 5는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 도 2와 중복되는 내용은 생략한다.5 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure; The contents overlapping with FIG. 2 are omitted.
도 5를 참조하면, 포스트 프로세서(100a)는 제1 알고리즘 프로세서(110a), 제2 알고리즘 프로세서(120a) 및 제3 알고리즘 프로세서(130a)를 포함할 수 있다. 제1 알고리즘 프로세서(110a)는 랜덤 씨드 생성기로부터 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용시킴으로써 제1 데이터(D1)를 생성할 수 있고, 제2 알고리즘 프로세서(120a)는 제1 알고리즘 프로세서(110a)로부터 수신한 제1 데이터(D1)를 제2 알고리즘에 적용시킴으로써 제2 데이터(D2)를 생성할 수 있고, 제3 알고리즘 프로세서(130a)는 제2 알고리즘 프로세서(120a)로부터 수신한 제2 데이터(D2)를 제3 알고리즘에 적용시킴으로써 랜덤 넘버(RN)를 생성할 수 있다. Referring to FIG. 5, the
본 개시의 일 실시예에 따르면, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개의 알고리즘은 서로 다른 바이어스 성질을 가질 수 있다. 일 실시예에서, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개는 서로 상이한 카테고리의 암호 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 비대칭 암호 알고리즘이고, 제2 알고리즘은 해쉬 함수 알고리즘이고, 제3 알고리즘은 비대칭 알고리즘일 수 있다. 또 다른 실시예에서, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개는 같은 카테고리에 포함되는 서로 상이한 알고리즘일 수 있다. According to one embodiment of the present disclosure, at least two of the first algorithm, the second algorithm and the third algorithm may have different biasing properties. In one embodiment, at least two of the first algorithm, the second algorithm and the third algorithm may be different categories of cryptographic algorithms. As an example, the first algorithm may be an asymmetric encryption algorithm, the second algorithm may be a hash function algorithm, and the third algorithm may be an asymmetric algorithm. In yet another embodiment, at least two of the first algorithm, the second algorithm, and the third algorithm may be different algorithms included in the same category.
또한, 일 실시예에서, 제1 알고리즘 프로세서(110a), 제2 알고리즘 프로세서(120a) 및 제3 알고리즘 프로세서(130a) 중 적어도 하나는 도 4에서 상술한 바와 같이 같은 알고리즘에 대해 입력 값을 기초로 복수 번 피드백 반복 대입 동작을 수행함으로써 출력 값을 생성할 수 있다.Also, in one embodiment, at least one of the
도 6은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 도 2와 중복되는 내용은 생략한다.6 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure. The contents overlapping with FIG. 2 are omitted.
도 6를 참조하면, 포스트 프로세서(100b)는 제1 알고리즘 프로세서(110b), 제2 알고리즘 프로세서(120b) 및 로직 게이트(130b)를 포함할 수 있다. 제1 알고리즘 프로세서(110b)는 랜덤 씨드(RS)를 수신하고, 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용함으로써 제1 데이터(D1)를 생성할 수 있다. 제2 알고리즘 프로세서(120b)는 랜덤 씨드(RS)를 수신하고, 수신한 랜덤 씨드(RS)를 제2 알고리즘에 적용함으로써 제2 데이터(D2)를 생성할 수 있다. 로직 게이트(130b)는 제1 데이터(D1) 및 제2 데이터(D2)를 수신하고, 수신한 제1 데이터(D1) 및 제2 데이터(D2)에 대한 로직 연산을 수행함으로써 랜덤 넘버(RN)를생성할 수 있다. 로직 게이트(130b)는 게이트 소자로 구성될 수 있고, NAND 게이트, NOR 게이트, OR 게이트, AND 게이트, XOR 게이트 등을 포함할 수 있다. Referring to FIG. 6, the
본 개시의 일 실시예에 따르면, 제1 알고리즘 및 제2 알고리즘은 서로 다른 바이어스 성질을 가질 수 있고, 이에 따라서 제1 데이터(D1) 및 제2 데이터(D2)의 바이어스는 서로 다를 수 있다. 일 실시예에서, 포스트 프로세서(100b)는 서로 다른 바이어스를 갖는 제1 데이터(D1) 및 제2 데이터(D2)에 대한 로직 연산을 통해 랜덤 넘버(RN)를 생성함으로써 랜덤 넘버(RN)의 비편향성(Unbiasness)이 증가할 수 있다.According to one embodiment of the present disclosure, the first algorithm and the second algorithm may have different biasing properties, and accordingly, the bias of the first data D1 and the second data D2 may be different from each other. In one embodiment, the
또한, 일 실시예에서, 제1 알고리즘 프로세서(110b) 또는 제2 알고리즘 프로세서(120b)는 도 4에서 상술한 바와 같이 같은 알고리즘에 대해 입력 값을 기초로 복수 번 피드백 대입 동작을 수행함으로써 출력 값을 생성할 수 있다.Further, in one embodiment, the
도 6에서는 두 개의 알고리즘 프로세서를 이용하여 랜덤 넘버(RN)를 생성하는 실시예가 도시되어 있으나 이는 일 실시예 일 뿐이고, 두 개 이상의 알고리즘 프로세서를 이용하여 랜덤 넘버(RN)를 생성하는 실시예에도 본 개시의 기술적 사상이 유추 적용될 수 있다. Although an example of generating a random number (RN) using two algorithm processors is shown in FIG. 6, this is an embodiment only. In an embodiment in which a random number (RN) is generated using two or more algorithm processors The technical idea of the disclosure can be applied analogously.
도 7은 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다. 7 is a flow diagram illustrating operation of a post processor in accordance with an exemplary embodiment of the present disclosure;
도 6 및 도 7을 참조하면, 포스트 프로세서(100b)는 랜덤 씨드(RS)를 수신하고(S310), 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용함으로써 제1 데이터(D1)를 생성할 수 있다(S320). 포스트 프로세서(100b)는 수신한 랜덤 씨드(RS)를 제1 알고리즘과 상이한 제2 알고리즘에 적용함으로써 제2 데이터(D2)를 생성할 수 있다(S330). 포스트 프로세서(100b)는 제1 데이터(D1) 및 제2 데이터(D2)에 대한 로직 연산을 통해 랜덤 넘버(RN)를 생성할 수 있다(S340). 포스트 프로세서(100b)는 생성한 랜덤 넘버(RN)를 외부로 출력할 수 있다(S350). 6 and 7, the
도 8a는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 자세하게는 도 8a는 도 6의 포스트 프로세서의 일 예시를 나타내는 블록도이다. 8A is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure. 8A is a block diagram showing an example of the post processor of FIG. 6 in detail.
도 8a를 참조하면, 포스트 프로세서(101b)는 대칭키 암호 알고리즘 프로세서(111b), 해쉬 함수 알고리즘 프로세서(121b), XOR 게이트(131b)를 포함할 수 잇다. 대칭키 암호 알고리즘 프로세서(111b)는 랜덤 씨드(RS)를 수신하고, 대칭키 암호 알고리즘에 랜덤 씨드(RS)를 적용함으로써 제1 데이터(D1)를 생성할 수 있다. 일 실시예에서, 대칭키 암호 알고리즘 프로세서(111b)는 외부로부터 키를 수신하고, 키를 이용하여 제1 데이터(D1)를 생성할 수 있다. 해쉬 함수 알고리즘 프로세서(121b)는 해쉬 함수 알고리즘에 랜덤 씨드(RS)를 적용함으로써 제2 데이터(D2)를 생성할 수 있다. XOR 게이트(131b)는 제1 데이터(D1) 및 제2 데이터(D2)에 대한 XOR 연산을 통해서 랜덤 넘버(RN)를 생성할 수 있다. Referring to FIG. 8A, the
일 실시예에서, 대칭키 암호 알고리즘 프로세서(111b)는 랜덤 씨드(RS)를 기초로 대칭키 암호 알고리즘에 대해 복수 번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있다. In one embodiment, the symmetric key
도 8b는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 자세하게는 도 8b는 도 6의 포스트 프로세서의 일 예시를 나타내는 블록도이다. 8B is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure. 8B is a block diagram showing an example of the post processor of FIG. 6 in detail.
도 8b를 참조하면, 포스트 프로세서(102b)는 대칭키 암호 알고리즘 프로세서(112b), 해쉬 함수 알고리즘 프로세서(122b), NAND 게이트(132b)를 포함할 수 잇다. 대칭키 암호 알고리즘 프로세서(112b)는 랜덤 씨드(RS)를 수신하고, 대칭키 암호 알고리즘에 랜덤 씨드(RS)를 적용함으로써 제1 데이터(D1)를 생성할 수 있다. 일 실시예에서, 대칭키 암호 알고리즘 프로세서(112b)는 외부로부터 키를 수신하고, 키를 이용하여 제1 데이터(D1)를 생성할 수 있다. 해쉬 함수 알고리즘 프로세서(122b)는 해쉬 함수 알고리즘에 랜덤 씨드(RS)를 적용함으로써 제2 데이터(D2)를 생성할 수 있다. NAND 게이트(132b)는 제1 데이터(D1) 및 제2 데이터(D2)에 대한 NAND 연산을 통해서 랜덤 넘버(RN)를 생성할 수 있다. Referring to FIG. 8B, the
일 실시예에서, 대칭키 암호 알고리즘 프로세서(112b)는 랜덤 씨드(RS)를 기초로 대칭키 암호 알고리즘에 대해 복수 번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있다. In one embodiment, the symmetric key
도 9는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 도 6과 중복되는 내용은 생략한다.9 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure; The contents overlapping with FIG. 6 are omitted.
도 9를 참조하면, 포스트 프로세서(100c)는 제1 알고리즘 프로세서(110c), 제2 알고리즘 프로세서(120c), 로직 게이트(130c) 및 제3 알고리즘 프로세서(140c)를 포함할 수 있다. 제1 알고리즘 프로세서(110c)는 랜덤 씨드(RS)를 수신하고, 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용함으로써 제1 데이터(D1)를 생성할 수 있다. 제2 알고리즘 프로세서(120c)는 랜덤 씨드(RS)를 수신하고, 수신한 랜덤 씨드(RS)를 제2 알고리즘에 적용함으로써 제2 데이터(D2)를 생성할 수 있다. 로직 게이트(130c)는 제1 데이터(D1) 및 제2 데이터(D2)를 수신하고, 수신한 제1 데이터(D1) 및 제2 데이터(D2)에 대한 로직 연산을 수행함으로써 제3 데이터(D3)를 생성할 수 있다. 제3 알고리즘 프로세서(140c)는 제3 데이터(D3)를 수신하고, 수신한 제3 데이터를 제3 알고리즘에 적용함으로써 랜덤 넘버(RN)를 생성할 수 있다. 로직 게이트(130c)는 게이트 소자로 구성될 수 있고, NAND 게이트, NOR 게이트, OR 게이트, AND 게이트, XOR 게이트 등을 포함할 수 있다. 9, the
본 개시의 일 실시예에 따르면, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개의 알고리즘은 서로 다른 바이어스 성질을 가질 수 있다. 일 실시예에서, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개의 알고리즘은 서로 상이한 카테고리의 암호 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 비대칭 암호 알고리즘이고, 제2 알고리즘은 해쉬 함수 알고리즘이고, 제3 알고리즘은 비대칭 알고리즘일 수 있다. 또 다른 실시예에서, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개의 알고리즘은 같은 카테고리에 포함되는 서로 상이한 알고리즘일 수 있다. According to one embodiment of the present disclosure, at least two of the first algorithm, the second algorithm and the third algorithm may have different biasing properties. In one embodiment, at least two of the first algorithm, the second algorithm and the third algorithm may be cryptographic algorithms of different categories. As an example, the first algorithm may be an asymmetric encryption algorithm, the second algorithm may be a hash function algorithm, and the third algorithm may be an asymmetric algorithm. In another embodiment, at least two of the first algorithm, the second algorithm and the third algorithm may be different algorithms included in the same category.
또한, 일 실시예에서, 제1 알고리즘 프로세서(110c), 제2 알고리즘 프로세서(120c) 및 제3 알고리즘 프로세서(130c) 중 적어도 하나는 도 4에서 상술한 바와 같이 같은 알고리즘에 대해 입력 값을 고초 복수 번 피드백 대입 동작을 수행함으로써 출력 값을 생성할 수 있다.Also, in one embodiment, at least one of the
도 10은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.10 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure.
도 10을 참조하면, 포스트 프로세서(100d)는 제1 알고리즘 프로세서(110d), 제2 알고리즘 프로세서(120d) 및 바이어스 체커(150d)를 포함할 수 있다. 제1 알고리즘 프로세서(110d)는 랜덤 씨드 생성기로부터 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용시킴으로써 제1 데이터(D1)를 생성하고, 생성한 제1 데이터(D1)를 제2 알고리즘 프로세서(120d) 및 바이어스 체커(150d)에 출력할 수 있다. 제2 알고리즘 프로세서(120d)는 제1 알고리즘 프로세서(110d)로부터 수신한 제1 데이터(D1)를 제2 알고리즘에 적용시킴으로써 제2 데이터(D2)를 생성하고, 생성한 제2 데이터(D2)를 바이어스 체커(150d)에 출력할 수 있다. 10, the
본 개시의 일 실시예에 따르면, 제1 알고리즘 및 제2 알고리즘은 서로 다른 바이어스 성질을 가질 수 있고, 이에 따라서 제1 데이터(D1) 및 제2 데이터(D2)의 바이어스는 서로 다를 수 있다. 바이어스 체커(150d)는 서로 다른 바이어스를 갖는 제1 데이터(D1) 및 제2 데이터(D2)를 수신하고, 미리 결정된 바이어스 평가 방법(예를 들면, D-monomial test)에 기초하여 제1 데이터(D1) 및 제2 데이터(D2) 중 어느 하나를 랜덤 넘버(RN)로써 외부에 출력할 수 있다. 일 실시예에서, 바이어스 체커(150d)는 제1 데이터(D1) 및 제2 데이터(D2) 중 비편향성이 더 좋은 데이터를 랜덤 넘버(RN)로써 외부에 출력할 수 있다.According to one embodiment of the present disclosure, the first algorithm and the second algorithm may have different biasing properties, and accordingly, the bias of the first data D1 and the second data D2 may be different from each other. The
도 11은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 11 is a block diagram illustrating a post processor in accordance with an exemplary embodiment of the present disclosure;
도 11을 참조하면, 포스트 프로세서(100e)는 제1 알고리즘 프로세서(110e), 제2 알고리즘 프로세서(120e) 및 디멀티플렉서(DEMUX)를 포함할 수 있다. 제1 알고리즘 프로세서(110e)는 랜덤 씨드 생성기로부터 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용시킴으로써 제1 데이터(D1)를 생성하고, 생성한 제1 데이터(D1)를 디멀티플렉서(DEMUX)에 출력할 수 있다. 디멀티플렉서(DEMUX)는 외부(예를 들면, 어플리케이션 프로세서(AP))로부터 수신한 선택 신호(S1)에 기초하여 제1 데이터(D1)를 제2 알고리즘 프로세서(120e) 또는 외부로 출력할 수 있다. 제2 알고리즘 프로세서(120e)는 수신한 제1 데이터(D1)를 제2 알고리즘에 적용시킴으로써 제2 데이터(D2)를 생성하고, 생성한 제2 데이터(D2)를 외부에 출력할 수 있다. Referring to FIG. 11, the
일 실시예에서, 포스트 프로세서(100e)는 선택 신호(S1)에 기초하여 제1 데이터(D1)를 랜덤 넘버로써 외부에 출력할 수 있다. 또 다른 실시예에서, 포스트 프로세서(100e)는 선택 신호(S1)에 기초하여 제2 데이터(D2)를 랜덤 넘버로써 외부에 출력할 수 있다. In one embodiment, the
도 12는 본 개시의 예시적 실시예에 따른 랜덤 넘버 생성기를 나타내는 블록도이다. 도 6과 중복되는 내용은 생략한다.12 is a block diagram illustrating a random number generator in accordance with an exemplary embodiment of the present disclosure. The contents overlapping with FIG. 6 are omitted.
도 12를 참조하면, 랜덤 넘버 생성기(10f)는 제1 랜덤 씨드 생성기(200f), 제2 랜덤 씨드 생성기(300f), 제1 알고리즘 프로세서(110f), 제2 알고리즘 프로세서(120f) 및 로직 게이트(130f)를 포함할 수 있다. 제1 랜덤 씨드 생성기(200f)는 엔트로피 소스로부터 수신한 엔트로피 신호에 기초하여 디지털 영역의 제1 랜덤 씨드(RS1)를 생성할 수 있다. 제2 랜덤 씨드 생성기(300f)는 엔트로피 소스로부터 수신한 엔트로피 신호에 기초하여 디지털 영역의 제2 랜덤 씨드(RS2)를 생성할 수 있다. 제1 랜덤 씨드(RS1) 및 제2 랜덤 씨드(RS2)는 동일한 엔트로피 신호 또는 상이한 엔트로피 신호에 기초하여 생성될 수 있고, 제1 랜덤 씨드(RS1) 및 제2 랜덤 씨드(RS2)는 서로 상이할 수 있다.12, the random number generator 10f includes a first
제1 알고리즘 프로세서(110f)는 제1 랜덤 씨드(RS1)를 제1 알고리즘에 적용함으로써 제1 데이터(D1)를 생성할 수 있다. 제2 알고리즘 프로세서(120f)는 제2 랜덤 씨드(RS2)를 제2 알고리즘에 적용함으로써 제2 데이터(D2)를 생성할 수 있다. 로직 게이트(130f)는 제1 데이터(D1) 및 제2 데이터(D2)를 수신하고, 수신한 제1 데이터(D1) 및 제2 데이터(D2)에 대한 로직 연산을 수행함으로써 랜덤 넘버(RN)를생성할 수 있다. 로직 게이트(130f)는 게이트 소자로 구성될 수 있고, NAND 게이트, NOR 게이트, OR 게이트, AND 게이트, XOR 게이트 등을 포함할 수 있다. The
도 13a 내지 도 13h는 본 개시의 예시적 실시예에 따른 엔트로피 소스를 나타내는 도면들이다. 13A-13H are diagrams illustrating an entropy source in accordance with an exemplary embodiment of the present disclosure.
도 1 및 도 13a 내지 도 13h를 참조하면, 엔트로피 소스(20)는 도 13a에 도시된 바와 같이 입력 단자와 출력 단자가 연결된 인버터(INV)일 수 있다. 또 다른 실시예에서, 도 13b에 도시된 바와 같이 인버터(INV)의 입력 단자와 출력 단자 사이에 스위치(SW)가 연결될 수 있다. 스위치(SW)는 외부로부터 입력받은 인에이블 신호(EN)에 응답하여 턴 온/턴 오프될 수 있다. 스위치(SW)가 턴 온(turned on)되면, 인버터(INV)의 입력 단자와 출력 단자가 서로 연결되게 되고, 이 경우 상기 인버터(INV)의 출력 전압은 준안정 레벨(metastable level)로 수렴하게 되고, 계속해서 그 상태로 머무르게 될 수 있다. 열잡음(thermal noise)으로 인해, 상기 인버터(INV)의 출력 전압은 준안정 레벨(metastable level)에서 확률적으로 변동할 수 있다.Referring to FIG. 1 and FIGS. 13A to 13H, the
도 13c 및 도 13d를 참조하면, 엔트로피 소스(20)는 입력 단자와 출력 단자가 연결된 NAND 게이트 또는 NOR 게이트일 수 있다. NAND 게이트의 일 입력 단자에 인에이블 신호(EN)(예를 들어, '1')가 입력된 경우, NAND 게이트의 입력 단자와 출력 단자가 연결되어 있기 때문에, NAND 게이트의 출력 전압은 준안정 레벨로 수렴하게 된다. 마찬가지로, NOR 게이트의 일 입력 단자에 인에이블 신호(EN)(예를 들어, '0')가 입력된 경우, NOR 게이트의 입력 단자와 출력 단자가 연결되어 있기 때문에, NOR 게이트의 출력 전압은 준안정 레벨로 수렴하게 된다.13C and 13D, the
도 13e를 참조하면, 엔트로피 소스(20)는 멀티플렉서(MUX)를 더 포함할 수 있고, 인버터(INV)의 출력 단자와 멀티플렉서의 제1 입력 단자가 서로 연결될 수 있다. 따라서 멀티플렉서(MUX)에 인가되는 선택 신호(E)에 따라, 인버터(INV)의 출력 단자가 준안정 레벨로 수렴하거나, 멀티플렉서(MUX)의 제2 단자에 연결된 신호가 인버터(INV)로 전달될 수 있다. 도 13e의 인버터(INV)는 NAND 게이트, NOR 게이트 등으로도 구현될 수 있다. 이 경우 NAND 게이트 및 NOR 게이트의 입력 단자들은 서로 연결되도록 구성될 수 있다.13E, the
도 13f는 인버터(INV)의 입력 단자에 문턱 전압(Vth)이 인가되는 구성이 도시된다. 상기 문턱 전압의 열잡음으로 인해, 인버터(INV)의 출력 전압이 확률적으로 변동될 수 있다. 도 13g은 도 13f의 구성에 인버터(INV)와 연결된 가변 저항들이 더 구현된 구성을 도시하며, 상기 가변 저항들에 의해 인버터(INV)의 문턱 전압 특성이 조절될 수 있다. 도 13h은 가변 저항들을 변화시킴로써 인버터(INV)에 인가되는 문턱 전압이 조절될 수 있는 구성을 도시한다.13F shows a configuration in which the threshold voltage Vth is applied to the input terminal of the inverter INV. Due to the thermal noise of the threshold voltage, the output voltage of the inverter INV can be stochastically varied. FIG. 13G shows a configuration in which variable resistors connected to the inverter INV are further implemented in the configuration of FIG. 13F, and the threshold voltage characteristic of the inverter INV can be adjusted by the variable resistors. 13H shows a configuration in which the threshold voltage applied to the inverter INV can be adjusted by changing the variable resistors.
도 14는 본 개시의 예시적 실시예에 따른 랜덤 씨드 생성기를 나타내는 블록도이다.14 is a block diagram illustrating a random seed generator in accordance with an exemplary embodiment of the present disclosure;
도 1 및 도 14를 참조하면, 랜덤 씨드 생성기(200)는 랜덤 씨드 수집부(210) 및 랜덤 씨드 저장부(220)를 포함할 수 있다. 랜덤 씨드 수집부(210)는 엔트로피 신호(Ent)를 샘플링함으로써 디지털 영역의 랜덤 씨드(RS)를 생성할 수 있다. 랜덤 씨드 저장부(220)는 디지털 영역의 랜덤 씨드(RS)를 저장하고, 클럭 신호에 대응하여 포스트 프로세서(100)에 랜덤 씨드(RS)를 출력할 수 있다.Referring to FIGS. 1 and 14, the
도 15a 및 도 15b는 본 개시의 예시적 실시예에 따른 랜덤 씨드 생성기를 나타내는 블록도이다. 도 14와 중복되는 내용은 생략한다.15A and 15B are block diagrams illustrating a random seed generator according to an exemplary embodiment of the present disclosure; The contents overlapping with those in Fig. 14 will be omitted.
도 15a 및 도 15b를 참조하면, 랜덤 씨드 생성기(201, 202)는 랜덤 씨드 수집부(211, 212) 및 랜덤 씨드 저장부(221)를 포함할 수 있다. 일 예시에서 랜덤 씨드 수집부(211)는 도 15a와 같이 직렬 연결된 복수의 인버터를 포함할 수 있고, 또 다른 예시에서 랜덤 씨드 수집부(212)는 직렬 연결된 복수의 NAND 게이트를 포함할 수 있다. Referring to FIGS. 15A and 15B, the
랜덤 씨드 저장부(221)는 랜덤 씨드를 저장하기 위한 저장 소자를 포함할 수 있고, 일 예시에서 D-플립플롭을 포함할 수 있다. 랜덤 씨드 저장부(221)는 클럭 신호에 대응하여 랜덤 씨드를 포스트 프로세서에 출력할 수 있다. The random
도 16은 본 개시의 예시적 실시예에 따른 보안 장치가 구현된 스마트 카드를 나타내는 도면이다.16 is a diagram illustrating a smart card in which a security device according to an exemplary embodiment of the present disclosure is implemented.
도 16을 참조하면, 스마트 카드(700)는 전술한 실시예들에 따른 보안 장치를 포함할 수 있다. 스마트 카드(700)에서는 카드 소자자의 인증이 기본적으로 수행되므로, 카드 리더(미도시)와 스마트 카드(700) 사이의 인증이 필요하다. 이러한 인증은 예를 들어, 상기 카드 리더가 스마트 카드(700)에 저장된 인증 정보를 수신하여 정당성을 확인하는 방식으로 수행될 수 있다. 이 경우 상기 인증 정보에 대한 보안 유지가 필요하므로, 인증 정보를 암호화하는 적절한 알고리즘 및 상기 알고리즘에 사용하는 보안 장치가 구현될 필요가 있다.Referring to FIG. 16, the
반도체 칩(500)은 전술한 인증 기능을 수행하기 위해 본 개시의 기술적 사상에 의한 실시예들에 따른 보안 장치를 포함할 수 있다. 즉, 반도체 칩(500)에 포함되는 랜덤 넘버 생성 장치는 바이어스 성질이 상이한 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성할 수 있다.The
안테나(800)는 카드 리더로부터 전원을 수신하여 반도체 칩(500)으로 전달하거나, 반도체 칩(500)에 의해 생성된 암호화된 인증 정보를 전송하는 기능을 수행할 수 있다. The
반도체 칩(500)은 전원 회로, 클록 생성 회로, 로직 회로, 및 데이터 통신 회로를 포함할 수 있다. 전원 회로는 안테나(800)로부터 수신된 교류 신호에 기초하여 직류 전원을 생성할 수 있다. 또한, 전원 회로는 전원이 인가됨에 따라 기 저장된 데이터를 리셋시키는 파워 온 리셋 회로를 포함할 수 있다.The
클럭 생성 회로는 안테나(800)로부터 수신된 교류 신호를 클럭 신호로 변환하여 로직 회로로 인가할 수 있다. 로직 회로는 제어부, 메모리, 및 보안 장치를 포함할 수 있다. 보안 장치는 디지털 랜덤 넘버(RN)를 생성 하며, 그 구성은 전술한 실시예들에 도시되어 있는바 구체적인 설명은 생략하기로 한다. 제어부는 보안 장치에 의해 생성된 디지털 랜덤 넘버(RN)를 기초로 인증 정보를 암호화하도록 구성될 수 있다. 메모리는 인증 정보, 디지털 랜덤 넘버(RN), 및 암호화된 인증 정보 등을 저장하는 기능을 수행한다.The clock generation circuit may convert the AC signal received from the
데이터 통신 회로는 카드 리더 및 안테나(800)로부터 수신되는 정보를 처리하여 로직 회로로 전달하거나, 로직 회로에 의해 생성된 암호화된 인증 정보를 처리하여 안테나(800) 및 카드 리더로 전달하는 기능을 수행할 수 있다.The data communication circuit processes the information received from the card reader and the
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. As described above, exemplary embodiments have been disclosed in the drawings and specification. Although the embodiments have been described herein with reference to specific terms, it should be understood that they have been used only for the purpose of describing the technical idea of the present disclosure and not for limiting the scope of the present disclosure as defined in the claims . Therefore, those skilled in the art will appreciate that various modifications and equivalent embodiments are possible without departing from the scope of the present invention. Accordingly, the true scope of protection of the present disclosure should be determined by the technical idea of the appended claims.
Claims (10)
제1 알고리즘 및 제2 알고리즘을 이용하여 상기 랜덤 씨드로부터 랜덤 넘버를 생성하는 포스트 프로세서;를 포함하고,
결과값의 비편향성(Unbiasness)을 나타내는 바이어스 성질에 있어서, 상기 제1 알고리즘의 바이어스 성질과 상기 제2 알고리즘의 바이어스 성질은 서로 상이한 것을 특징으로 하는 랜덤 넘버 생성기.A random seed generator for receiving an entropy signal and outputting a random seed of a digital domain generated using the entropy signal; And
And a post processor for generating a random number from the random seed using a first algorithm and a second algorithm,
Wherein the bias property of the first algorithm and the bias property of the second algorithm are different from each other in the bias property indicating the unbias of the result value.
상기 포스트 프로세서는,
상기 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 제1 데이터를 생성하고, 상기 제1 데이터를 상기 제2 알고리즘에 적용함으로써 상기 랜덤 넘버를 생성하는 것을 특징으로 하는 랜덤 넘버 생성기.The method according to claim 1,
The post-
Wherein the random number generator generates the random number by applying the random seed to the first algorithm to generate the first data and applying the first data to the second algorithm.
상기 포스트 프로세서는 상기 랜덤 씨드을 기초로 상기 제1 알고리즘에 대해 피드백 대입 동작을 N(N은 자연수)번 수행함으로써 상기 제1 데이터를 생성하고, 상기 제1 데이터을 기초로 상기 제2 알고리즘에 대해 피드백 대입 동작을 M(M은 자연수)번 수행함으로써 상기 랜덤 넘버를 생성하는 것을 특징으로 하는 랜덤 넘버 생성기.3. The method of claim 2,
Wherein the post processor generates the first data by performing a feedback assignment operation for the first algorithm on the basis of the random seed N (N is a natural number) times, and performs feedback assignment on the second algorithm based on the first data Wherein the random number generator generates the random number by performing an operation M times (M is a natural number).
상기 포스트 프로세서는,
상기 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 제1 데이터를 생성하고, 상기 랜덤 씨드를 상기 제2 알고리즘에 적용함으로써 제2 데이터를 생성하고, 상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 랜덤 넘버를 생성하는 것을 특징으로 하는 랜덤 넘버 생성기.The method according to claim 1,
The post-
Generating first data by applying the random seed to the first algorithm, generating second data by applying the random seed to the second algorithm, and using the first data and the second data to generate the random And generates a number.
제1 엔트로피 신호를 수신하고, 상기 제1 엔트로피 신호를 이용하여 생성한 제1 랜덤 씨드를 출력하는 제1 랜덤 씨드 생성기; 및
제2 엔트로피 신호를 수신하고, 상기 제2 엔트로피 신호를 이용하여 생성한 제2 랜덤 씨드를 출력하는 제2 랜덤 씨드 생성기;를 더 포함하고,
상기 포스트 프로세서는,
상기 제1 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 제1 데이터를 생성하고, 상기 제2 랜덤 씨드를 상기 제2 알고리즘에 적용함으로써 제2 데이터를 생성하고, 상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 랜덤 넘버를 생성하는 것을 특징으로 하는 랜덤 넘버 생성기.The method according to claim 1,
A first random seed generator for receiving a first entropy signal and outputting a first random seed generated using the first entropy signal; And
And a second random seed generator for receiving a second entropy signal and outputting a second random seed generated using the second entropy signal,
The post-
Generating first data by applying the first random seed to the first algorithm, generating second data by applying the second random seed to the second algorithm, and transmitting the first data and the second data Wherein the random number generator generates the random number using the random number generator.
상기 포스트 프로세서는,
상기 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 제1 데이터를 생성하고, 상기 제1 데이터를 상기 제2 알고리즘에 적용함으로써 제2 데이터를 생성하고, 상기 제2 데이터를 제3 알고리즘에 적용함으로써 제3 데이터를 생성하는 것을 특징으로 하는 랜덤 넘버 생성기.The method according to claim 1,
The post-
Generating first data by applying the random seed to the first algorithm, generating second data by applying the first data to the second algorithm, and applying the second data to a third algorithm, And generates the random number generator.
상기 랜덤 씨드 생성기는,
엔트로피 소스로부터 수신한 엔트로피에 대한 샘플링을 통해서 랜덤 씨드를 생성하는 랜덤 씨드 수집부;및
상기 랜덤 씨드를 저장하는 랜덤 씨드 저장부;를 포함하는 것을 특징으로 하는 랜덤 넘버 생성기.The method according to claim 1,
Wherein the random seed generator comprises:
A random seed collector for generating a random seed by sampling entropy received from an entropy source;
And a random seed storage for storing the random seed.
상기 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 디지털 랜덤 씨드를 출력하는 랜덤 씨드 생성기; 및
제1 알고리즘 및 제2 알고리즘을 이용하여 상기 디지털 랜덤 씨드로부터 랜덤 넘버를 생성하는 포스트 프로세서;를 포함하고,
상기 제1 알고리즘은 대칭키 암호 알고리즘이고, 상기 제2 알고리즘은 해쉬 함수 알고리즘인 것을 특징으로 하는 보안 장치.An entropy source for generating an entropy signal using randomness;
A random seed generator for receiving the entropy signal and outputting a digital random seed generated using the entropy signal; And
And a post processor for generating a random number from the digital random seed using a first algorithm and a second algorithm,
Wherein the first algorithm is a symmetric key encryption algorithm and the second algorithm is a hash function algorithm.
상기 포스트 프로세서는,
상기 디지털 랜덤 씨드를 기초로 상기 제1 알고리즘에 대해 피드백 대입 동작을 N(N은 자연수)번 수행함으로써 제1 데이터를 생성하는 제1 알고리즘 프로세서;및
상기 제1 데이터를 기초로 상기 제2 알고리즘에 대해 피드백 대입 동작을 M(M은 자연수)번 수행함으로써 상기 랜덤 넘버를 생성하는 제2 알고리즘 프로세서;를 포함하는 것을 특징으로 하는 보안 장치.9. The method of claim 8,
The post-
A first algorithm processor for generating first data by performing a feedback assignment operation on N (N is a natural number) times for the first algorithm based on the digital random seed; and
And a second algorithm processor for generating the random number by performing a feedback assignment operation on the second algorithm based on the first data M (M is a natural number) times.
상기 포스트 프로세서는,
상기 디지털 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 제1 데이터를 생성하는 제1 알고리즘 프로세서;
상기 디지털 랜덤 씨드를 상기 제2 알고리즘에 적용함으로써 제2 데이터를 생성하는 제2 알고리즘 프로세서;및
상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 랜덤 넘버를 생성하는 로직 게이트;를 포함하는 것을 특징으로 하는 보안 장치.
10. The method of claim 9,
The post-
A first algorithm processor for generating the first data by applying the digital random seed to the first algorithm;
A second algorithm processor for generating second data by applying the digital random seed to the second algorithm;
And a logic gate for generating the random number using the first data and the second data.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/182,897 US11036472B2 (en) | 2017-11-08 | 2018-11-07 | Random number generator generating random number by using at least two algorithms, and security device comprising the random number generator |
CN201811327930.2A CN109756327B (en) | 2017-11-08 | 2018-11-08 | Random number generator and security device comprising a random number generator |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170148331 | 2017-11-08 | ||
KR20170148331 | 2017-11-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190052605A true KR20190052605A (en) | 2019-05-16 |
KR102628008B1 KR102628008B1 (en) | 2024-01-23 |
Family
ID=66671892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180091295A KR102628008B1 (en) | 2017-11-08 | 2018-08-06 | Random number generator generating random number by using at least two algorithms and security device comprising the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102628008B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102248890B1 (en) * | 2019-11-15 | 2021-05-06 | 정기영 | System and method for lottery based on public blockchain and verification thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101004269B1 (en) * | 2005-08-24 | 2011-01-03 | 퀄컴 인코포레이티드 | Cryptographically secure pseudo-random number generator |
KR20140135435A (en) * | 2013-05-16 | 2014-11-26 | 인포뱅크 주식회사 | Payment processing system, device and method |
US20150095648A1 (en) * | 2013-09-10 | 2015-04-02 | John A. Nix | Secure PKI Communications for "Machine-to-Machine" Modules, including Key Derivation by Modules and Authenticating Public Keys |
US20160328211A1 (en) * | 2011-09-30 | 2016-11-10 | Los Alamos National Security, Llc | Quantum random number generators |
-
2018
- 2018-08-06 KR KR1020180091295A patent/KR102628008B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101004269B1 (en) * | 2005-08-24 | 2011-01-03 | 퀄컴 인코포레이티드 | Cryptographically secure pseudo-random number generator |
US20160328211A1 (en) * | 2011-09-30 | 2016-11-10 | Los Alamos National Security, Llc | Quantum random number generators |
KR20140135435A (en) * | 2013-05-16 | 2014-11-26 | 인포뱅크 주식회사 | Payment processing system, device and method |
US20150095648A1 (en) * | 2013-09-10 | 2015-04-02 | John A. Nix | Secure PKI Communications for "Machine-to-Machine" Modules, including Key Derivation by Modules and Authenticating Public Keys |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102248890B1 (en) * | 2019-11-15 | 2021-05-06 | 정기영 | System and method for lottery based on public blockchain and verification thereof |
Also Published As
Publication number | Publication date |
---|---|
KR102628008B1 (en) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101727130B1 (en) | Device and method for obtaining a cryptographic key | |
Güneysu et al. | Cryptanalysis with COPACOBANA | |
US11232718B2 (en) | Methods and devices for protecting data | |
Acosta et al. | Embedded electronic circuits for cryptography, hardware security and true random number generation: an overview | |
JP5954030B2 (en) | Cryptographic processing apparatus and method | |
JPWO2009025220A1 (en) | Secret information distribution system, method and program, and transmission system | |
US20190363891A1 (en) | Encryption device and decryption device | |
US20210211303A1 (en) | Signature device, verification device, signature system, signature method, verification method, and computer readable medium | |
Gebotys | Security in embedded devices | |
Thangamani et al. | A lightweight cryptography technique with random pattern generation | |
CN110602190A (en) | Block chain consensus method, block chain node and storage device | |
KR102628008B1 (en) | Random number generator generating random number by using at least two algorithms and security device comprising the same | |
US7450716B2 (en) | Device and method for encrypting data | |
EP3785399A1 (en) | Method for generating on-board a cryptographic key using a physically unclonable function | |
Rahman et al. | Design and security-mitigation of custom and configurable hardware cryptosystems | |
JP6491162B2 (en) | Data transmission / reception method and sensing system | |
CN113961979A (en) | Relay protection safety chip password service module and Hash algorithm unit thereof | |
JP4435593B2 (en) | Tamper resistant information processing equipment | |
Croock et al. | Adaptive key generation algorithm based on software engineering methodology | |
US20210226791A1 (en) | Encryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program | |
US11036472B2 (en) | Random number generator generating random number by using at least two algorithms, and security device comprising the random number generator | |
Yu et al. | On designing PUF-based TRNGs with known answer tests | |
Kounavis et al. | Implicit Data Integrity: Protecting User Data without MACs. | |
KR20160090556A (en) | On-line/off-line electronic signature system for security of off-line token and its method | |
Singh et al. | A random key generation scheme using primitive polynomials over GF (2) |
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 |