KR102628008B1 - 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치 - Google Patents

적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치 Download PDF

Info

Publication number
KR102628008B1
KR102628008B1 KR1020180091295A KR20180091295A KR102628008B1 KR 102628008 B1 KR102628008 B1 KR 102628008B1 KR 1020180091295 A KR1020180091295 A KR 1020180091295A KR 20180091295 A KR20180091295 A KR 20180091295A KR 102628008 B1 KR102628008 B1 KR 102628008B1
Authority
KR
South Korea
Prior art keywords
algorithm
data
random seed
random
generated
Prior art date
Application number
KR1020180091295A
Other languages
English (en)
Other versions
KR20190052605A (ko
Inventor
김성경
윤중철
이승원
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US16/182,897 priority Critical patent/US11036472B2/en
Priority to CN201811327930.2A priority patent/CN109756327B/zh
Publication of KR20190052605A publication Critical patent/KR20190052605A/ko
Application granted granted Critical
Publication of KR102628008B1 publication Critical patent/KR102628008B1/ko

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

적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치가 개시된다. 본 개시에 따른 랜덤 넘버 생성기는 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 랜덤 씨드를 출력하는 랜덤 씨드 생성기 및 제1 알고리즘 및 제2 알고리즘을 이용하여 상기 랜덤 씨드로부터 랜덤 넘버를 생성하는 포스트 프로세서를 포함하고, 결과값의 비편향성(Unbiasness)을 나타내는 바이어스 성질에 있어서, 상기 제1 알고리즘의 바이어스 성질과 상기 제2 알고리즘의 바이어스 성질은 서로 상이한 것을 특징으로 할 수 있다.

Description

적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치{RANDOM NUMBER GENERATOR GENERATING RANDOM NUMBER BY USING AT LEAST TWO ALGORITHMS AND SECURITY DEVICE COMPRISING THE SAME}
본 개시의 기술적 사상은 랜덤 넘버 생성기 및 이를 포함하는 보안 장치에 관한 것으로, 더욱 상세하게는 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치에 관한 것이다.
일반적으로 스마트 카드(smart card)를 이용한 데이터 통신 등에서는 사용자의 개인 정보를 보호하기 위하여 암호화된 키(encryped key)를 이용한다. 이러한 암호화된 키를 생성하기 위해서는 랜덤 넘버가 필요하며, 이와 같은 랜덤 넘버는 통상적으로 의사 랜덤 넘버(pseudo random number)와 물리적 랜덤 넘버(physical random number)로 구분될 수 있다.
의사 랜덤 넘버는 논리 회로와 소프트웨어를 사용하여 인위적으로 발생시킨 것으로서, 이와 같은 의사 랜덤 넘버는 RSA(Rivest-Shamir-Adelman) 방법, 타원 곡선 암호 시스템(elliptic curve cryptosystem) 등을 이용하여 얻을 수 있다.
물리적 랜덤 넘버는 자연계에 존재하는 물리현상을 이용하여 발생시킨 것으로서, 이러한 물리현상으로는 저항체의 열잡음, 반도체의 PN 접합의 쇼트 잡음, 광자 생성에 따르는 쇼트 잡음, 방사선의 발생 파동 등을 예로 들 수 있다. 물리적 랜덤 넘버는 그 예측불가능성 때문에 진성 랜덤 넘버(True Random number)라고도 불린다.
한편, 랜덤 넘버는 무작위성을 증가시키는 후처리가 수행될 수 있다. 이러한 후처리를 통해서 얻어진 랜덤 넘버는 비예측성(un-predictability), 비편향성(un-biasedness), 독립성(independence)의 성질을 만족해야 한다.
본 개시의 기술적 사상이 해결하고자 하는 과제는 적어도 두 개의 알고리즘을 이용함으로써 비편향성을 만족시키는 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치를 제공하는데 있다.
상기와 같은 목적을 달성하기 위하여, 본 개시의 기술적 사상의 일측면에 따른 랜덤 넘버 생성기는 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 랜덤 씨드를 출력하는 랜덤 씨드 생성기 및 제1 알고리즘 및 제2 알고리즘을 이용하여 상기 랜덤 씨드로부터 랜덤 넘버를 생성하는 포스트 프로세서를 포함하고, 결과값의 비편향성(Unbiasness)을 나타내는 바이어스 성질에 있어서, 상기 제1 알고리즘의 바이어스 성질과 상기 제2 알고리즘의 바이어스 성질은 서로 상이한 것을 특징으로 할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 보안 장치는 무작위성(Randomness)을 이용하여 엔트로피 신호를 생성하는 엔트로피 소스, 상기 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 랜덤 씨드를 출력하는 랜덤 씨드 생성기 및 제1 알고리즘 및 제2 알고리즘을 이용하여 상기 랜덤 씨드로부터 랜덤 넘버를 생성하는 포스트 프로세서를 포함하고, 상기 제1 알고리즘은 대칭키 암호 알고리즘이고, 상기 제2 알고리즘은 해쉬 함수 알고리즘인 것을 특징으로 할 수 있다.
본 개시의 기술적 사상의 일측면에 따른 랜덤 넘버 생성 방법은 엔트로피 소스로부터 엔트로피 신호를 수신하는 단계, 상기 엔트로피 신호를 이용하여 디지털 랜덤 신호를 생성하는 단계 및 제1 알고리즘 및 제2 알고리즘을 이용하여 상기 디지털 랜덤 신호로부터 랜덤 넘버를 생성하는 단계를 포함하고, 결과값의 비편향성(Unbiasness)을 나타내는 바이어스 성질에 있어서, 상기 제1 알고리즘의 바이어스 성질과 상기 제2 알고리즘의 바이어스 성질은 서로 상이한 것을 특징으로 할 수 있다.
본 개시의 기술적 사상에 따른 랜덤 넘버 생성기는 랜덤 씨드에 대한 후처리 과정에서 서로 다른 두 개의 알고리즘을 사용함으로써 비편향성이 증가한 랜덤 넘버를 생성할 수 있다.
도 1은 본 개시의 예시적 실시예에 따른 보안 장치를 나타내는 블록도이다.
도 2는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 3은 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 4는 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 5는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 6은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 7은 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 8a는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 8b는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 9는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 10은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 11은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 12는 본 개시의 예시적 실시예에 따른 랜덤 넘버 생성기를 나타내는 블록도이다.
도 13a 내지 도 13h는 본 개시의 예시적 실시예에 따른 엔트로피 소스를 나타내는 도면들이다.
도 14는 본 개시의 예시적 실시예에 따른 랜덤 씨드 생성기를 나타내는 블록도이다.
도 15a 및 도 15b는 본 개시의 예시적 실시예에 따른 랜덤 씨드 생성기를 나타내는 블록도이다.
도 16은 본 개시의 예시적 실시예에 따른 보안 장치가 구현된 스마트 카드를 나타내는 도면이다.
도 1은 본 개시의 예시적 실시예에 따른 보안 장치를 나타내는 블록도이다.
도 1을 참조하면, 보안 장치(1)는 랜덤 넘버 생성기(10) 및 엔트로피 소스(20)를 포함할 수 있고, 랜덤 넘버 생성기(10)는 랜덤 씨드 생성기(200) 및 포스트 프로세서(100)를 포함할 수 있다. 엔트로피 소스(20)는 엔트로피 신호(Ent)를 생성하여 랜덤 씨드 생성기(200)에 출력할 수 있다. 엔트로피 소스(20)는 무작위성(Randomness)에 기반하여 엔트로피 신호(Ent)를 생성할 수 있는데, 일 예시로써 엔트로피 신호(Ent)는 사용자의 움직임, 저항체의 열잡음, 반도체의 PN 접합의 쇼트 잡음, 광자 생성에 따르는 쇼트 잡음, 방사선의 발생 파동 등에 의해서 생성되는 아날로그 전기 신호를 의미할 수 있다. 일 실시예에서 엔트로피 소스(20)는 준 안정 상태(meta-stable)에서 확률적으로 변동하는 엔트로피 신호(Ent)를 생성할 수 있는데 이에 관해서는 도 13a 내지 13h에서 후술한다.
랜덤 씨드 생성기(200)는 엔트로피 소스(20)로부터 수신한 엔트로피 신호(Ent)에 기초하여 디지털 영역의 랜덤 씨드(RS)를 생성할 수 있다. 일 실시예에서, 랜덤 씨드 생성기(200)는 엔트로피 신호(Ent)를 증폭시키고, 증폭시킨 엔트로피 신호(Ent)를 샘플링함으로써 랜덤 씨드(RS)를 생성할 수 있다. 랜덤 씨드 생성기(200)에 대해서는 도 14 내지 도 15b에서 후술한다.
포스트 프로세서(100)는 수신한 랜덤 씨드(RS)에 대한 후처리를 수행하여 랜덤 넘버(RN)를 생성할 수 있다. 본 개시의 기술적 사상에 따르면, 포스트 프로세서(100)는 적어도 두 개의 알고리즘을 이용하여 랜덤 씨드(RS)로부터 랜덤 넘버(RN)를 생성할 수 있다. 일 실시예에서, 적어도 두 개의 알고리즘은 서로 바이어스 성질이 상이한 알고리즘일 수 있다.
본 명세서에서 바이어스 성질이란, 알고리즘에 랜덤 씨드(RS)를 적용함으로써 생성된 랜덤 넘버(RN)의 '1'또는 '0'의 위치적 편중도를 의미할 수 있다. 또한, 바이어스 성질에 따른 비편향성을 수치화하는 여러가지 테스트 방법들(예를 들면, D-Monomial 테스트)이 존재할 수 있고, 본 개시의 기술적 사상에 따른 포스트 프로세서(100)는 서로 바이어스 성질이 상이한 복수의 알고리즘들에 랜덤 씨드(RS)를 적용시킴으로써 상술한 테스트 방법들에 의해 평가한 비편향성이 증대된 랜덤 넘버(RN)를 생성할 수 있다.
도 2는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 포스트 프로세서(100)는 제1 알고리즘 프로세서(110) 및 제2 알고리즘 프로세서(120)를 포함할 수 있다. 제1 알고리즘 프로세서(110)는 랜덤 씨드 생성기(200)로부터 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용시킴으로써 제1 데이터(D1)를 생성하고, 제2 알고리즘 프로세서(120)는 제1 알고리즘 프로세서(110)로부터 수신한 제1 데이터(D1)를 제2 알고리즘에 적용시킴으로써 랜덤 넘버(RN)를 생성할 수 있다. 제1 알고리즘 및 제2 알고리즘은 암호화 알고리즘으로써, 비대칭키 암호 알고리즘, 대칭키 암호 알고리즘(또는 블록 암호 알고리즘) 및 해쉬 함수 알고리즘 중 어느 하나일 수 있다.
비대칭키 암호화 알고리즘은 공개되는 공개키(Public Key)와 본인만 사용하는 비밀키(Private Key)로 구성되는 것으로 공개키와 비밀키를 별도로 관리하기 때문에 키 관리가 용이하며 암호화와 사용자 인증이 동시에 이뤄진다는 특징이 있고, 공개키 암호 시스템(Public Key Cryptosystem)으로 칭해질 수 있다. 비대칭키 암호화 알고리즘는 전자 문서의 디지털서명, 부인 봉쇄(non-repudiation)에 사용될 수 있다. 비대칭키 암호화 알고리즘에 따르면, 각 사용자 주체마다 두 개의 키가 존재하여, 각 사용자마다 키쌍(Key Pair)인 공개키(Public Key)와 개인키(Private Key)를 유지해야 할 수 있다. 비대칭키 암호화 알고리즘에는 RSA(Rivest Shamir Adleman), ECC(Elliptic Curve Cryptosystem) 등을 포함할 수 있다.
대칭키 암호 알고리즘은 하나의 비밀키로 암호화 및 복호화를 하는 알고리즘으로써, 비밀 통신을 하는 당사자들만이 키를 안전하게 공유해야 할 수 있다. 따라서 대칭키 암호 알고리즘은 비밀키 암호 시스템(Secret Key Cryptosystem)으로 칭해질 수 있다. 대칭키 암호 알고리즘에는 DES(Data Encryption Standard), Triple DES와 AES(Advanced Encryption Standard) 등을 포함할 수 있다.
해쉬 함수 알고리즘은 임의의 길이를 갖는 메시지를 입력하여 고정된 길이의 해쉬값을 출력하는 함수로써 키를 사용하지 않으므로 같은 입력에 대해서는 항상 같은 출력이 나올 수 있다. 해쉬 함수 알고리즘은 입력 메시지에 대한 변경할 수 없는 증거값을 뽑아냄으로써 메시지의 오류나 변조를 탐지할 수 있는 무결성을 제공할 수 있다. 해쉬 함수 알고리즘에는 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 등을 포함할 수 있다.
비대칭키 암호 알고리즘, 대칭키 암호 알고리즘 및 해쉬 함수 알고리즘의 바이어스 성질은 서로 상이할 수 있다. 일 실시예에서, 제1 알고리즘은 제2 알고리즘과 상이한 카테고리의 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 대칭키 암호 알고리즘이고, 제2 알고리즘은 해쉬 함수 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 비대칭키 암호 알고리즘이고, 제2 알고리즘은 해쉬 함수 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 대칭키 암호 알고리즘이고, 제2 알고리즘은 비대칭키 암호 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 AES 알고리즘이고, 제2 알고리즘은 SHA 알고리즘일 수 있다.
일 실시예에서, 제1 알고리즘은 제2 알고리즘과 같은 카테고리에 포함되는 상이한 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 대칭키 암호 알고리즘에 포함되는 AES 알고리즘일 수 있고, 제2 알고리즘은 대칭키 암호 알고리즘에 포함되는 DES 알고리즘일 수 있다.
도 3은 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 2 및 도 3을 참조하면, 포스트 프로세서(100)는 랜덤 씨드 생성기로부터 랜덤 씨드(RS)를 수신하고(S110), 수신한 랜덤 씨드(RS)를 제1 알고리즘에 적용함으로써 제1 데이터(D1)를 생성할 수 있다(S120). 포스트 프로세서(100)는 제1 데이터(D1)를 다시 제2 알고리즘에 적용함으로써 랜덤 넘버(RN)를 생성할 수 있다(S130). 포스트 프로세서(100)는 생성한 랜덤 넘버(RN)를 외부에 출력할 수 있다(S140).
본 개시의 기술적 사상에 따르면, 제1 알고리즘과 제2 알고리즘의 바이어스 성질이 상이할 수 있고, 이에 따라서 랜덤 넘버(RN)의 비편향성(Unbiasness)이 증가할 수 있다.
도 4는 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 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번 추가적으로 수행하는 것을 의미할 수 있다.
포스트 프로세서(100)는 제1 데이터(D1)를 기초로 제2 알고리즘에 대해 M(M은 자연수)번 피드백 대입 동작을 수행함으로써 랜덤 넘버(RN)를 생성할 수 있다(S230). 포스트 프로세서(100)는 생성한 랜덤 넘버(RN)를 외부에 출력할 수 있다(S240).
본 개시의 일 실시예에 따르면, 랜덤 씨드(RS)를 복수의 알고리즘 중 적어도 일부에 대해서만 피드백 대입 동작을 수행함으로써 랜덤 넘버(RN)를 생성할 수 있다. 일 예시에서, 제1 알고리즘은 AES 알고리즘일 수 있고, 제2 알고리즘은 SHA-256 알고리즘일 수 있다. 포스트 프로세서는 랜덤 씨드(RS)를 AES 알고리즘에 16번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있고, 제1 데이터를 SHA-256 알고리즘에 1번 대입함으로써 랜덤 넘버(RN)를 생성할 수 있다.
도 5는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 도 2와 중복되는 내용은 생략한다.
도 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)를 생성할 수 있다.
본 개시의 일 실시예에 따르면, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개의 알고리즘은 서로 다른 바이어스 성질을 가질 수 있다. 일 실시예에서, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개는 서로 상이한 카테고리의 암호 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 비대칭 암호 알고리즘이고, 제2 알고리즘은 해쉬 함수 알고리즘이고, 제3 알고리즘은 비대칭 알고리즘일 수 있다. 또 다른 실시예에서, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개는 같은 카테고리에 포함되는 서로 상이한 알고리즘일 수 있다.
또한, 일 실시예에서, 제1 알고리즘 프로세서(110a), 제2 알고리즘 프로세서(120a) 및 제3 알고리즘 프로세서(130a) 중 적어도 하나는 도 4에서 상술한 바와 같이 같은 알고리즘에 대해 입력 값을 기초로 복수 번 피드백 반복 대입 동작을 수행함으로써 출력 값을 생성할 수 있다.
도 6은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 도 2와 중복되는 내용은 생략한다.
도 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 게이트 등을 포함할 수 있다.
본 개시의 일 실시예에 따르면, 제1 알고리즘 및 제2 알고리즘은 서로 다른 바이어스 성질을 가질 수 있고, 이에 따라서 제1 데이터(D1) 및 제2 데이터(D2)의 바이어스는 서로 다를 수 있다. 일 실시예에서, 포스트 프로세서(100b)는 서로 다른 바이어스를 갖는 제1 데이터(D1) 및 제2 데이터(D2)에 대한 로직 연산을 통해 랜덤 넘버(RN)를 생성함으로써 랜덤 넘버(RN)의 비편향성(Unbiasness)이 증가할 수 있다.
또한, 일 실시예에서, 제1 알고리즘 프로세서(110b) 또는 제2 알고리즘 프로세서(120b)는 도 4에서 상술한 바와 같이 같은 알고리즘에 대해 입력 값을 기초로 복수 번 피드백 대입 동작을 수행함으로써 출력 값을 생성할 수 있다.
도 6에서는 두 개의 알고리즘 프로세서를 이용하여 랜덤 넘버(RN)를 생성하는 실시예가 도시되어 있으나 이는 일 실시예 일 뿐이고, 두 개 이상의 알고리즘 프로세서를 이용하여 랜덤 넘버(RN)를 생성하는 실시예에도 본 개시의 기술적 사상이 유추 적용될 수 있다.
도 7은 본 개시의 예시적 실시예에 따른 포스트 프로세서의 동작을 나타내는 순서도이다.
도 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).
도 8a는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 자세하게는 도 8a는 도 6의 포스트 프로세서의 일 예시를 나타내는 블록도이다.
도 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)를 생성할 수 있다.
일 실시예에서, 대칭키 암호 알고리즘 프로세서(111b)는 랜덤 씨드(RS)를 기초로 대칭키 암호 알고리즘에 대해 복수 번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있다.
도 8b는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 자세하게는 도 8b는 도 6의 포스트 프로세서의 일 예시를 나타내는 블록도이다.
도 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)를 생성할 수 있다.
일 실시예에서, 대칭키 암호 알고리즘 프로세서(112b)는 랜덤 씨드(RS)를 기초로 대칭키 암호 알고리즘에 대해 복수 번 피드백 대입 동작을 수행함으로써 제1 데이터(D1)를 생성할 수 있다.
도 9는 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다. 도 6과 중복되는 내용은 생략한다.
도 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 게이트 등을 포함할 수 있다.
본 개시의 일 실시예에 따르면, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개의 알고리즘은 서로 다른 바이어스 성질을 가질 수 있다. 일 실시예에서, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개의 알고리즘은 서로 상이한 카테고리의 암호 알고리즘일 수 있다. 일 예시로써, 제1 알고리즘은 비대칭 암호 알고리즘이고, 제2 알고리즘은 해쉬 함수 알고리즘이고, 제3 알고리즘은 비대칭 알고리즘일 수 있다. 또 다른 실시예에서, 제1 알고리즘, 제2 알고리즘 및 제3 알고리즘 중 적어도 두 개의 알고리즘은 같은 카테고리에 포함되는 서로 상이한 알고리즘일 수 있다.
또한, 일 실시예에서, 제1 알고리즘 프로세서(110c), 제2 알고리즘 프로세서(120c) 및 제3 알고리즘 프로세서(130c) 중 적어도 하나는 도 4에서 상술한 바와 같이 같은 알고리즘에 대해 입력 값을 고초 복수 번 피드백 대입 동작을 수행함으로써 출력 값을 생성할 수 있다.
도 10은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 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)에 출력할 수 있다.
본 개시의 일 실시예에 따르면, 제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)로써 외부에 출력할 수 있다.
도 11은 본 개시의 예시적 실시예에 따른 포스트 프로세서를 나타내는 블록도이다.
도 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)를 외부에 출력할 수 있다.
일 실시예에서, 포스트 프로세서(100e)는 선택 신호(S1)에 기초하여 제1 데이터(D1)를 랜덤 넘버로써 외부에 출력할 수 있다. 또 다른 실시예에서, 포스트 프로세서(100e)는 선택 신호(S1)에 기초하여 제2 데이터(D2)를 랜덤 넘버로써 외부에 출력할 수 있다.
도 12는 본 개시의 예시적 실시예에 따른 랜덤 넘버 생성기를 나타내는 블록도이다. 도 6과 중복되는 내용은 생략한다.
도 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)는 서로 상이할 수 있다.
제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 게이트 등을 포함할 수 있다.
도 13a 내지 도 13h는 본 개시의 예시적 실시예에 따른 엔트로피 소스를 나타내는 도면들이다.
도 1 및 도 13a 내지 도 13h를 참조하면, 엔트로피 소스(20)는 도 13a에 도시된 바와 같이 입력 단자와 출력 단자가 연결된 인버터(INV)일 수 있다. 또 다른 실시예에서, 도 13b에 도시된 바와 같이 인버터(INV)의 입력 단자와 출력 단자 사이에 스위치(SW)가 연결될 수 있다. 스위치(SW)는 외부로부터 입력받은 인에이블 신호(EN)에 응답하여 턴 온/턴 오프될 수 있다. 스위치(SW)가 턴 온(turned on)되면, 인버터(INV)의 입력 단자와 출력 단자가 서로 연결되게 되고, 이 경우 상기 인버터(INV)의 출력 전압은 준안정 레벨(metastable level)로 수렴하게 되고, 계속해서 그 상태로 머무르게 될 수 있다. 열잡음(thermal noise)으로 인해, 상기 인버터(INV)의 출력 전압은 준안정 레벨(metastable level)에서 확률적으로 변동할 수 있다.
도 13c 및 도 13d를 참조하면, 엔트로피 소스(20)는 입력 단자와 출력 단자가 연결된 NAND 게이트 또는 NOR 게이트일 수 있다. NAND 게이트의 일 입력 단자에 인에이블 신호(EN)(예를 들어, '1')가 입력된 경우, NAND 게이트의 입력 단자와 출력 단자가 연결되어 있기 때문에, NAND 게이트의 출력 전압은 준안정 레벨로 수렴하게 된다. 마찬가지로, NOR 게이트의 일 입력 단자에 인에이블 신호(EN)(예를 들어, '0')가 입력된 경우, NOR 게이트의 입력 단자와 출력 단자가 연결되어 있기 때문에, NOR 게이트의 출력 전압은 준안정 레벨로 수렴하게 된다.
도 13e를 참조하면, 엔트로피 소스(20)는 멀티플렉서(MUX)를 더 포함할 수 있고, 인버터(INV)의 출력 단자와 멀티플렉서의 제1 입력 단자가 서로 연결될 수 있다. 따라서 멀티플렉서(MUX)에 인가되는 선택 신호(E)에 따라, 인버터(INV)의 출력 단자가 준안정 레벨로 수렴하거나, 멀티플렉서(MUX)의 제2 단자에 연결된 신호가 인버터(INV)로 전달될 수 있다. 도 13e의 인버터(INV)는 NAND 게이트, NOR 게이트 등으로도 구현될 수 있다. 이 경우 NAND 게이트 및 NOR 게이트의 입력 단자들은 서로 연결되도록 구성될 수 있다.
도 13f는 인버터(INV)의 입력 단자에 문턱 전압(Vth)이 인가되는 구성이 도시된다. 상기 문턱 전압의 열잡음으로 인해, 인버터(INV)의 출력 전압이 확률적으로 변동될 수 있다. 도 13g은 도 13f의 구성에 인버터(INV)와 연결된 가변 저항들이 더 구현된 구성을 도시하며, 상기 가변 저항들에 의해 인버터(INV)의 문턱 전압 특성이 조절될 수 있다. 도 13h은 가변 저항들을 변화시킴로써 인버터(INV)에 인가되는 문턱 전압이 조절될 수 있는 구성을 도시한다.
도 14는 본 개시의 예시적 실시예에 따른 랜덤 씨드 생성기를 나타내는 블록도이다.
도 1 및 도 14를 참조하면, 랜덤 씨드 생성기(200)는 랜덤 씨드 수집부(210) 및 랜덤 씨드 저장부(220)를 포함할 수 있다. 랜덤 씨드 수집부(210)는 엔트로피 신호(Ent)를 샘플링함으로써 디지털 영역의 랜덤 씨드(RS)를 생성할 수 있다. 랜덤 씨드 저장부(220)는 디지털 영역의 랜덤 씨드(RS)를 저장하고, 클럭 신호에 대응하여 포스트 프로세서(100)에 랜덤 씨드(RS)를 출력할 수 있다.
도 15a 및 도 15b는 본 개시의 예시적 실시예에 따른 랜덤 씨드 생성기를 나타내는 블록도이다. 도 14와 중복되는 내용은 생략한다.
도 15a 및 도 15b를 참조하면, 랜덤 씨드 생성기(201, 202)는 랜덤 씨드 수집부(211, 212) 및 랜덤 씨드 저장부(221)를 포함할 수 있다. 일 예시에서 랜덤 씨드 수집부(211)는 도 15a와 같이 직렬 연결된 복수의 인버터를 포함할 수 있고, 또 다른 예시에서 랜덤 씨드 수집부(212)는 직렬 연결된 복수의 NAND 게이트를 포함할 수 있다.
랜덤 씨드 저장부(221)는 랜덤 씨드를 저장하기 위한 저장 소자를 포함할 수 있고, 일 예시에서 D-플립플롭을 포함할 수 있다. 랜덤 씨드 저장부(221)는 클럭 신호에 대응하여 랜덤 씨드를 포스트 프로세서에 출력할 수 있다.
도 16은 본 개시의 예시적 실시예에 따른 보안 장치가 구현된 스마트 카드를 나타내는 도면이다.
도 16을 참조하면, 스마트 카드(700)는 전술한 실시예들에 따른 보안 장치를 포함할 수 있다. 스마트 카드(700)에서는 카드 소자자의 인증이 기본적으로 수행되므로, 카드 리더(미도시)와 스마트 카드(700) 사이의 인증이 필요하다. 이러한 인증은 예를 들어, 상기 카드 리더가 스마트 카드(700)에 저장된 인증 정보를 수신하여 정당성을 확인하는 방식으로 수행될 수 있다. 이 경우 상기 인증 정보에 대한 보안 유지가 필요하므로, 인증 정보를 암호화하는 적절한 알고리즘 및 상기 알고리즘에 사용하는 보안 장치가 구현될 필요가 있다.
반도체 칩(500)은 전술한 인증 기능을 수행하기 위해 본 개시의 기술적 사상에 의한 실시예들에 따른 보안 장치를 포함할 수 있다. 즉, 반도체 칩(500)에 포함되는 랜덤 넘버 생성 장치는 바이어스 성질이 상이한 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성할 수 있다.
안테나(800)는 카드 리더로부터 전원을 수신하여 반도체 칩(500)으로 전달하거나, 반도체 칩(500)에 의해 생성된 암호화된 인증 정보를 전송하는 기능을 수행할 수 있다.
반도체 칩(500)은 전원 회로, 클록 생성 회로, 로직 회로, 및 데이터 통신 회로를 포함할 수 있다. 전원 회로는 안테나(800)로부터 수신된 교류 신호에 기초하여 직류 전원을 생성할 수 있다. 또한, 전원 회로는 전원이 인가됨에 따라 기 저장된 데이터를 리셋시키는 파워 온 리셋 회로를 포함할 수 있다.
클럭 생성 회로는 안테나(800)로부터 수신된 교류 신호를 클럭 신호로 변환하여 로직 회로로 인가할 수 있다. 로직 회로는 제어부, 메모리, 및 보안 장치를 포함할 수 있다. 보안 장치는 디지털 랜덤 넘버(RN)를 생성 하며, 그 구성은 전술한 실시예들에 도시되어 있는바 구체적인 설명은 생략하기로 한다. 제어부는 보안 장치에 의해 생성된 디지털 랜덤 넘버(RN)를 기초로 인증 정보를 암호화하도록 구성될 수 있다. 메모리는 인증 정보, 디지털 랜덤 넘버(RN), 및 암호화된 인증 정보 등을 저장하는 기능을 수행한다.
데이터 통신 회로는 카드 리더 및 안테나(800)로부터 수신되는 정보를 처리하여 로직 회로로 전달하거나, 로직 회로에 의해 생성된 암호화된 인증 정보를 처리하여 안테나(800) 및 카드 리더로 전달하는 기능을 수행할 수 있다.
이상에서와 같이 도면과 명세서에서 예시적인 실시예들이 개시되었다. 본 명세서에서 특정한 용어를 사용하여 실시예들을 설명되었으나, 이는 단지 본 개시의 기술적 사상을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 개시의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 개시의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (10)

  1. 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 디지털영역의 랜덤 씨드를 출력하는 랜덤 씨드 생성기; 및
    상기 랜덤 씨드를 기초로 제1 알고리즘에 대해 피드백 대입 동작을 N(N은 자연수)번 수행함으로써 제1 데이터를 생성하고, 상기 제1 데이터를 기초로 제2 알고리즘에 대해 피드백 대입 동작을 M(M은 자연수)번 수행함으로써 랜덤 넘버를 생성하는 포스트 프로세서;를 포함하고,
    결과값의 비편향성(Unbiasness)을 나타내는 바이어스 성질에 있어서, 상기 제1 알고리즘의 바이어스 성질과 상기 제2 알고리즘의 바이어스 성질은 서로 상이한 것을 특징으로 하는 랜덤 넘버 생성기.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 포스트 프로세서는,
    상기 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 제3 데이터를 생성하고, 상기 랜덤 씨드를 상기 제2 알고리즘에 적용함으로써 제4 데이터를 생성하고, 상기 제3 데이터 및 상기 제4 데이터를 이용하여 상기 랜덤 넘버를 생성하는 것을 특징으로 하는 랜덤 넘버 생성기.
  5. 제1항에 있어서,
    제1 엔트로피 신호를 수신하고, 상기 제1 엔트로피 신호를 이용하여 생성한 제1 랜덤 씨드를 출력하는 제1 랜덤 씨드 생성기; 및
    제2 엔트로피 신호를 수신하고, 상기 제2 엔트로피 신호를 이용하여 생성한 제2 랜덤 씨드를 출력하는 제2 랜덤 씨드 생성기;를 더 포함하고,
    상기 포스트 프로세서는,
    상기 제1 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 제3 데이터를 생성하고, 상기 제2 랜덤 씨드를 상기 제2 알고리즘에 적용함으로써 제4 데이터를 생성하고, 상기 제3 데이터 및 상기 제4 데이터를 이용하여 상기 랜덤 넘버를 생성하는 것을 특징으로 하는 랜덤 넘버 생성기.
  6. 제1항에 있어서,
    상기 포스트 프로세서는,
    상기 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 상기 제1 데이터를 생성하고, 상기 제1 데이터를 상기 제2 알고리즘에 적용함으로써 제2 데이터를 생성하고, 상기 제2 데이터를 제3 알고리즘에 적용함으로써 상기 랜덤 넘버를 생성하는 것을 특징으로 하는 랜덤 넘버 생성기.
  7. 제1항에 있어서,
    상기 랜덤 씨드 생성기는,
    엔트로피 소스로부터 수신한 엔트로피에 대한 샘플링을 통해서 랜덤 씨드를 생성하는 랜덤 씨드 수집부;및
    상기 랜덤 씨드를 저장하는 랜덤 씨드 저장부;를 포함하는 것을 특징으로 하는 랜덤 넘버 생성기.
  8. 무작위성(Randomness)을 이용하여 엔트로피 신호를 생성하는 엔트로피 소스;
    상기 엔트로피 신호를 수신하고, 상기 엔트로피 신호를 이용하여 생성한 디지털 랜덤 씨드를 출력하는 랜덤 씨드 생성기; 및
    제1 알고리즘 및 제2 알고리즘을 이용하여 상기 디지털 랜덤 씨드로부터 랜덤 넘버를 생성하는 포스트 프로세서;를 포함하고,
    상기 제1 알고리즘은 대칭키 암호 알고리즘이고, 상기 제2 알고리즘은 해쉬 함수 알고리즘인 것을 특징으로 하고,
    상기 포스트 프로세서는,
    상기 디지털 랜덤 씨드를 상기 제1 알고리즘에 적용함으로써 제1 데이터를 생성하는 제1 알고리즘 프로세서;
    상기 디지털 랜덤 씨드를 상기 제2 알고리즘에 적용함으로써 제2 데이터를 생성하는 제2 알고리즘 프로세서;및
    상기 제1 데이터 및 상기 제2 데이터를 이용하여 상기 랜덤 넘버를 생성하는 로직 게이트;를 포함하는 것을 특징으로 하는 보안 장치.
  9. 제8항에 있어서,
    상기 제1 알고리즘 프로세서는,
    상기 디지털 랜덤 씨드를 기초로 상기 제1 알고리즘에 대해 피드백 대입 동작을 N(N은 자연수)번 수행함으로써 상기 제1 데이터를 생성하고,
    상기 제2 알고리즘 프로세서는,
    상기 디지털 랜덤 씨드를 기초로 상기 제2 알고리즘에 대해 피드백 대입 동작을 M(M은 자연수)번 수행함으로써 상기 제2 데이터를 생성하는 것을 특징으로 하는 보안 장치.

  10. 삭제
KR1020180091295A 2017-11-08 2018-08-06 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치 KR102628008B1 (ko)

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 (zh) 2017-11-08 2018-11-08 随机数生成器以及包括随机数生成器的安全设备

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 KR20190052605A (ko) 2019-05-16
KR102628008B1 true KR102628008B1 (ko) 2024-01-23

Family

ID=66671892

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180091295A KR102628008B1 (ko) 2017-11-08 2018-08-06 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치

Country Status (1)

Country Link
KR (1) KR102628008B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248890B1 (ko) * 2019-11-15 2021-05-06 정기영 공개 블록체인에 기초한 추첨 및 그것의 검증을 위한 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101004269B1 (ko) * 2005-08-24 2011-01-03 퀄컴 인코포레이티드 암호 보안 의사 랜덤 넘버 생성기
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

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140135435A (ko) * 2013-05-16 2014-11-26 인포뱅크 주식회사 결제 처리 시스템, 장치 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101004269B1 (ko) * 2005-08-24 2011-01-03 퀄컴 인코포레이티드 암호 보안 의사 랜덤 넘버 생성기
US20160328211A1 (en) * 2011-09-30 2016-11-10 Los Alamos National Security, Llc Quantum random number generators
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

Also Published As

Publication number Publication date
KR20190052605A (ko) 2019-05-16

Similar Documents

Publication Publication Date Title
Shamsoshoara et al. A survey on physical unclonable function (PUF)-based security solutions for Internet of Things
KR101727130B1 (ko) 암호화 키를 획득하기 위한 디바이스 및 방법
Zalivaka et al. Reliable and modeling attack resistant authentication of arbiter PUF in FPGA implementation with trinary quadruple response
Güneysu et al. Cryptanalysis with COPACOBANA
Delvaux Security analysis of PUF-based key generation and entity authentication
KR102499723B1 (ko) 물리적 복제방지 기능 비트스트링 생성에 대한 신뢰성 향상 방법
KR101393806B1 (ko) 다단계 물리적 복제 불가 함수 시스템
Acosta et al. Embedded electronic circuits for cryptography, hardware security and true random number generation: an overview
JPWO2009025220A1 (ja) 秘密情報分散システム、方法及びプログラム並びに伝送システム
KR101653121B1 (ko) 통합 시큐리티 장치 및 통합 시큐리티 장치에 이용되는 신호 처리 방법
Thangamani et al. A lightweight cryptography technique with random pattern generation
Sankaran et al. LHPUF: Lightweight Hybrid PUF for enhanced security in Internet of Things
Shanmugham et al. Survey on power analysis attacks and its impact on intelligent sensor networks
JP2017195595A (ja) 暗号化/復号装置及びその電力解析保護方法
Hemavathy et al. Arbiter PUF-a review of design, composition, and security aspects
KR102628008B1 (ko) 적어도 두 개의 알고리즘을 이용하여 랜덤 넘버를 생성하는 랜덤 넘버 생성기 및 이를 포함하는 보안 장치
JPWO2020065928A1 (ja) 署名装置、検証装置、署名システム、署名方法、署名プログラム、検証方法及び検証プログラム
Khoshroo Design and evaluation of FPGA-based hybrid physically unclonable functions
Rahman et al. Design and security-mitigation of custom and configurable hardware cryptosystems
US11036472B2 (en) Random number generator generating random number by using at least two algorithms, and security device comprising the random number generator
Gao et al. Reliable and anti-cloning PUFs based on configurable ring oscillators
Roy et al. A novel cryptosystem using cellular automata
Yu et al. On designing PUF-based TRNGs with known answer tests
US11593488B2 (en) Systems and methods for a cryptographic agile bootloader for upgradable secure environment
KR101925787B1 (ko) 폰 노이만 후처리시 난수 출력 신호의 연속성을 확보하기 위한 방법 및 장치

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