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 PDF

Info

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
Application number
KR1020180091295A
Other languages
Korean (ko)
Other versions
KR102628008B1 (en
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 US16/182,897 priority Critical patent/US11036472B2/en
Priority to CN201811327930.2A priority patent/CN109756327B/en
Publication of KR20190052605A publication Critical patent/KR20190052605A/en
Application granted granted Critical
Publication of KR102628008B1 publication Critical patent/KR102628008B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

Disclosed are a random number generator generating a random number by using at least two algorithms and a security device including the same. According to the present disclosure, the random number generator comprises: a random seed generator for receiving an entropy signal and outputting a random seed generated by using the entropy signal; and a post processor for generating a random number from the random seed by using a first algorithm and a second algorithm. In a bias property indicating an unbiasness of a result value, a bias property of the first algorithm and a bias property of the second algorithm are different from each other.

Description

적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치{RANDOM NUMBER GENERATOR GENERATING RANDOM NUMBER BY USING AT LEAST TWO ALGORITHMS AND SECURITY DEVICE COMPRISING THE SAME}TECHNICAL FIELD [0001] The present invention relates to a random number generator for generating a random number using at least two algorithms, and a security apparatus including the random number generator. [0002]

본 개시의 기술적 사상은 랜덤 넘버 생성기 및 이를 포함하는 보안 장치에 관한 것으로, 더욱 상세하게는 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치에 관한 것이다.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 security device 1 may include a random number generator 10 and an entropy source 20, and the random number generator 10 may include a random seed generator 200 and a post processor 100 . The entropy source 20 can generate the entropy signal Ent and output it to the random seed generator 200. The entropy source Ent can generate an entropy signal Ent based on randomness. In one example, the entropy signal Ent includes user motion, thermal noise of a resistor, short noise of a PN junction of a semiconductor, A short noise due to generation, a generation wave of radiation, and the like. In one embodiment, the entropy source 20 may generate an entropy signal Ent that varies stochastically in a meta-stable state, which will be described later in Figs. 13a to 13h.

랜덤 씨드 생성기(200)는 엔트로피 소스(20)로부터 수신한 엔트로피 신호(Ent)에 기초하여 디지털 영역의 랜덤 씨드(RS)를 생성할 수 있다. 일 실시예에서, 랜덤 씨드 생성기(200)는 엔트로피 신호(Ent)를 증폭시키고, 증폭시킨 엔트로피 신호(Ent)를 샘플링함으로써 랜덤 씨드(RS)를 생성할 수 있다. 랜덤 씨드 생성기(200)에 대해서는 도 14 내지 도 15b에서 후술한다.The random seed generator 200 may generate a random seed RS of the digital domain based on the entropy signal Ent received from the entropy source 20. In one embodiment, the random seed generator 200 may generate the random seed RS by amplifying the entropy signal Ent and sampling the amplified entropy signal Ent. The random seed generator 200 will be described later with reference to FIGS. 14 to 15B.

포스트 프로세서(100)는 수신한 랜덤 씨드(RS)에 대한 후처리를 수행하여 랜덤 넘버(RN)를 생성할 수 있다. 본 개시의 기술적 사상에 따르면, 포스트 프로세서(100)는 적어도 두 개의 알고리즘을 이용하여 랜덤 씨드(RS)로부터 랜덤 넘버(RN)를 생성할 수 있다. 일 실시예에서, 적어도 두 개의 알고리즘은 서로 바이어스 성질이 상이한 알고리즘일 수 있다. The post processor 100 may perform post-processing on the received random seed RS to generate a random number RN. According to the teachings of the present disclosure, the post processor 100 may generate a random number (RN) from a random seed (RS) using at least two algorithms. In one embodiment, at least two algorithms may be algorithms that differ in their biasing properties from one another.

본 명세서에서 바이어스 성질이란, 알고리즘에 랜덤 씨드(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 post processor 100 according to the technical idea of the present disclosure has a plurality of By applying a random seed (RS) to the algorithms, it is possible to generate a random number (RN) with an increased non-bias property evaluated by the above-described test methods.

도 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 post processor 100 may include a first algorithm processor 110 and a second algorithm processor 120. The first algorithm processor 110 generates the first data D1 by applying the random seed RS received from the random seed generator 200 to the first algorithm and the second algorithm processor 120 generates the first data D1 by applying the first algorithm The random number RN may be generated by applying the first data D1 received from the processor 110 to the second algorithm. The first algorithm and the second algorithm may be any of an asymmetric key encryption algorithm, a symmetric key encryption algorithm (or a block encryption algorithm), and a hash function algorithm.

비대칭키 암호화 알고리즘은 공개되는 공개키(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 post processor 100 receives the random seed RS from the random seed generator S110 and applies the received random seed RS to the first algorithm to generate the first data D1 (S120). The post processor 100 may generate the random number RN by applying the first data D1 to the second algorithm again (S130). The post processor 100 may output the generated random number RN to the outside (S140).

본 개시의 기술적 사상에 따르면, 제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 post processor 100 receives a random seed (RS) from a random seed generator (S210), and calculates N (N is an integer) for the first algorithm based on the received random seed The first data D1 can be generated by performing the feedback substitution operation (S220). In this specification, the feedback assignment operation may mean an operation of assigning the result value of the algorithm to the algorithm again. As an example, when the feedback assignment operation is performed twice to the first algorithm on the basis of the random seed RS, the post processor 100 substitutes the random seed RS into the first algorithm, 1 algorithm to generate the first data. That is, the feedback assignment operation N times may mean that the operation of substituting the random seed RS into the first algorithm and substituting the result again is performed N-1 times.

포스트 프로세서(100)는 제1 데이터(D1)를 기초로 제2 알고리즘에 대해 M(M은 자연수)번 피드백 대입 동작을 수행함으로써 랜덤 넘버(RN)를 생성할 수 있다(S230). 포스트 프로세서(100)는 생성한 랜덤 넘버(RN)를 외부에 출력할 수 있다(S240).The post processor 100 may generate a random number RN by performing M (M is a natural number) feedback substitution operation on the second algorithm based on the first data D1 (S230). The post processor 100 may output the generated random number RN to the outside (S240).

본 개시의 일 실시예에 따르면, 랜덤 씨드(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 post processor 100a may include a first algorithm processor 110a, a second algorithm processor 120a, and a third algorithm processor 130a. The first algorithm processor 110a may generate the first data D1 by applying the random seed RS received from the random seed generator to the first algorithm and the second algorithm processor 120a may generate the first data D1 by applying the random seed RS received from the random seed generator to the first algorithm processor & The third algorithm processor 130a can generate the second data D2 by applying the first data D1 received from the second algorithm processor 120a to the second algorithm, 2 data D2 to the third algorithm to generate the random number RN.

본 개시의 일 실시예에 따르면, 제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 first algorithm processor 110a, the second algorithm processor 120a, and the third algorithm processor 130a may be based on an input value for the same algorithm, An output value can be generated by performing the feedback repetition and substitution operation a plurality of times.

도 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 post processor 100b may include a first algorithm processor 110b, a second algorithm processor 120b, and a logic gate 130b. The first algorithm processor 110b may generate the first data D1 by receiving the random seed RS and applying the received random seed RS to the first algorithm. The second algorithm processor 120b may receive the random seed RS and generate the second data D2 by applying the received random seed RS to the second algorithm. The logic gate 130b receives the first data D1 and the second data D2 and performs a logic operation on the received first data D1 and the second data D2 to generate a random number RN, Lt; / RTI > The logic gate 130b may be composed of a gate element, and may include a NAND gate, a NOR gate, an OR gate, an AND gate, an XOR gate, and the like.

본 개시의 일 실시예에 따르면, 제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 post processor 100b generates a random number RN through logic operations on the first data D1 and the second data D2 with different biases, Unbiasness can be increased.

또한, 일 실시예에서, 제1 알고리즘 프로세서(110b) 또는 제2 알고리즘 프로세서(120b)는 도 4에서 상술한 바와 같이 같은 알고리즘에 대해 입력 값을 기초로 복수 번 피드백 대입 동작을 수행함으로써 출력 값을 생성할 수 있다.Further, in one embodiment, the first algorithm processor 110b or the second algorithm processor 120b performs the feedback assignment operation on the basis of the input value for the same algorithm as described in Fig. 4, thereby outputting the output value Can be generated.

도 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 post processor 100b receives the random seed RS (S310) and generates the first data D1 by applying the received random seed RS to the first algorithm (S320). The post processor 100b may generate the second data D2 by applying the received random seed RS to a second algorithm different from the first algorithm S330. The post processor 100b may generate a random number RN through a logic operation on the first data D1 and the second data D2 in operation S340. The post processor 100b may output the generated random number RN to the outside (S350).

도 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 post processor 101b may include a symmetric key encryption algorithm processor 111b, a hash function algorithm processor 121b, and an XOR gate 131b. The symmetric key encryption algorithm processor 111b can generate the first data D1 by receiving the random seed RS and applying the random seed RS to the symmetric key encryption algorithm. In one embodiment, the symmetric key encryption algorithm processor 111b may receive the key from the outside and generate the first data D1 using the key. The hash function algorithm processor 121b may generate the second data D2 by applying a random seed RS to the hash function algorithm. The XOR gate 131b may generate the random number RN through an XOR operation on the first data D1 and the second data D2.

일 실시예에서, 대칭키 암호 알고리즘 프로세서(111b)는 랜덤 씨드(RS)를 기초로 대칭키 암호 알고리즘에 대해 복수 번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있다. In one embodiment, the symmetric key encryption algorithm processor 111b may generate the first data D1 by performing a plurality of feedback assignment operations on the symmetric key encryption algorithm based on the random seed RS.

도 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 post processor 102b may include a symmetric key encryption algorithm processor 112b, a hash function algorithm processor 122b, and a NAND gate 132b. The symmetric key encryption algorithm processor 112b may receive the random seed RS and generate the first data D1 by applying a random seed RS to the symmetric key encryption algorithm. In one embodiment, the symmetric key encryption algorithm processor 112b may receive the key from the outside and generate the first data D1 using the key. The hash function algorithm processor 122b may generate the second data D2 by applying a random seed (RS) to the hash function algorithm. The NAND gate 132b may generate the random number RN through a NAND operation on the first data D1 and the second data D2.

일 실시예에서, 대칭키 암호 알고리즘 프로세서(112b)는 랜덤 씨드(RS)를 기초로 대칭키 암호 알고리즘에 대해 복수 번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있다. In one embodiment, the symmetric key encryption algorithm processor 112b may generate the first data D1 by performing a feedback assignment operation multiple times on the symmetric key encryption algorithm based on the random seed (RS).

도 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 post processor 100c may include a first algorithm processor 110c, a second algorithm processor 120c, a logic gate 130c, and a third algorithm processor 140c. The first algorithm processor 110c may generate the first data D1 by receiving the random seed RS and applying the received random seed RS to the first algorithm. The second algorithm processor 120c may generate the second data D2 by receiving the random seed RS and applying the received random seed RS to the second algorithm. The logic gate 130c receives the first data D1 and the second data D2 and performs a logic operation on the received first data D1 and the second data D2 to generate the third data D3 Can be generated. The third algorithm processor 140c may generate the random number RN by receiving the third data D3 and applying the received third data to the third algorithm. The logic gate 130c may be composed of a gate element, and may include a NAND gate, a NOR gate, an OR gate, an AND gate, an XOR gate, and the like.

본 개시의 일 실시예에 따르면, 제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 first algorithm processor 110c, the second algorithm processor 120c, and the third algorithm processor 130c may provide input values for the same algorithm, An output value can be generated by performing a feedback input operation.

도 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 post processor 100d may include a first algorithm processor 110d, a second algorithm processor 120d, and a bias checker 150d. The first algorithm processor 110d generates the first data D1 by applying the random seed RS received from the random seed generator to the first algorithm and supplies the generated first data D1 to the second algorithm processor 120d and the bias checker 150d. The second algorithm processor 120d generates the second data D2 by applying the first data D1 received from the first algorithm processor 110d to the second algorithm and outputs the generated second data D2 And output it to the bias checker 150d.

본 개시의 일 실시예에 따르면, 제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 bias checker 150d receives the first data D1 and the second data D2 having different biases and outputs the first data D1 and the second data D2 based on a predetermined bias evaluation method (e.g., D-monomial test) D1) and the second data (D2) to the outside as a random number (RN). In one embodiment, the bias checker 150d may output data having better non-biasing data among the first data D1 and the second data D2 as a random number RN to the outside.

도 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 post processor 100e may include a first algorithm processor 110e, a second algorithm processor 120e, and a demultiplexer (DEMUX). The first algorithm processor 110e generates the first data D1 by applying the random seed RS received from the random seed generator to the first algorithm and outputs the generated first data D1 to the demultiplexer DEMUX Can be output. The demultiplexer DEMUX can output the first data D1 to the second algorithm processor 120e or the outside based on the selection signal S1 received from the outside (for example, the application processor AP). The second algorithm processor 120e can generate the second data D2 by applying the received first data D1 to the second algorithm and output the generated second data D2 to the outside.

일 실시예에서, 포스트 프로세서(100e)는 선택 신호(S1)에 기초하여 제1 데이터(D1)를 랜덤 넘버로써 외부에 출력할 수 있다. 또 다른 실시예에서, 포스트 프로세서(100e)는 선택 신호(S1)에 기초하여 제2 데이터(D2)를 랜덤 넘버로써 외부에 출력할 수 있다. In one embodiment, the post processor 100e can output the first data D1 as a random number to the outside based on the selection signal S1. In another embodiment, the post processor 100e can output the second data D2 as a random number to the outside based on the selection signal S1.

도 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 random seed generator 200f, a second random seed generator 300f, a first algorithm processor 110f, a second algorithm processor 120f, and a logic gate 130f. The first random seed generator 200f may generate the first random seed RS1 of the digital domain based on the entropy signal received from the entropy source. The second random seed generator 300f may generate a second random seed RS2 of the digital domain based on the entropy signal received from the entropy source. The first random seed RS1 and the second random seed RS2 may be generated based on the same entropy signal or different entropy signals and the first random seed RS1 and the second random seed RS2 may be different from each other .

제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 first algorithm processor 110f may generate the first data D1 by applying the first random seed RS1 to the first algorithm. The second algorithm processor 120f may generate the second data D2 by applying the second random seed RS2 to the second algorithm. The logic gate 130f receives the first data D1 and the second data D2 and performs a logic operation on the received first data D1 and the second data D2 to generate a random number RN, Lt; / RTI > The logic gate 130f may be composed of a gate element, and may include a NAND gate, a NOR gate, an OR gate, an AND gate, an XOR gate, and the like.

도 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 entropy source 20 may be an inverter INV to which an input terminal and an output terminal are connected as shown in FIG. 13A. In another embodiment, the switch SW may be connected between the input terminal and the output terminal of the inverter INV as shown in Fig. 13B. The switch SW may be turned on / off in response to an enable signal EN received from the outside. When the switch SW is turned on, the input terminal and the output terminal of the inverter INV are connected to each other. In this case, the output voltage of the inverter INV converges to a metastable level And can continue to stay in that state. Due to thermal noise, the output voltage of the inverter INV may fluctuate stochastically at a metastable level.

도 13c 및 도 13d를 참조하면, 엔트로피 소스(20)는 입력 단자와 출력 단자가 연결된 NAND 게이트 또는 NOR 게이트일 수 있다. NAND 게이트의 일 입력 단자에 인에이블 신호(EN)(예를 들어, '1')가 입력된 경우, NAND 게이트의 입력 단자와 출력 단자가 연결되어 있기 때문에, NAND 게이트의 출력 전압은 준안정 레벨로 수렴하게 된다. 마찬가지로, NOR 게이트의 일 입력 단자에 인에이블 신호(EN)(예를 들어, '0')가 입력된 경우, NOR 게이트의 입력 단자와 출력 단자가 연결되어 있기 때문에, NOR 게이트의 출력 전압은 준안정 레벨로 수렴하게 된다.13C and 13D, the entropy source 20 may be a NAND gate or a NOR gate to which an input terminal and an output terminal are connected. When the enable signal EN (for example, '1') is input to one input terminal of the NAND gate, since the input terminal and the output terminal of the NAND gate are connected to each other, . Similarly, when the enable signal EN (for example, '0') is input to one input terminal of the NOR gate, since the input terminal and the output terminal of the NOR gate are connected to each other, And converges to a stable level.

도 13e를 참조하면, 엔트로피 소스(20)는 멀티플렉서(MUX)를 더 포함할 수 있고, 인버터(INV)의 출력 단자와 멀티플렉서의 제1 입력 단자가 서로 연결될 수 있다. 따라서 멀티플렉서(MUX)에 인가되는 선택 신호(E)에 따라, 인버터(INV)의 출력 단자가 준안정 레벨로 수렴하거나, 멀티플렉서(MUX)의 제2 단자에 연결된 신호가 인버터(INV)로 전달될 수 있다. 도 13e의 인버터(INV)는 NAND 게이트, NOR 게이트 등으로도 구현될 수 있다. 이 경우 NAND 게이트 및 NOR 게이트의 입력 단자들은 서로 연결되도록 구성될 수 있다.13E, the entropy source 20 may further include a multiplexer (MUX), and the output terminal of the inverter INV and the first input terminal of the multiplexer may be connected to each other. Therefore, according to the selection signal E applied to the multiplexer MUX, the output terminal of the inverter INV converges to the metastable level or the signal connected to the second terminal of the multiplexer MUX is transmitted to the inverter INV . The inverter INV of FIG. 13E may be implemented as a NAND gate, a NOR gate, or the like. In this case, the input terminals of the NAND gate and the NOR gate may be configured to be connected to each other.

도 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 random seed generator 200 may include a random seed collector 210 and a random seed storage 220. The random seed acquiring unit 210 may generate a random seed RS of the digital domain by sampling the entropy signal Ent. The random seed storage unit 220 stores the random seed RS of the digital domain and outputs the random seed RS to the post processor 100 in response to the clock signal.

도 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 random seed generators 201 and 202 may include random seed collectors 211 and 212 and a random seed storage 221. In one example, the random seed collector 211 may include a plurality of inverters connected in series as shown in FIG. 15A. In another example, the random seed collector 212 may include a plurality of NAND gates connected in series.

랜덤 씨드 저장부(221)는 랜덤 씨드를 저장하기 위한 저장 소자를 포함할 수 있고, 일 예시에서 D-플립플롭을 포함할 수 있다. 랜덤 씨드 저장부(221)는 클럭 신호에 대응하여 랜덤 씨드를 포스트 프로세서에 출력할 수 있다. The random seed storage unit 221 may include a storage element for storing a random seed, and may include a D-flip flop in one example. The random seed storage unit 221 may output the random seed to the post processor in response to the clock signal.

도 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 smart card 700 may include a security device according to the above-described embodiments. Authentication of the card element is basically performed in the smart card 700, authentication between the card reader (not shown) and the smart card 700 is required. This authentication can be performed, for example, in such a manner that the card reader receives the authentication information stored in the smart card 700 and confirms the legitimacy. In this case, since it is necessary to maintain the security of the authentication information, a proper algorithm for encrypting the authentication information and a security device used for the algorithm need to be implemented.

반도체 칩(500)은 전술한 인증 기능을 수행하기 위해 본 개시의 기술적 사상에 의한 실시예들에 따른 보안 장치를 포함할 수 있다. 즉, 반도체 칩(500)에 포함되는 랜덤 넘버 생성 장치는 바이어스 성질이 상이한 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성할 수 있다.The semiconductor chip 500 may include a security device according to embodiments of the present teachings to perform the authentication function described above. That is, the random number generation device included in the semiconductor chip 500 may generate a random number using at least two algorithms having different bias characteristics.

안테나(800)는 카드 리더로부터 전원을 수신하여 반도체 칩(500)으로 전달하거나, 반도체 칩(500)에 의해 생성된 암호화된 인증 정보를 전송하는 기능을 수행할 수 있다. The antenna 800 may receive the power from the card reader and transmit it to the semiconductor chip 500 or may transmit the encrypted authentication information generated by the semiconductor chip 500.

반도체 칩(500)은 전원 회로, 클록 생성 회로, 로직 회로, 및 데이터 통신 회로를 포함할 수 있다. 전원 회로는 안테나(800)로부터 수신된 교류 신호에 기초하여 직류 전원을 생성할 수 있다. 또한, 전원 회로는 전원이 인가됨에 따라 기 저장된 데이터를 리셋시키는 파워 온 리셋 회로를 포함할 수 있다.The semiconductor chip 500 may include a power supply circuit, a clock generation circuit, a logic circuit, and a data communication circuit. The power supply circuit can generate a DC power supply based on the AC signal received from the antenna 800. In addition, the power supply circuit may include a power-on reset circuit that resets the stored data as power is applied.

클럭 생성 회로는 안테나(800)로부터 수신된 교류 신호를 클럭 신호로 변환하여 로직 회로로 인가할 수 있다. 로직 회로는 제어부, 메모리, 및 보안 장치를 포함할 수 있다. 보안 장치는 디지털 랜덤 넘버(RN)를 생성 하며, 그 구성은 전술한 실시예들에 도시되어 있는바 구체적인 설명은 생략하기로 한다. 제어부는 보안 장치에 의해 생성된 디지털 랜덤 넘버(RN)를 기초로 인증 정보를 암호화하도록 구성될 수 있다. 메모리는 인증 정보, 디지털 랜덤 넘버(RN), 및 암호화된 인증 정보 등을 저장하는 기능을 수행한다.The clock generation circuit may convert the AC signal received from the antenna 800 into a clock signal and apply it to the logic circuit. The logic circuit may include a control unit, a memory, and a security device. The security device generates a digital random number (RN), and the configuration thereof is shown in the above-described embodiments, and a detailed description thereof will be omitted. The control unit may be configured to encrypt the authentication information based on the digital random number (RN) generated by the security device. The memory stores authentication information, a digital random number (RN), and encrypted authentication information.

데이터 통신 회로는 카드 리더 및 안테나(800)로부터 수신되는 정보를 처리하여 로직 회로로 전달하거나, 로직 회로에 의해 생성된 암호화된 인증 정보를 처리하여 안테나(800) 및 카드 리더로 전달하는 기능을 수행할 수 있다.The data communication circuit processes the information received from the card reader and the antenna 800 and transmits the processed information to the logic circuit or transmits the encrypted authentication information generated by the logic circuit to the antenna 800 and the card reader can do.

이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다. 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 데이터를 생성하고, 상기 제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.
제2항에 있어서,
상기 포스트 프로세서는 상기 랜덤 씨드을 기초로 상기 제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 알고리즘에 적용함으로써 제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 랜덤 씨드를 출력하는 제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 데이터를 생성하고, 상기 제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.
제1항에 있어서,
상기 랜덤 씨드 생성기는,
엔트로피 소스로부터 수신한 엔트로피에 대한 샘플링을 통해서 랜덤 씨드를 생성하는 랜덤 씨드 수집부;및
상기 랜덤 씨드를 저장하는 랜덤 씨드 저장부;를 포함하는 것을 특징으로 하는 랜덤 넘버 생성기.
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.
무작위성(Randomness)을 이용하여 엔트로피 신호를 생성하는 엔트로피 소스;
상기 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 디지털 랜덤 씨드를 출력하는 랜덤 씨드 생성기; 및
제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.
제8항에 있어서,
상기 포스트 프로세서는,
상기 디지털 랜덤 씨드를 기초로 상기 제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.
제9항에 있어서,
상기 포스트 프로세서는,
상기 디지털 랜덤 씨드를 상기 제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.

KR1020180091295A 2017-11-08 2018-08-06 Random number generator generating random number by using at least two algorithms and security device comprising the same KR102628008B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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