KR102574706B1 - 최소 엔트로피 추정 방법 및 장치 - Google Patents

최소 엔트로피 추정 방법 및 장치 Download PDF

Info

Publication number
KR102574706B1
KR102574706B1 KR1020210101176A KR20210101176A KR102574706B1 KR 102574706 B1 KR102574706 B1 KR 102574706B1 KR 1020210101176 A KR1020210101176 A KR 1020210101176A KR 20210101176 A KR20210101176 A KR 20210101176A KR 102574706 B1 KR102574706 B1 KR 102574706B1
Authority
KR
South Korea
Prior art keywords
probability value
value
calculated
calculating
minimum entropy
Prior art date
Application number
KR1020210101176A
Other languages
English (en)
Other versions
KR20230019549A (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 KR1020210101176A priority Critical patent/KR102574706B1/ko
Priority to PCT/KR2022/005270 priority patent/WO2023013844A1/ko
Publication of KR20230019549A publication Critical patent/KR20230019549A/ko
Application granted granted Critical
Publication of KR102574706B1 publication Critical patent/KR102574706B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Evolutionary Biology (AREA)
  • Operations Research (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

최소 엔트로피 추정 방법이 개시된다. 본 최소 엔트로피 추정 방법은 복수의 난수가 입력되면, 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출하는 단계, 산출된 충돌 확률 값을 이용하여 최대 확률 값을 산출하는 단계, 및 산출된 최대 확률 값을 이용하여, 최소 엔트로피를 계산하는 단계를 포함한다.

Description

최소 엔트로피 추정 방법 및 장치{METHOD FOR MIN-ENTROPY ESTIMATION AND APPARATUS THEREOF}
본 개시는 최소 엔트로피 추정 방법 및 장치에 관한 것으로, 더욱 상세하게는 기존 LRS 추정기의 과추정 문제를 해결하면서 더욱 안정적이고 정확하게 최소 엔트로피를 추정할 수 있는 최소 엔트로피 추정 방법 및 장치에 관한 것이다.
비밀 키 등의 정보가 랜덤하지 않다면, 전체 보안 시스템의 보안 정도가 매우 약해진다는 점에서, 암호 및 보안 시스템에서 비밀키(secret keys) 등의 중요 정보는 충분히 랜덤해야 한다.
따라서, 난수 발생기(random number generator)를 통해 생성된 난수가 충분히 랜덤한지 파악하는 것은 매우 중요하다. 엔트로피는 정보의 무작위성(randomness)을 측정하는 측도로, 정보의 무작위 정보를 판별하기 위하여 널리 사용된다.
이러한 엔트로피에는 섀넌 엔트로피(Shannon entropy), 레니 엔트로피(Renyi entropy), 최소 엔트로피(min-entropy)와 같은 다양한 종류가 있다. 이 중 최소 엔트로피는 다양한 종류의 엔트로피 중 하한(lower-bound)을 제시하는 엔트로피로, 안정성이 중요한 난수의 무작위성을 판별할 때 주로 사용한다.
독립항등분포(iid, independent and identically distributed)인 경우에는 추정하고자 하는 소스 데이터가 서로 독립적이므로, 간단하게 각 난수의 빈도수를 바탕으로 엔트로피를 추정하는 방법인 MCV(most common value) 추정기로 추정이 가능하지만, 그렇지 않은 경우에는 엔트로피를 추정하기 어려움이 있었다.
이에 따라 국제 표준(NIST SP 800-90B)에서는 최소 엔트로피를 판별하기 위한 10가지 추정기를 제시하였고, 이들 추정기에서 추정한 값들 중 가장 작은 값을 채택하는 방법으로 최소 엔트로피를 추정하는 방식을 이용하였다. 그 중 LRS 추정기는 최소 엔트로피를 과추정하는 문제가 발생하여, 10가지 방법 중 채택받지 못할 가능성이 높다.
따라서, 본 개시의 목적은 LRS 추정기의 과추정 문제를 해결하면서 더욱 안정적이고 정확하게 최소 엔트로피를 추정할 수 있는 최소 엔트로피 추정 방법 및 장치를 제공하는 데 있다.
상술한 바와 같은 목적을 달성하기 위한 본 개시의 전자 장치에서의 최소 엔트로피 추정 방법은 복수의 난수가 입력되면, 상기 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출하는 단계, 상기 산출된 충돌 확률 값을 이용하여 확률 분포에서 최대 확률 값을 산출하는 단계, 및 상기 산출된 최대 확률값을 이용하여, 최소 엔트로피를 계산하는 단계를 포함한다.
이 경우, 상기 최대 확률값을 산출하는 단계는, 상기 산출된 충돌 확률 값이 기설정된 값보다 크면, 아래의 수학식을 이용하여 경계 상한 값을 산출할 수 있다.
여기서, 는 확률 분포에서 최대 확률 값, k는 난수의 집합원의 개수, Pc는 상기 충돌 확률 값.
이 경우, 상기 경계 상한 값을 산출하는 단계는, 상기 산출된 충돌 확률 값이 기설정된 값보다 작으면, 상기 기설정된 값을 경계 상한 값으로 이용할 수 있다.
이 경우, 상기 기설정된 값은 난수의 집합원의 개수(k)에 대한 역수 값(1/k)일 수 있다.
한편, 상기 최소 엔트로피를 계산하는 단계는, 상기 산출된 확률 값을 이용하여 99% 신뢰 구간에 대응되는 확률값을 산출하는 단계, 상기 산출된 확률값에 로그 처리를 수행하여 최소 엔트로피를 계산하는 단계를 포함할 수 있다.
이 경우, 상기 경계 값을 산출하는 단계는, 다음의 수학식을 이용하여 산출할 수 있다.
여기서, 는 상기 최대 확률 값의 99% 신뢰 구간에 대응되는 확률 값, 는 최대 확률 값, k는 난수의 집합원의 개수.
한편, 상기 충돌 확률 값을 산출하는 단계는, 다음의 수학식을 이용하여 충돌 확률 값을 산출할 수 있다.
여기서 P는 상기 충돌 확률 값, α는 2 이상의 자연수, 튜플은 상기 난수의 문자열.
한편, 본 개시의 일 실시 예에 따른 전자 장치는 적어도 하나의 인스트럭션(instruction)을 저장하는 메모리, 및 상기 적어도 하나의 인스트럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 적어도 하나의 인스트럭션을 수행함으로써, 복수의 난수가 입력되면, 상기 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출하고, 상기 산출된 충돌 확률 값을 이용하여 확률 분포의 최대 확률 값을 산출하고, 상기 산출된 확률 값을 이용하여 최소 엔트로피를 계산한다.
이 경우, 상기 프로세서는 상기 산출된 충돌 확률 값이 기설정된 값보다 크면, 아래의 수학식을 이용하여 경계 상한 값을 산출할 수 있다.
여기서, 는 최대 확률값, k는 난수의 집합원의 개수, Pc는 상기 충돌 확률 값.
이 경우, 상기 프로세서는 상기 산출된 충돌 확률 값이 기설정된 값보다 작으면, 상기 기설정된 값을 경계 상한 값으로 이용할 수 있다.
이 경우, 상기 기설정된 값은 난수의 집합원의 개수(k)에 대한 역수 값(1/k)일 수 있다.
한편, 상기 프로세서는 상기 산출된 경계 상한 값을 이용하여 상기 경계 상한 값에 대응되는 경계 값을 산출하고, 상기 산출된 경계 값에 대한 로그 처리를 수행하여 최소 엔트로피를 계산할 수 있다.
한편, 상기 프로세서는 다음의 수학식을 이용하여 충돌 확률 값을 산출할 수 있다.
여기서 P는 상기 충돌 확률 값, α는 2 이상의 자연수, 튜플은 상기 난수의 문자열.
한편, 본 개시의 일 실시 예에 따른 전자 장치에서의 최소 엔트로피 추정 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서, 상기 최소 엔트로피 추정 방법은, 복수의 난수가 입력되면, 상기 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출하는 단계, 상기 산출된 충돌 확률 값을 이용하여 확률 분포의 최대 확률 값을 산출하는 단계, 상기 산출된 확률 값을 이용하여 최소 엔트로피를 계산하는 단계를 포함한다.
상술한 바와 같이 본 개시의 다양한 실시 예에 따르면, 최소 엔트로피를 과추정하지 않으며, 차수가 높아질수록 더욱 높은 정확도로 최소 엔트로피를 추정하는 것이 가능하다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도,
도 2는 엔트로피를 설명하기 위한 도면,
도 3은 본 개시의 일 실시 예에 따른 최소 엔트로피 추정 방법을 설명하기 위한 도면,
도 4는 본 개시의 다른 실시 예에 따른 최소 엔트로피 추정 방법을 설명하기 위한 도면,
도 5 내지 도 8은 본 개시의 최소 엔트로피 추정 방법에 따른 실험 결과를 나타내는 도면,
도 9는 본 개시의 일 실시 예에 따른 최초 엔트로피 추정 방법을 설명하기 위한 흐름도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 개시에 대해 구체적으로 설명하기로 한다.
본 개시의 실시 예에서 사용되는 용어는 본 개시에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 개시의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 개시에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시의 실시 예들은 다양한 변환을 가할 수 있고 여러 가지 실시 예를 가질 수 있는바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나 이는 특정한 실시 형태에 대해 범위를 한정하려는 것이 아니며, 개시된 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 실시 예들을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다." 또는 "구성되다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 개시의 실시 예에서 '모듈' 혹은 '부'는 적어도 하나의 기능이나 동작을 수행하며, 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다. 또한, 복수의 '모듈' 혹은 복수의 '부'는 특정한 하드웨어로 구현될 필요가 있는 '모듈' 혹은 '부'를 제외하고는 적어도 하나의 모듈로 일체화되어 적어도 하나의 프로세서로 구현될 수 있다.
아래에서는 첨부한 도면을 참고하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
이하에서는 도면을 참조하여 본 개시에 대해 더욱 상세히 설명하기로 한다.
도 1은 본 개시의 일 실시 예에 따른 전자 장치의 구성을 나타내는 블록도이다.
도 1을 참조하면, 전자 장치(100)는 메모리(110), 통신 장치(120) 및 프로세서(130)를 포함할 수 있다. 이와 같은 전자 장치는 PC(Personal computer), 노트북, 스마트폰, 태블릿, 서버 등 다양한 장치일 수 있다.
메모리(110)에는 전자 장치(100)에 관한 적어도 하나의 인스트럭션(instruction)이 저장될 수 있다. 예를 들어, 메모리(110)에는 본 개시의 다양한 실시 예에 따라 전자 장치(100)가 동작하기 위한 각종 프로그램(또는 소프트웨어)이 저장될 수 있다. 이와 같은 인스트럭션 중 하나는 난수를 생성하는 난수(random number) 생성기일 수 있으며, 또 다른 하나는 난수 생성기의 무작위성을 판단하기 이한 최소 엔트로피 추정기일 수 있다. 한편, 이상에서는 전자 장치가 난수도 생성하고, 생성된 난수의 무작위성도 판단하는 것으로 설명하였지만, 구현시에는 외부 장치에서 생성한 난수를 제공받고, 제공받은 난수의 최소 엔트로피만을 추정하는 것도 가능하다.
이러한 메모리(110)는 RAM이나 ROM, 플래시 메모리, HDD, 외장 메모리, 메모리 카드 등과 같은 다양한 형태로 구현될 수 있으며, 어느 하나로 한정되는 것은 아니다.
메모리(110)는 생성한 랜덤 값 또는 외부로부터 제공받은 랜덤 값을 저장할 수 있다. 이와 같은 랜덤 값은 비밀 키 등의 생성에 이용되는 값일 수 있다.
그리고 메모리(110)는 후술하는 연산 과정에서 생성된 각종 값들을 임시로 저장할 수 있다.
통신 장치(120)는 전자 장치(100)를 외부 장치(미도시)와 연결하기 위해 형성되고, 근거리 통신망(LAN: Local Area Network) 및 인터넷망을 통해 외부 장치에 접속되는 형태뿐만 아니라, USB(Universal Serial Bus) 포트 또는 무선 통신(예를 들어, WiFi 802.11a/b/g/n, NFC, Bluetooth) 포트를 통하여 접속되는 형태도 가능하다. 이러한 통신 장치(120)는 송수신부(transceiver)로 지칭될 수도 있다.
통신 장치(120)는 랜덤 값을 외부 장치로부터 수신할 수 있으며, 전자 장치(100) 자체적으로 생성한 랜덤 값을 외부 장치로 전송할 수 있다.
또한, 통신 장치(120)는 최소 엔트로피 평가가 필요한 각종 파라미터를 외부 장치로부터 수신할 수 있다. 한편, 구현시에 각종 파라미터는 사용자로부터 직접 입력받을 수 있다. 예를 들어, 상술한 파라미터는 차수(α)일 수 있다.
또한, 통신 장치(120)는 외부 장치로부터 생성된 랜덤 값에 대한 무작위성의 평가를 요청받을 수 있으며, 그에 따라 계산된 최소 엔트로피를 외부 장치에 전송할 수 있다. 한편, 이하에서는 설명을 용이하기 하기 위하여, 최소 엔트로피만을 계산하여 전송하는 것을 설명하지만, 최소 엔트로피 이외에 엔트로피도 산출하는 것도 가능하다.
프로세서(130)는 전자 장치(100)의 전반적인 동작을 제어한다. 예를 들어, 프로세서(130)는 메모리(110)에 저장된 적어도 하나의 인스트럭션을 실행함으로써 전자 장치(100)의 동작을 전반적으로 제어할 수 있다. 이러한 프로세서(130)는 CPU(central processing unit), ASIC(application-specific integrated circuit)과 같은 단일 장치로 구성될 수 있으며, CPU, GPU(Graphics Processing Unit) 등의 복수의 장치로 구성될 수도 있다.
프로세서(130)는 최소 엔트로피를 평가하기 위한 난수를 자체적으로 생성하여 사용할 수도 있고, 외부 장치로부터 수신하여 사용할 수도 있다.
그리고 프로세서(130)는 최소 엔트로피를 추정한다. 먼저 프로세서(130)는 복수의 난수가 준비되면, 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출할 수 있다. 보다 구체적인 충돌 확률 산출 방법에 대해서는 도 2에서 후술한다.
그리고 프로세서(130)는 산출된 충돌 확률 값을 이용하여 최소 엔트로피에 대한 경계 상한 값을 산출할 수 있다. 구체적으로, 프로세서(130)는 산출된 충돌 확률 값이 기설정된 값보다 크면, 기설정된 수학식을 이용하여 확률의 최대값, 즉, 최대 확률값을 산출하고, 그렇지 않은 경우, 기설정된 값을 최대 확률 값으로 이용할 수 있다. 여기서, 기설정된 값은 난수의 집합원의 개수(k)에 대한 역수 값(1/k)일 수 있다.
그리고 프로세서(130)는 산출된 최대 확률 값을 이용하여, 최소 엔트로피를 계산할 수 있다. 구체적으로, 프로세서(130)는 산출된 최대 확률 값을 이용하여 최대 확률 값의 99% 신뢰 구간에 대응되는 경계값을 산출하고, 산출된 경계 값에 대한 로그 처리를 수행하여 최소 엔트로피를 계산할 수 있다.
이상과 같이 본 개시에 따른 전자 장치는 최소 엔트로피를 과추정하지 않으며, 차수가 높아질수록 더욱 높은 정확도로 최소 엔트로피를 추정하는 것이 가능하다.
한편, 도 1을 도시하고 설명함에 있어서, 전자 장치(100)가 3개의 구성만을 포함하는 것으로 도시하고 설명하였지만, 구현시에 전자 장치(100)는 사용자로부터 제어 명령을 직접 입력받기 위한 입력 장치, 연산 결과 등을 표시하기 위한 디스플레이 등을 더 포함할 수 있다.
최소 엔트로피를 추정하는 방법을 설명하기에 앞서 엔트로피와 거듭제곱의 합에 대해서 먼저 설명한다.
입력 시퀀스가 s={s1, ..., sL)와 같이 있다고 가정한다. 여기서, 은 주어진 소스(S)로부터 생성될 수 있다.
이러한 경우, 섀넌 엔트로피는 다음과 같은 수학식 1로 정의될 수 있다.
[수학식 1]
여기서, H(S)는 섀넌 엔트로피, k 는 소스에서 생성되는 랜덤 값의 개수이고, 는 S의 분포이다.
그리고 레니 엔트로피는 섀넌 엔트로피를 일반화한 것으로 다음과 같은 수학식 2로 정의될 수 있다.
[수학식 2]
여기서, α는 레니 엔트로피의 차수로, 일 수 있으며, 차수로 2인 경우, 레니 엔트로피는 다음과 같은 수학식 3과 같이 표현될 수 있다.
[수학식 3]
여기서 H(2)(S)는 충돌 엔트로피이다.
그리고 최소 엔트로피는 다음과 같은 수학식 4로 정의될 수 있다.
[수학식 4]
여기서,
Figure 112021088787881-pat00017
이다.
한편, 분포 P에 대한 차수(α)의 거듭제곱합은 다음과 같은 수학식 5로 정의될 수 있다.
[수학식 5]
따라서, 차수 α인 경우 레니 엔트로피는 H(2)(p)= 이다.
그리고 다음과 같은 수학식 6 및 7은 잘 알려져 있다.
[수학식 6]
[수학식 7]
한편, α가 증가할 때, 레니 엔트로피는 증가하지 않는다. 따라서, 이 성립한다. 즉, 최소 엔트로피는 레니 엔트로피의 하한 경계이다.
이하에서는 도 2를 참조하면, 기존의 LRS 추정기의 동작 및 최소 엔트로피와의 관계를 설명한다.
도 2는 엔트로피를 설명하기 위한 도면이다.
도 2를 참조하면, 제1 그래프(201)가 최소 엔트로피이고, 제2 그래프(202)가 충돌 엔트로피, 제3 그래프(203)가 LRS 추정기에서 생성한 최소 엔트로피이다. 이와 같이 기존의 LRS 추정기에서 생성한 최소 엔트로피는 상술한 바와 같은 최소 엔트로피가 아니라, 충돌 엔트로피를 더 잘 근사하는 것을 확인할 수 있다. 즉, 기존의 LRS 추정기는 최소 엔트로피를 추정하지 못하지만, 충돌 엔트로피는 비교적 정확하게 추정을 수행한다.
이와 같이 기존의 LRS 추정기는 충돌 엔트로피를 비교적 정확하게 추정이 가능하며, 앞서 설명한 바와 같이 최소 엔트로피는 레니 엔트로피의 하한 경계라는 점, 즉, 충돌 엔트로피는 최소 엔트로피의 상한이라는 점에서, 본 개시에서는 LRS 추정기로 충돌 엔트로피를 추정하고, 최소 엔트로피는 충돌 엔트로피의 하단이라는 점을 고려하여 최소 엔트로피를 산출한다.
보다 구체적인 동작은 아래에서 설명한다.
먼저 경계()를 와 같이 가정한다. 그러면, 다음의 수학식 8와 같은 부등식이 성립한다.
[수학식 8]
여기서, α는 차수, H(α)(S)는 α 차수인 경우의 엔트로피이다.
차수가 1이 아니며, 분포 S가 다음의 수학식 9의 조건을 만족하는 경우, 는 수학식 8의 등호를 성립시킨다.
유사 균등 분포(near-uniform distribution)는 아래의 수학식 9와 같이 표기된다.
[수학식 9]
,
즉, LRS 추정기에서 추정된 충돌 확률(pc)은 다음과 같은 부등식을 성립할 수 있다.
[수학식 10]
분포 S가 유사 균등 분포(near-uniform distribution)라면, 상술한 수학식 10은 등호로 성립한다. 구체적으로, α>1인 경우, 경계는 다음의 수학식 11과 같다.
[수학식 11]
한편, α가 2인 경우()는 LRS 추정기의 충돌 확률(pc)과 등가이기 때문에,와 같이 나타낼 수 있다. 여기서 pc는 LRS 추정기를 통해 구한 충돌 확률 값 중 최대값이다.
한편, 상술한 경계의 정의를 이용하면, 이고, 경우의 경계의 비증가 함수이다. 따라서, 상술한 수학식 10은 유지되며, 상술한 경계의 상한은 다음과 같은 수학식 12와 같이 나타낼 수 있다.
[수학식 12]
그리고 상술한 최대 확률값을 이용하여 최소 엔트로피를 다음과 같은 수학식 13과 같이 계산할 수 있다.
[수학식 13]
이와 같은 동작을 정리한 알고리즘은 도 3과 같다. 이하에서는 도 3을 참조하여 본 개시에 따른 최소 엔트로피의 추정 동작을 다시 한번 설명한다.
도 3은 본 개시의 일 실시 예에 따른 최소 엔트로피 추정 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 먼저, 충돌 확률을 계산한다.
그리고 최대 확률 값을 계산한다. 한편, 최대 확률값은 앞서 설명한 바와 같이 이다. 인 경우, 상술한 수학식 12를 통해 구할 수 있다. 만약 이라면, 그러한 경우는 실제로 성립할 수 없으므로, 최대 확률값은 로 설정할 수 있다.
그리고 산출된 최대 확률 값을 이용하여 최소 엔트로피를 산출할 수 있다. 구체적으로, 아래의 수학식 14를 이용하여 99% 신뢰구간에 대응하는 확률 값을 산출할 수 있다.
[수학식 14]
여기서, 는 99% 신뢰 구간에 대응하는 값, 는 최대 확률 값, k는 난수의 집합원의 개수다.
그리고 산출된 경계 값에 로그 처리를 수행하여 최소 엔트로피의 하한을 산출할 수 있다.
한편, 이상에서는 충돌 확률을 LRS 추정기의 동작을 이용하여 차수가 2인 경우로 설명하였다. 하지만, 일반화를 위하여 이하에서는 차수가 2를 초과하는 경우를 설명한다. 즉, 기존의 확률 계산이 아래와 같은 수학식 15라고 하는 경우, 아래에서의 새롭게 설명하는 방법은 수학식 16과 같다.
[수학식 15]
[수학식 16]
여기서 P는 충돌 확률 값, α는 2 이상의 자연수, 튜플은 난수의 문자열이다.
도 4를 참조하면, 본 개시에 따른 충돌 확률은 다음과 같은 수학식 17과 같은 방식으로 계산이 수행된다.
[수학식 17]
여기서 PW (α)는 충돌 확률, α는 차수이다. 기존의 LRS 추정기에서의 충돌 확률 연산 방법과 비교하였을 때, 2가 α로 변경되었음을 알 수 있다.
한편, 수학식 17은 아래 수학식 18과 같이 나타낼 수 있다.
[수학식 18]

또한, 수학식 18은 w 단위 길이에 대한 충돌 확률에 따라 아래 수학식 19과 같이 나타낼 수 있다.
[수학식 19]

또한, 수학식 19에서 충돌 확률 값 M은 수학식 10과 수학식 11에 기초하여 아래 수학식 20와 같이 나타낼 수 있다.
[수학식 20]
이하에서는 다양한 시뮬레이션 결과를 이용하여 본 개시에 따른 최소 엔트로피의 추정 방법의 효과를 설명한다.
도 5 내지 도 8은 본 개시의 최소 엔트로피 추정 방법에 따른 실험 결과를 나타내는 도면이다.
구체적으로, 도 5는 충돌 확률과 경계와의 관계를 나타내는 도면이다. 도 5를 참조하면, 유사 균등 분포(near-uniform distribution)와 반전된 유사 균등 분포가 경계의 상한 및 하한에 대응되는 것을 확인할 수 있다.
도 6은 충돌 엔트로피와 최소 엔트로피와의 관계를 나타내는 도면이다. 도 6을 참조하면, 충돌 엔트로피와 최소 엔트로피가 유사 균등 분포에서는 각각이 서로 상한 및 하한을 구성함을 확인할 수 있다.
도 7은 다양한 차수별 추정된 최소 엔트로피를 나타내는 도면이고, 도 8은 차수별 최소 엔트로피의 분산을 나타내는 도면이다.
도 7을 참조하면, 기존의 LRS 추정기는 최소 엔트로피를 정확하게 추정하지 못하지만, 즉 충돌 엔트로피를 추정할 뿐이다. 그러나 본 개시에 따른 추정 방법은 최소 엔트로피와 유사한 값을 추정함을 확인할 수 있다.
또한, 차수가 증가함에 따라 추정된 최소 엔트로피가 실제 최소 엔트로피와의 차이가 줄어듬을 확인할 수 있다. 특히 도 8을 참조하면, 차수가 증가함에 따라 최소 엔트로피에 대해 분산이 감소함을 확인할 수 있다.
한편, 도 8을 참조하면, 확률(p)이 증가함에 따라, 전체적으로 분산 역시 증가함을 확인할 수 있다. 즉, 낮은 확률에서는 차수의 증가가 큰 이점이 없으나, 높은 확률(p)에서는 차수가 증가함에 따라 분산 및 바이어스에서의 이점이 있다.
따라서, 전자 장치(100)는 확률(p)에 따라 적응적으로 도 3에 따른 알고리즘을 이용하여 최소 엔트로피를 추정하거나, 도 4에 따른 알고리즘을 이용하여 최소 엔트로피를 추정할 수도 있다.
도 9는 본 개시의 일 실시 예에 따른 최초 엔트로피 추정 방법을 설명하기 위한 흐름도이다.
도 9를 참조하면, 먼저, 복수의 난수가 입력되면, 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출한다(S1110). 구체적으로, 앞서 설명한 수학식 16을 이용하여 충돌 확률 값을 산출할 수 있다.
그리고 산출된 충돌 확률 값을 이용하여 최소 엔트로피에 대한 최대 확률 값을 산출한다(S1120). 구체적으로, 산출된 충돌 확률 값이 기 설정된 값보다 크면, 앞서 설명한 수학식 12를 이용하여 최대 확률 값을 산출하는 최소 엔트로피를 추정할 수 있다. 만약, 산출된 충돌 확률 값이 기 설정된 값보다 작으면, 기 설정된 값을 최대 확률 값으로 이용할 수 있다. 여기서 기 설정된 값은 난수의 집합원의 개수(k)에 대한 역수 값(1/k)일 수 있다.
그리고 산출된 경계 상한 값을 이용하여, 최소 엔트로피를 계산한다(S1130). 구체적으로, 산출된 최대 확률 값을 이용하여 최대 확률 값의 99% 신뢰 구간에 대응되는 값을 산출하고, 산출된 경계 값에 대한 로그 처리를 수행하여 최소 엔트로피를 계산할 수 있다.
따라서, 본 실시 예에 따른 최초 엔트로피 추정 방법은 최소 엔트로피를 과추정하지 않으며, 차수가 높아질수록 더욱 높은 정확도로 최소 엔트로피를 추정하는 것이 가능하다. 도 11과 같은 최초 엔트로피 추정 방법은 도 1의 구성을 가지는 전자 장치 상에서 실행될 수 있으며, 그 밖의 다른 구성을 가지는 전자 장치상에서도 실행될 수 있다.
또한, 상술한 바와 같은 최초 엔트로피 추정 방법은 컴퓨터에서 실행될 수 있는 실행 가능한 알고리즘을 포함하는 프로그램으로 구현될 수 있고, 상술한 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.
비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 방법을 수행하기 위한 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 개시의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 개시는 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 개시의 요지를 벗어남이 없이 당해 개시가 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 개시의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안 될 것이다.
100: 전자 장치 110: 메모리
120: 통신 장치 130: 프로세서

Claims (14)

  1. 전자 장치에서의 최소 엔트로피 추정 방법에 있어서,
    복수의 난수가 입력되면, 상기 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출하는 단계;
    상기 산출된 충돌 확률 값을 이용하여 소스에서 생성되는 복수의 난수에 대한 확률 분포의 최대값인 최대 확률 값을 구하는 단계; 및
    상기 산출된 최대 확률 값을 이용하여, 최소 엔트로피를 계산하는 단계;를 포함하고,
    상기 최대 확률 값을 산출하는 단계는,
    상기 산출된 충돌 확률 값이 기 설정된 값보다 크면, 아래의 수학식을 이용하여 최대 확률 값을 산출하는 최소 엔트로피 추정 방법,

    여기서, 는 최대 확률 값, k는 난수의 집합원의 개수, Pc는 상기 충돌 확률 값.
  2. 삭제
  3. 제1항에 있어서,
    상기 최대 확률 값을 산출하는 단계는,
    상기 산출된 충돌 확률 값이 기 설정된 값보다 작으면, 상기 기 설정된 값을 최대 확률 값으로 이용하는 최소 엔트로피 추정 방법.
  4. 제1항 또는 제3항에 있어서,
    상기 기 설정된 값은 난수의 집합원의 개수(k)에 대한 역수 값(1/k)인 최소 엔트로피 추정 방법.
  5. 제1항에 있어서,
    상기 최소 엔트로피를 계산하는 단계는,
    상기 산출된 최대 확률 값의 99% 신뢰 구간에 대응되는 값을 산출하는 단계; 및
    상기 산출된 경계 값에 대한 로그 처리를 수행하여 최소 엔트로피를 계산하는 단계;를 포함하는 최소 엔트로피 추정 방법.
  6. 제5항에 있어서,
    상기 99% 신뢰 구간에 대응되는 값을 산출하는 단계는,
    다음의 수학식을 이용하여 산출하는 최소 엔트로피 추정 방법.

    여기서, 는 상기 99% 신뢰 구간에 대응되는 값, 는 최대 확률 값, k는 난수의 집합원의 개수.
  7. 제1항에 있어서,
    상기 충돌 확률 값을 산출하는 단계는,
    다음의 수학식을 이용하여 충돌 확률 값을 산출하는 최소 엔트로피 추정 방법,

    여기서 M은 상기 충돌 확률 값, α는 2이상의 자연수, 튜플은 상기 난수의 문자열.
  8. 전자 장치에 있어서,
    적어도 하나의 인스트럭션(instruction)을 저장하는 메모리; 및
    상기 적어도 하나의 인스트럭션을 실행하는 프로세서;를 포함하고,
    상기 프로세서는,
    상기 적어도 하나의 인스트럭션을 수행함으로써,
    복수의 난수가 입력되면, 상기 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출하고,
    상기 산출된 충돌 확률 값을 이용하여 소스에서 생성되는 복수의 난수에 대한 확률 분포의 최대값인 최대 확률 값을 산출하고,
    상기 산출된 최대 확률 값을 이용하여, 최소 엔트로피를 계산하는 것을 포함하고,
    상기 프로세서는,
    상기 산출된 충돌 확률 값이 기 설정된 값보다 크면, 아래의 수학식을 이용하여 최대 확률 값을 산출하는 전자 장치,

    여기서, 는 최대 확률 값, k는 난수의 집합원의 개수, Pc는 상기 충돌 확률 값.
  9. 삭제
  10. 제8항에 있어서,
    상기 프로세서는,
    상기 산출된 충돌 확률 값이 기 설정된 값보다 작으면, 상기 기 설정된 값을 최대 확률 값으로 이용하는 전자 장치.
  11. 제8항 또는 제10항에 있어서,
    상기 기설정된 값은,
    난수의 집합원의 개수(k)에 대한 역수 값(1/k)인 전자 장치.
  12. 제8항에 있어서,
    상기 프로세서는,
    상기 산출된 최대 확률 값을 이용하여 상기 최대 확률 값의 99% 신뢰 구간에 대응되는 값을 산출하고, 상기 산출된 값에 대한 로그 처리를 수행하여 최소 엔트로피를 계산하는 전자 장치.
  13. 제8항에 있어서,
    상기 프로세서는,
    다음의 수학식을 이용하여 충돌 확률 값을 산출하는 전자 장치.

    여기서 M은 상기 충돌 확률 값, α는 2이상의 자연수, 튜플은 상기 난수의 문자열.
  14. 전자 장치에서의 최소 엔트로피 추정 방법을 실행하기 위한 프로그램을 포함하는 컴퓨터 판독가능 기록 매체에 있어서,
    상기 최소 엔트로피 추정 방법은,
    전자 장치에서의 최소 엔트로피 추정 방법에 있어서,
    복수의 난수가 입력되면, 상기 복수의 난수에 대한 충돌 확률(collision probability) 값을 산출하는 단계;
    상기 산출된 충돌 확률 값을 이용하여 소스에서 생성되는 복수의 난수에 대한 확률 분포의 최대값인 최대 확률 값을 산출하는 단계; 및
    상기 최대 확률 값을 이용하여, 최소 엔트로피를 계산하는 단계;를 포함하고,
    상기 최대 확률 값을 산출하는 단계는,
    상기 산출된 충돌 확률 값이 기 설정된 값보다 크면, 아래의 수학식을 이용하여 최대 확률 값을 산출하는 컴퓨터 판독가능 기록 매체,

    여기서, 는 최대 확률 값, k는 난수의 집합원의 개수, Pc는 상기 충돌 확률 값.
KR1020210101176A 2021-08-02 2021-08-02 최소 엔트로피 추정 방법 및 장치 KR102574706B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210101176A KR102574706B1 (ko) 2021-08-02 2021-08-02 최소 엔트로피 추정 방법 및 장치
PCT/KR2022/005270 WO2023013844A1 (ko) 2021-08-02 2022-04-12 최소 엔트로피 추정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210101176A KR102574706B1 (ko) 2021-08-02 2021-08-02 최소 엔트로피 추정 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20230019549A KR20230019549A (ko) 2023-02-09
KR102574706B1 true KR102574706B1 (ko) 2023-09-06

Family

ID=85155797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210101176A KR102574706B1 (ko) 2021-08-02 2021-08-02 최소 엔트로피 추정 방법 및 장치

Country Status (2)

Country Link
KR (1) KR102574706B1 (ko)
WO (1) WO2023013844A1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101646689B1 (ko) * 2015-01-29 2016-08-08 국민대학교산학협력단 상대적 독립성을 이용한 누적 엔트로피 평가 장치 및 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140111844A (ko) * 2013-03-12 2014-09-22 삼성전자주식회사 난수 발생기 및 난수 품질 테스트 방법
JP6176076B2 (ja) * 2013-11-22 2017-08-09 富士通株式会社 物理乱数生成装置、物理乱数生成方法、及び物理乱数生成システム
EP2940923B1 (en) * 2014-04-28 2018-09-05 Université de Genève Method and device for optics based quantum random number generator

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101646689B1 (ko) * 2015-01-29 2016-08-08 국민대학교산학협력단 상대적 독립성을 이용한 누적 엔트로피 평가 장치 및 방법

Also Published As

Publication number Publication date
WO2023013844A1 (ko) 2023-02-09
KR20230019549A (ko) 2023-02-09

Similar Documents

Publication Publication Date Title
US10601598B2 (en) System and method for storing the location on a blockchain of a hash of a digital item within said digital item
US9026571B2 (en) Random number generation failure detection and entropy estimation
US8189778B2 (en) Adaptive generation of a pseudo random number generator seed
US20190156213A1 (en) Gradient compressing apparatus, gradient compressing method, and non-transitory computer readable medium
US20180316728A1 (en) Method and apparatus for detecting security using an industry internet operating system
US9397986B2 (en) Authenticating acceptance of a string using an automaton
US11249987B2 (en) Data storage in blockchain-type ledger
CN112508200B (zh) 处理机器学习模型文件的方法、装置、设备、介质和程序
CN108234441B (zh) 确定伪造访问请求的方法、装置、电子设备和存储介质
CN114329644B (zh) 对逻辑系统设计进行加密仿真的方法、设备及存储介质
US20160087798A1 (en) Computation of hash value for a message based on received portions of the message
KR102574706B1 (ko) 최소 엔트로피 추정 방법 및 장치
US11768752B2 (en) Optimizing large scale data analysis
CN113470124B (zh) 特效模型的训练方法及装置、特效生成方法及装置
US11593014B2 (en) System and method for approximating replication completion time
US10608900B2 (en) Generating a deferrable data flow
JP6462481B2 (ja) スキル評価装置、スキル評価方法、プログラム、及び記録媒体
CN114491677A (zh) 智能终端的硬件性能评测方法及装置、存储介质、终端
US9582667B2 (en) Detecting vulnerability to resource exhaustion
CN114339832B (zh) 一种无线传感器网络的确定方法及装置
US10360509B2 (en) Apparatus and method for generating an optimal set of choices
US20240061647A1 (en) Information processing apparatus, information processing method, and program
KR102244128B1 (ko) 컴퓨팅 리소스 수용량에 기반한 네트워크 공격 강도 측정 기법을 사용하는 네트워크 호스트 공격 탐지 방법 및 장치
CN111034076B (zh) 候选控制信道盲检测方法、设备及计算机可读介质
US20170178046A1 (en) Determining an average of performance metrics without sharing actual performance metrics

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant