KR20170087646A - 양자키 유도 함수를 활용한 암호키 생성 방법 및 이를 수행하는 암호키 생성 장치 - Google Patents

양자키 유도 함수를 활용한 암호키 생성 방법 및 이를 수행하는 암호키 생성 장치 Download PDF

Info

Publication number
KR20170087646A
KR20170087646A KR1020160007472A KR20160007472A KR20170087646A KR 20170087646 A KR20170087646 A KR 20170087646A KR 1020160007472 A KR1020160007472 A KR 1020160007472A KR 20160007472 A KR20160007472 A KR 20160007472A KR 20170087646 A KR20170087646 A KR 20170087646A
Authority
KR
South Korea
Prior art keywords
qkd
data
matrix
determining
vector
Prior art date
Application number
KR1020160007472A
Other languages
English (en)
Other versions
KR101767939B1 (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 KR1020160007472A priority Critical patent/KR101767939B1/ko
Publication of KR20170087646A publication Critical patent/KR20170087646A/ko
Application granted granted Critical
Publication of KR101767939B1 publication Critical patent/KR101767939B1/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/30Compression, e.g. Merkle-Damgard construction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Complex Calculations (AREA)

Abstract

양자키 유도 함수를 활용한 암호키 생성 방법은 양자키 유도 함수를 사용하여 RSA(Rivest Shamir Adleman) 데이터와 연관된 변환 행렬을 결정하는 단계, 상기 변환 행렬의 결정 전에, QKD(Quantum Key Distribution) 데이터와 연관되고 상기 변환 행렬의 크기를 결정하는데 사용되는 QKD 벡터를 결정하는 단계 및 상기 변환 행렬 및 상기 QKD 벡터를 기초로 암호키를 생성하는 단계를 포함한다. 따라서, 암호키 생성 방법은 독립적으로 입력되는 RSA 데이터와 QKD 데이터를 기초로 양자키 유도 함수를 활용하여 높은 엔트로피를 가지는 암호키를 생성할 수 있다.

Description

양자키 유도 함수를 활용한 암호키 생성 방법 및 이를 수행하는 암호키 생성 장치{ENCRYPTION KEY GENERATION METHOD USING QUANTUM KEY DERIVATION FUNCTION AND ENCRYPTION KEY GENERATION APPARATUS PERFORMING THE SAME}
본 발명은 암호키 생성 기술에 관한 것으로, 보다 상세하게는 독립적으로 입력되는 RSA(Rivest Shamir Adleman) 공개키 암호를 이용한 키공유 또는 키전송 데이터(이하, RSA 데이터)와 QKD(Quantum Key Distribution) 데이터를 기초로 RSA 데이터로 생성한 양자키 유도 함수(이하, 양자키 유도 함수)를 활용하여 높은 엔트로피를 가지는 암호키를 생성하는 암호키 생성 방법에 관한 것이다.
현대 암호 시스템에서는 안전한 암호 알고리즘을 적용한 암호시스템을 구축하고 예측이 불가능한 암호키를 사용하여야 시스템의 안전성을 확보할 수 있다. 이에 현대 암호 시스템은 예측 불가능성의 척도로 사용되는 엔트로피를 기초로 높은 엔트로피를 가지는 암호키를 생성하기 위한 연구를 활발히 진행하고 있다. 현대 암호 시스템은 키 유도 함수(Key Derivation Function, 이하 KDF)를 사용하여 높은 엔트로피를 가지는 암호키를 생성하거나 또는 예측 불가능성의 특성을 가지는 양자키 분배(Quantum key distribution, 이하 QKD) 방법을 이용하여 암호키를 생성할 수 있다. 종래 기술은 양자키 유도 함수로부터 출력된 양자키 분배 데이터를 기초로 랜덤 행렬을 생성하고, 상기 랜덤 행렬과 양자키 분배의 원시 데이터 벡터의 행렬 곱 연산을 통해 암호키를 생성할 수 있으나, 종래 기술은 행렬 곱 연산의 두 입력 데이터가 독립이어야 한다는 키 유도 함수의 확률론적 조건을 충족시키지 못하는 문제점을 가지고 있다.
한국공개특허 제10-2014-0054647호는 양자 키 분배 시스템에서 생성된 비밀키의 안전성을 높이는 방법에 관한 것으로, 걸러진 키(Sifted Key)에 대해 소정의 난수열과 비트간 배타적 논리합(Bitwise Exclusive OR) 연산을 수행하여 암호화된 걸러진 키를 생성하고, 상기 암호화된 걸러진 키에 대해 후처리 연산을 수행하여 비밀키를 생성하는 송신장치 및 수신장치를 포함하는 안정성이 향상된 비밀키를 생성하는 기술에 대하여 개시한다.
한국등록특허 제10-1479107호는 양자 암호키 분배를 위해 정기적인 프레임 단위의 양자 신호를 생성하고 처리하는 방법 및 장치에 관한 것으로, 송신부에서는 번호를 부여한 프레임 단위의 양자신호를 주기적으로 생성하여 전송하고, 수신부에서는 해당 번호에 맞게 처리하여, 시스템의 성능을 향상시킬 수 있는 정기적인 프레임 단위의 양자 신호를 생성하고 처리함으로써 수신부의 프레임수신 및 신호처리 완료 정보를 기다리지 않고 주기적으로 프레임을 계속 생성해서 보내므로 양자암호키분배 시스템의 운영 효율을 향상시키고 키생성률을 높일 수 있는 기술에 대하여 개시한다.
한국공개특허 제10-2014-0054647호 (2014. 05. 09 공개) 한국등록특허 제10-1479107호 (2014. 12. 29 등록)
본 발명의 일 실시예는 독립적으로 입력되는 RSA(Rivest Shamir Adleman) 데이터와 QKD(Quantum Key Distribution) 데이터를 기초로 양자키 유도 함수를 활용하여 높은 엔트로피를 가지는 암호키를 생성하는 암호키 생성 방법을 제공하고자 한다.
본 발명의 일 실시예는 QKD 데이터의 최소 엔트로피를 모니터링하여 QKD 데이터의 압축률을 결정하는 암호키 생성 방법을 제공하고자 한다.
본 발명의 일 실시예는 QKD 데이터의 최소 엔트로피 및 양자키 유도 함수의 출력에 대한 설정된 통계적 거리를 기초로 산출되는 양자키 유도 함수를 사용하여 변환 행렬 생성에 필요한 RSA 데이터의 크기를 계산하는 암호키 생성 방법을 제공하고자 한다.
본 발명의 일 실시예는 독립적으로 입력되는 RSA 데이터와 QKD 데이터를 기초로 양자키 유도 함수를 사용하여 암호키를 생성함으로써 데이터의 낭비를 최소화하는 암호키 생성 방법을 제공하고자 한다.
실시예들 중에서, 양자키 유도 함수를 활용한 암호키 생성 방법은 양자키 유도 함수를 사용하여 RSA(Rivest Shamir Adleman) 데이터와 연관된 변환 행렬을 결정하는 단계, 상기 변환 행렬의 결정 전에, QKD(Quantum Key Distribution) 데이터와 연관되고 상기 변환 행렬의 크기를 결정하는데 사용되는 QKD 벡터를 결정하는 단계 및 상기 변환 행렬 및 상기 QKD 벡터를 기초로 암호키를 생성하는 단계를 포함한다.
상기 QKD 벡터를 결정하는 단계는 상기 QKD 데이터의 최소 엔트로피를 측정하여 QKD 압축률을 결정하는 단계를 포함할 수 있다. 상기 QKD 벡터를 결정하는 단계는 상기 QKD 압축률을 기초로 상기 QKD 벡터에 해당하는 N*1 행렬(상기 N은 자연수)을 산출하는 단계를 포함할 수 있다.
상기 QKD 벡터를 결정하는 단계는 상기 양자키 유도 함수의 출력 분포와 균등 분포 간의 통계적 거리를 설정하는 단계를 포함할 수 있다. 상기 QKD 벡터를 결정하는 단계는 상기 QKD 데이터의 최소 엔트로피를 모니터링하여 상기 QKD 압축률을 결정하는 단계를 포함할 수 있다.
일 실시예에서, 상기 변환 행렬을 결정하는 단계는 상기 QKD 데이터의 최소 엔트로피 및 상기 설정된 통계적 거리를 기초로 산출되는 양자키 유도 함수를 사용하여 상기 변환 행렬 생성에 필요한 RSA 데이터의 크기를 계산하는 단계를 포함할 수 있다. 상기 변환 행렬을 결정하는 단계는 아래의 수학식에 해당하는 양자키 유도 함수를 사용하여 상기 변환 행렬 생성에 필요한 RSA 데이터의 크기를 계산하는 단계를 포함할 수 있다.
[수학식]
Figure pat00001
여기에서, m은 양자키 유도 함수의 출력, k는 QKD 데이터의 최소 엔트로피, ε은 통계적 거리를 의미하고, m*n 크기의 변환 행렬 생성에 필요한 RSA 데이터의 크기는 m+n-1에 해당한다.
상기 변환 행렬을 결정하는 단계는 상기 계산된 RSA 데이터를 기초로 헨켈 매트릭스(Hankel Matrix)를 생성하는 단계를 포함할 수 있다. 상기 변환 행렬을 결정하는 단계는 상기 QKD 벡터의 크기를 기초로 상기 헨켈 매트릭스의 열 크기를 결정하는 단계를 포함할 수 있다. 상기 암호키를 생성하는 단계는 상기 변환 행렬 및 상기 QKD 벡터의 행렬 곱 연산을 통해 상기 암호키를 생성하는 단계를 포함할 수 있다.
실시예들 중에서, 양자키 유도 함수를 활용한 암호키 생성 장치는 양자키 유도 함수를 사용하여 RSA(Rivest Shamir Adleman) 데이터와 연관된 변환 행렬을 결정하는 변환 행렬 결정부, 상기 변환 행렬의 결정 전에, QKD(Quantum Key Distribution) 데이터와 연관되고 상기 변환 행렬의 크기를 결정하는데 사용되는 QKD 벡터를 결정하는 QKD 벡터 결정부 및 상기 변환 행렬 및 상기 QKD 벡터를 기초로 암호키를 생성하는 암호키 생성부를 포함한다.
개시된 기술은 다음의 효과를 가질 수 있다. 다만, 특정 실시예가 다음의 효과를 전부 포함하여야 한다거나 다음의 효과만을 포함하여야 한다는 의미는 아니므로, 개시된 기술의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
본 발명의 일 실시예에 따른 양자키 유도 함수를 활용한 암호키 생성 방법은 독립적으로 입력되는 RSA(Rivest Shamir Adleman) 데이터와 QKD(Quantum Key Distribution) 데이터를 기초로 양자키 유도 함수를 활용하여 높은 엔트로피를 가지는 암호키를 생성할 수 있다.
본 발명의 일 실시예에 따른 양자키 유도 함수를 활용한 암호키 생성 방법은 QKD 데이터의 최소 엔트로피를 모니터링하여 QKD 데이터의 압축률을 결정할 수 있다.
본 발명의 일 실시예에 따른 양자키 유도 함수를 활용한 암호키 생성 방법은 QKD 데이터의 최소 엔트로피 및 양자키 유도 함수의 출력에 대한 설정된 통계적 거리를 기초로 산출되는 양자키 유도 함수를 사용하여 변환 행렬 생성에 필요한 RSA 데이터의 크기를 계산할 수 있다.
본 발명의 일 실시예에 따른 양자키 유도 함수를 활용한 암호키 생성 방법은 독립적으로 입력되는 RSA 데이터와 QKD 데이터를 기초로 양자키 유도 함수를 사용하여 암호키를 생성함으로써 데이터의 낭비를 최소화할 수 있다.
도 1은 본 발명의 일 실시예에 따른 양자키 유도 함수를 활용한 암호키 생성 장치에서 수행되는 암호키 생성 방법을 설명하는 도면이다.
도 2는 도 1에 있는 암호키 생성 장치를 나타내는 블록도이다.
도 3은 도 1에 있는 암호키 생성 장치에서 수행되는 변환 행렬을 결정하는 과정을 설명하는 도면이다.
도 4는 도 1에 있는 암호키 생성 장치에서 수행되는 엔트로피 밀도와 입력된 QKD 데이터의 크기 간의 관계를 나타내는 그래프이다.
도 5는 도 1에 있는 암호키 생성 장치에서 수행되는 암호키 생성 과정을 설명하는 순서도이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 실시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 양자키 유도 함수를 활용한 암호키 생성 장치에서 수행되는 암호키 생성 방법을 설명하는 도면이고, 도 2는 도 1에 있는 암호키 생성 장치를 나타내는 블록도이다.
도 1 및 도 2를 참조하면, 양자키 유도 함수를 활용한 암호키 생성 장치(100)는 변환 행렬 결정부(210), QKD 벡터 결정부(220), 암호키 생성부(230) 및 제어부(240)를 포함한다.
변환 행렬 결정부(210)는 양자키 유도 함수(Quantum Key Derivation Function)를 사용하여 RSA(Rivest Shamir Adleman) 데이터(10)와 연관된 변환 행렬(30)을 결정할 수 있다. 여기에서, 양자키 유도 함수는 독립적으로 입력되는 RSA 데이터와 QKD 데이터를 기초로 예측 불가능하도록 높은 엔트로피를 가지는 암호키(50)를 생성하는 함수를 의미한다. 한편, RSA 데이터(10)는 현대 암호 시스템에서 사용되는 암호 체계에 기초하여 입력된 데이터에 해당할 수 있다. 일 실시예에서, 양자키 유도 함수는 Leftover Hash Lemma를 이론적 근거로 구현될 수 있다. Leftover Hash Lemma의 확률론적 근거를 충족하는 양자키 유도 함수에 대해서는 하기 수학식 1을 통해 자세히 설명한다.
일 실시예에서, 변환 행렬 결정부(210)는 하기 수학식 1에 해당하는 양자키 유도 함수를 사용하여 변환 행렬(30)의 생성에 필요한 RSA 데이터(10)의 크기를 계산할 수 있다.
Figure pat00002
여기에서, m은 양자키 유도 함수의 출력, k는 QKD 데이터의 최소 엔트로피, ε은 양자키 유도 함수의 출력 분포에 대한 통계적 거리를 의미한다. 일 실시예에서, 변환 행렬이 m*n 행렬(상기 m, n은 자연수)로 구현되는 경우, 변환 행렬 생성에 필요한 RSA 데이터의 크기는 m+n-1에 해당할 수 있다. 또한, QKD 벡터(40)는 n*1 행렬(상기 n은 자연수)로 구현될 수 있다. 한편, 양자키 유도 함수의 출력 분포에 대한 통계적 거리(ε)는 균등 분포와의 거리가 가까운 정도를 의미하고, 암호키(50)의 엔트로피에 대한 목표치에 해당할 수 있다. 예를 들어, 통계적 거리(ε)가 낮게 설정될수록 암호키(50)는 높은 엔트로피를 가질 수 있다. 보다 구체적으로, 변환 행렬 결정부(210)는 양자키 유도 함수의 출력(m)을 계산하여 변환 행렬(30) 생성에 필요한 최소 RSA 데이터(10)의 크기를 계산할 수 있다. QKD 벡터 결정부(220)는 양자키 유도 함수의 사용 전에, QKD 데이터(20)의 최소 엔트로피를 측정하여 변환 행렬 결정부(210)에 제공할 수 있다. 여기에서, 엔트로피는 예측 불가능성의 척도로 사용되고 데이터의 크기를 결정할 수 있다. 따라서, QKD 벡터 결정부(220)는 QKD 데이터(20)의 최소 엔트로피를 기초로 양자키 유도 함수의 입력 데이터 크기를 감소시킬 수 있다.
QKD 벡터 결정부(220)는 양자키 유도 함수의 출력 분포와 균등 분포 간의 통계적 거리(ε)를 설정할 수 있다. 일 실시예에서, 양자키 유도 함수의 출력 분포(X)와 균등 분포(Y) 간의 통계적 거리(ε)는 하기 수학식 2에 따라 정의될 수 있다.
Figure pat00003
여기에서, U는 표본 공간에 해당하고, 양자키 유도 함수의 출력 분포(X)와 균등 분포(Y)는 동일한 표본 공간(U)을 가지는 확률 변수에 해당할 수 있다. 예를 들어, 양자키 유도 함수의 출력 분포(X)에 대한 통계적 거리(ε)가 0에 가까울수록, 양자키 유도 함수의 출력 분포(X)는 균등 분포(Y)와 유사하게 형성될 수 있다. 일 실시예에서, 암호키 생성 장치(100)는 입력 데이터의 크기를 최소화한 조건에서 양자키 유도 함수의 출력 분포(X)에 대한 통계적 거리(ε)를 0에 가깝게 설정하여, 예측 불가능성을 가지며 균등 분포(Y)에 가까운 암호키(50)를 안정적으로 출력할 수 있다.
즉, 변환 행렬 결정부(210)는 QKD 벡터 결정부(220)로부터 QKD 데이터(20)의 최소 엔트로피와 설정된 통계적 거리(ε)를 수신하여 양자키 유도 함수의 출력을 산출할 수 있다. 변환 행렬 결정부(210)는 양자키 유도 함수를 통해 변환 행렬(30) 생성에 필요한 최소 RSA 데이터(10)의 크기를 계산하여 변환 행렬(30) 생성에 사용되는 불필요한 데이터 낭비를 감소시킬 수 있다. 따라서, 암호키 생성 장치(100)는 QKD 데이터(20)의 최소 엔트로피를 기초로 입력 데이터의 크기를 최소화하고, 높은 엔트로피를 가지는 암호키(50)를 생성하여 암호키(50)의 예측 불가능성을 강화하는 것을 목적으로 한다.
일 실시예에서, 양자키 유도 함수의 출력 분포에 대한 통계적 거리를 2-100으로 가정하면(ε= 2-100), 변환 행렬 결정부(210)는 하기 표 1과 같이, 균등 분포에 가까운 암호키를 설정하기 위한 파라미터를 결정할 수 있다.
엔트로피 밀도(s) 출력 분포와 균등 분포 간의 거리
(SD≤ε)
양자키 유도함수
출력 크기
(m 비트)
양자키 유도함수 입력 크기
(n 비트)
QKD 데이터의 최소 엔트로피
(H≥k)
0.9 2-100 128 384 346
0.95 352 335
0.9 256 512 461
0.95 480 456
여기에서, 엔트로피 밀도(s)는 양자키 유도 함수의 입력 데이터 크기(n) 당 QKD 데이터(20)의 최소 엔트로피(k)에 해당할 수 있다(s=k/n). 또한, 양자키 유도 함수의 출력 크기(m)는 변환 행렬(30) 생성에 필요한 RSA 데이터(10)의 크기에 해당하고, 양자키 유도 함수의 입력 크기(n)는 수집된 QKD 데이터(20)의 압축을 통해 생성된 QKD 벡터(40)의 크기에 해당할 수 있다.
QKD 벡터 결정부(220)는 변환 행렬(30)의 결정 전에, QKD(Quantum Key Distribution) 데이터(20)와 연관되고, 변환 행렬(30)의 크기를 결정하는데 사용되는 QKD 벡터(40)를 결정할 수 있다. 보다 구체적으로, QKD 벡터 결정부(220)는 QKD 데이터(20)의 최소 엔트로피를 측정하여 QKD 압축률을 결정할 수 있다. QKD 벡터 결정부(220)는 QKD 압축률을 기초로 입력된 QKD 데이터(20)를 암호키(50) 생성에 사용될 수 있는 데이터 크기로 압축하여 QKD 벡터(40)를 생성할 수 있다. 예를 들어, QKD 벡터 결정부(220)는 QKD 압축률을 기초로 QKD 벡터(40)에 해당하는 N*1 행렬(상기 N은 자연수)을 산출할 수 있다. QKD 벡터 결정부(220)는 QKD 압축률을 기초로 QKD 데이터(20)를 압축하여 n 비트의 크기를 가지는 QKD 벡터(40)를 생성할 수 있다. QKD 벡터 결정부(220)는 QKD 벡터(40)를 암호키 생성부(230)에 제공할 수 있다.
일 실시예에서, QKD 벡터 결정부(220)는 QKD 데이터의 최소 엔트로피를 모니터링하여 QKD 압축률을 결정할 수 있다. 보다 구체적으로, QKD 벡터 결정부(220)는 QKD 데이터의 최소 엔트로피를 주기적으로 측정하여 QKD 압축률을 결정할 수 있다. 즉, QKD 벡터 결정부(220)가 QKD 데이터의 최소 엔트로피를 산출하고 QKD 압축률을 설정하여 변환 행렬 결정부(210)에 제공하면, 변환 행렬 결정부(210)는 양자키 유도 함수를 통해 출력을 산출할 수 있다.
변환 행렬 결정부(210)는 QKD 데이터(20)의 최소 엔트로피 및 설정된 통계적 거리를 기초로 산출되는 양자키 유도 함수를 사용하여 변환 행렬(30)의 생성에 필요한 RSA 데이터(10)의 크기를 계산할 수 있다. 일 실시예에서, 변환 행렬 결정부(210)는 계산된 RSA 데이터를 기초로 변환 행렬을 생성할 수 있고, 변환 행렬은 헨켈 매트릭스(Hankel Matrix)를 통해 구현될 수 있다. 보다 구체적으로, 변환 행렬 결정부(210)는 양자키 유도 함수의 출력 및 QKD 벡터(40)의 크기를 기초로 헨켈 매트릭스(30)를 생성할 수 있다. 예를 들어, 헨켈 매트릭스(30)가 M*N 행렬(상기 M과 N은 자연수)로 구현되고, QKD 벡터(40)가 N*1 행렬(상기 N은 자연수)로 구현되는 경우, 헨켈 매트릭스(30)의 생성에 필요한 RSA 데이터(10)의 크기는 M + N - 1에 해당할 수 있다. 변환 행렬 결정부(210)는 QKD 벡터(40)의 행 크기(N)를 기초로 헨켈 매트릭스(30)의 열 크기(N)를 결정할 수 있고, 헨켈 매트릭스(30)의 열 크기(N)와 RSA 데이터(10)의 크기(M + N - 1)를 기초로 헨켈 매트릭스(30)의 행 크기(M)를 결정할 수 있다.
암호키 생성부(230)는 변환 행렬(30) 및 QKD 벡터(40)의 행렬 곱 연산을 통해 암호키를 생성할 수 있다. 보다 구체적으로, 변환 행렬(30)이 M*N 행렬(상기 M과 N은 자연수)로 구현되고, QKD 벡터(40)가 N*1 행렬(상기 N은 자연수)로 구현되는 경우, 암호키 생성부(230)는 M*1 행렬에 해당하는 암호키를 생성할 수 있다. 즉, 암호키 생성부(230)는 M의 행 크기를 가지는 암호키(50)를 생성할 수 있다. 암호키 생성부(230)는 높은 엔트로피를 가지고, 고도의 예측 불가능성을 가지는 안전한 암호키(50)를 생성할 수 있다.
제어부(240)는 암호키 생성 장치(100)의 전체적인 동작을 제어하고, 변환 행렬 결정부(210), QKD 벡터 결정부(220) 및 암호키 생성부(230) 간의 제어 흐름 또는 데이터 흐름을 제어할 수 있다.
도 3은 도 1에 있는 암호키 생성 장치에서 수행되는 변환 행렬을 결정하는 과정을 설명하는 도면이다.
도 3을 참조하면, 변환 행렬 결정부(210)는 양자키 유도 함수를 사용하여 변환 행렬(30) 생성에 필요한 RSA 데이터(10)의 크기를 계산할 수 있다. 일 실시예에서, 변환 행렬 결정부(210)는 변환 행렬(30)이 헨켈 매트릭스로 구현되는 경우, 변환 행렬(30) 생성에 필요한 RSA 데이터(10)를 결정하여 헨켈 매트릭스(30)의 시드 데이터로 설정할 수 있다. 여기에서, 헨켈 매트릭스(30)의 시드 데이터(ai,j)는 헨켈 매트릭스의 제1 행과 마지막 열에 배치될 수 있다. 변환 행렬 결정부(210)는 헨켈 매트릭스(30)의 시드 데이터를 기초로 나머지 데이터 값을 결정할 수 있다. 하나의 시드 데이터 값은 현재 행렬 위치의 다음 행, 이전 열의 위치(ai+1,j-1)에 저장될 수 있고, 변환 행렬 결정부(210)는 헨켈 매트릭스(30)의 모든 데이터 값이 결정될 때까지 해당 과정을 반복할 수 있다.
예를 들어, 헨켈 매트릭스가 4*4 행렬로 구현되는 경우, 변환 행렬 결정부(210)는 RSA 데이터(10)를 시드 데이터로 결정하여 제1 행과 마지막 열(a11, a12, a13, a14, a24, a34, a44)에 배치할 수 있다. 시드 데이터 값은 현재 행렬 위치의 다음 행, 이전 열의 위치(ai+1,j-1)에 저장될 수 있고, 변환 행렬 결정부(210)는 헨켈 매트릭스(30)의 (1,3), (2,2), (3,1)의 위치에 a13 시드 데이터 값을 저장하는 방식으로, 헨켈 매트릭스(30)의 모든 데이터 값을 결정할 수 있다. 따라서, 변환 행렬 결정부(210)는 QKD 벡터(40)의 크기를 기초로 헨켈 매트릭스(30)의 생성에 필요한 RSA 데이터(10)의 크기를 결정할 수 있으나, 변환 행렬 결정부(210)는 QKD 데이터(20)로부터 독립적으로 입력된 RSA 데이터(10)를 사용하여 Leftover Hash Lemma의 확률론적 조건을 충족시킬 수 있고, RSA 데이터(10)를 기초로 변환 행렬(30)을 생성하여 암호키 생성부(230)에 제공할 수 있다.
도 4는 도 1에 있는 암호키 생성 장치에서 수행되는 엔트로피 밀도와 입력된 QKD 데이터의 크기 간의 관계를 나타내는 그래프이다.
보다 구체적으로, 도 4는 양자키 유도 함수의 출력 분포와 균등 분포 간의 통계적 거리(ε)가 2-100일 때(ε= 2-100), 엔트로피 밀도(s) 또는 1 비트 당 엔트로피(s=k/n)와 입력 데이터 크기(n 비트) 간의 관계를 나타낸다. 엔트로피 밀도(s)는 입력 데이터 크기(n 비트)와 반비례하므로, 엔트로피 밀도가 증가할수록 입력 데이터 크기는 감소하고, 일정 수준에 수렴할 수 있다. 또한, 양자키 유도 함수의 출력 크기(m)가 256 비트인 경우, 양자키 유도 함수의 출력 크기(m)가 128 비트인 경우보다 더 큰 입력 데이터의 크기를 요구하고, 두 경우 모두 엔트로피 밀도가 증가할수록 입력 데이터의 크기는 일정 수준에 수렴할 수 있다.
도 5는 도 1에 있는 암호키 생성 장치에서 수행되는 암호키 생성 과정을 설명하는 순서도이다.
도 5를 참조하면, 암호키 생성 장치(100)는 RSA 데이터(10)와 QKD 데이터(20)를 수집할 수 있다(단계 S510).
QKD 벡터 결정부(220)는 QKD 데이터(20)의 최소 엔트로피를 측정하여 QKD 벡터를 결정할 수 있다(단계 S520). QKD 벡터 결정부(220)는 QKD 데이터(20)의 최소 엔트로피를 기초로 양자키 유도 함수의 입력 데이터 크기를 감소시킬 수 있다.
QKD 벡터 결정부(220)는 양자키 유도 함수의 출력 분포에 대한 통계적 거리(ε)를 설정할 수 있다(단계 S530). 양자키 유도 함수의 출력 분포(X)와 균등 분포(Y) 간의 통계적 거리(ε)는 동일한 표본 공간(U)을 가지는 확률 변수 X, Y 간의 확률 분포 거리에 해당할 수 있다.
변환 행렬 결정부(210)는 주기적으로 QKD 데이터(20)의 최소 엔트로피를 모니터링하여 변환 행렬 생성에 필요한 RSA 데이터(10)의 크기를 계산할 수 있다(단계 S540). 보다 구체적으로, 변환 행렬 결정부(210)는 QKD 벡터 결정부(220)로부터 QKD 데이터(20)의 최소 엔트로피와 설정된 통계적 거리(ε)를 수신하여 양자키 유도 함수의 출력을 산출할 수 있다.
변환 행렬 결정부(210)는 계산된 데이터 크기를 만족하는 RSA 데이터(10)를 기초로 변환 행렬을 생성할 수 있다(단계 S550). 일 실시예에서, 변환 행렬은 헨켈 매트릭스(Hankel Matrix)를 통해 구현될 수 있고, 변환 행렬 결정부(210)는 양자키 유도 함수의 출력 및 QKD 벡터(40)의 크기를 기초로 헨켈 매트릭스(30)를 생성할 수 있다.
암호키 생성부(230)는 변환 행렬(30) 및 QKD 벡터(40)의 행렬 곱 연산을 통해 암호키를 생성할 수 있다(단계 S560).
따라서, 양자키 유도 함수를 활용한 암호키 생성 장치(100)는 독립적으로 입력되는 RSA 데이터와 QKD 데이터를 기초로 양자키 유도 함수를 활용하여 높은 엔트로피를 가지는 암호키를 생성할 수 있고, QKD 데이터의 최소 엔트로피를 모니터링하여 QKD 데이터의 압축률을 결정할 수 있다. 또한, 암호키 생성 장치(100)는 QKD 데이터의 최소 엔트로피 및 양자키 유도 함수의 출력에 대한 통계적 거리를 기초로 산출되는 양자키 유도 함수를 사용하여 변환 행렬 생성에 필요한 RSA 데이터의 크기를 계산할 수 있고, 독립적으로 입력되는 RSA 데이터와 QKD 데이터를 기초로 양자키 유도 함수를 사용하여 암호키를 생성함으로써 데이터의 낭비를 최소화할 수 있다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 통상의 기술자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 출원을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 암호키 생성 장치
210: 변환 행렬 결정부 220: QKD 벡터 결정부
230: 암호키 생성부 240: 제어부
10: RSA 데이터 20: QKD 데이터
30: 변환 행렬 40: QKD 벡터
50: 암호키

Claims (11)

  1. 양자키 유도 함수를 사용하여 RSA(Rivest Shamir Adleman) 데이터와 연관된 변환 행렬을 결정하는 단계;
    상기 변환 행렬의 결정 전에, QKD(Quantum Key Distribution) 데이터와 연관되고 상기 변환 행렬의 크기를 결정하는데 사용되는 QKD 벡터를 결정하는 단계; 및
    상기 변환 행렬 및 상기 QKD 벡터를 기초로 암호키를 생성하는 단계를 포함하는 양자키 유도 함수를 활용한 암호키 생성 방법.
  2. 제1항에 있어서, 상기 QKD 벡터를 결정하는 단계는
    상기 QKD 데이터의 최소 엔트로피를 측정하여 QKD 압축률을 결정하는 단계를 포함하는 것을 특징으로 하는 양자키 유도 함수를 활용한 암호키 생성 방법.
  3. 제1항에 있어서, 상기 QKD 벡터를 결정하는 단계는
    상기 QKD 압축률을 기초로 상기 QKD 벡터에 해당하는 N*1 행렬(상기 N은 자연수)을 산출하는 단계를 포함하는 것을 특징으로 하는 양자키 유도 함수를 활용한 암호키 생성 방법.
  4. 제2항에 있어서, 상기 QKD 벡터를 결정하는 단계는
    상기 양자키 유도 함수의 출력 분포와 균등 분포 간의 통계적 거리를 설정하는 단계를 포함하는 것을 특징으로 양자키 유도 함수를 활용한 암호키 생성 방법.
  5. 제4항에 있어서, 상기 QKD 벡터를 결정하는 단계는
    상기 QKD 데이터의 최소 엔트로피를 모니터링하여 상기 QKD 압축률을 결정하는 단계를 포함하는 것을 특징으로 하는 양자키 유도 함수를 활용한 암호키 생성 방법.
  6. 제4항에 있어서, 상기 변환 행렬을 결정하는 단계는
    상기 QKD 데이터의 최소 엔트로피 및 상기 설정된 통계적 거리를 기초로 산출되는 양자키 유도 함수를 사용하여 상기 변환 행렬 생성에 필요한 RSA 데이터의 크기를 계산하는 단계를 포함하는 것을 특징으로 양자키 유도 함수를 활용한 암호키 생성 방법.
  7. 제4항에 있어서, 상기 변환 행렬을 결정하는 단계는
    아래의 수학식에 해당하는 양자키 유도 함수를 사용하여 상기 변환 행렬 생성에 필요한 RSA 데이터의 크기를 계산하는 단계를 포함하는 것을 특징으로 하는 양자키 유도 함수를 활용한 암호키 생성 방법.
    [수학식]
    Figure pat00004

    (m= 양자키 유도 함수의 출력, k= QKD 데이터의 최소 엔트로피, ε= 통계적 거리, m*n 크기의 변환 행렬 생성에 필요한 RSA 데이터의 크기= m+n-1)
  8. 제6항에 있어서, 상기 변환 행렬을 결정하는 단계는
    상기 계산된 RSA 데이터를 기초로 헨켈 매트릭스(Hankel Matrix)를 생성하는 단계를 포함하는 것을 특징으로 하는 양자키 유도 함수를 활용한 암호키 생성 방법.
  9. 제8항에 있어서, 상기 변환 행렬을 결정하는 단계는
    상기 QKD 벡터의 크기를 기초로 상기 헨켈 매트릭스의 열 크기를 결정하는 단계를 포함하는 것을 특징으로 하는 양자키 유도 함수를 활용한 암호키 생성 방법.
  10. 제1항에 있어서, 상기 암호키를 생성하는 단계는
    상기 변환 행렬 및 상기 QKD 벡터의 행렬 곱 연산을 통해 상기 암호키를 생성하는 단계를 포함하는 것을 특징으로 하는 양자키 유도 함수를 활용한 암호키 생성 방법.
  11. 양자키 유도 함수를 사용하여 RSA(Rivest Shamir Adleman) 데이터와 연관된 변환 행렬을 결정하는 변환 행렬 결정부;
    상기 변환 행렬의 결정 전에, QKD(Quantum Key Distribution) 데이터와 연관되고 상기 변환 행렬의 크기를 결정하는데 사용되는 QKD 벡터를 결정하는 QKD 벡터 결정부; 및
    상기 변환 행렬 및 상기 QKD 벡터를 기초로 암호키를 생성하는 암호키 생성부를 포함하는 양자키 유도 함수를 활용한 암호키 생성 장치.
KR1020160007472A 2016-01-21 2016-01-21 양자키 유도 함수를 활용한 암호키 생성 방법 및 이를 수행하는 암호키 생성 장치 KR101767939B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160007472A KR101767939B1 (ko) 2016-01-21 2016-01-21 양자키 유도 함수를 활용한 암호키 생성 방법 및 이를 수행하는 암호키 생성 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160007472A KR101767939B1 (ko) 2016-01-21 2016-01-21 양자키 유도 함수를 활용한 암호키 생성 방법 및 이를 수행하는 암호키 생성 장치

Publications (2)

Publication Number Publication Date
KR20170087646A true KR20170087646A (ko) 2017-07-31
KR101767939B1 KR101767939B1 (ko) 2017-08-14

Family

ID=59418953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160007472A KR101767939B1 (ko) 2016-01-21 2016-01-21 양자키 유도 함수를 활용한 암호키 생성 방법 및 이를 수행하는 암호키 생성 장치

Country Status (1)

Country Link
KR (1) KR101767939B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108599934A (zh) * 2018-04-16 2018-09-28 佛山市顺德区德雅军民融合创新研究院 一种用于量子密钥分发的可验安全保密增强方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108599934A (zh) * 2018-04-16 2018-09-28 佛山市顺德区德雅军民融合创新研究院 一种用于量子密钥分发的可验安全保密增强方法
WO2019200660A1 (zh) * 2018-04-16 2019-10-24 佛山市顺德区德雅军民融合创新研究院 一种用于量子密钥分发的可验安全保密增强方法

Also Published As

Publication number Publication date
KR101767939B1 (ko) 2017-08-14

Similar Documents

Publication Publication Date Title
Alawida et al. An image encryption scheme based on hybridizing digital chaos and finite state machine
Liu et al. A simultaneous scrambling and diffusion color image encryption algorithm based on Hopfield chaotic neural network
CN104509024B (zh) 用于使输入同态随机化的方法和系统
KR101575030B1 (ko) 클라우드 상의 공유 데이터에 대한 다중 서명생성방법
US10341088B2 (en) Authentic encryption device, authenticated encryption method, and program for authenticated encryption
JP6459658B2 (ja) 暗号処理装置、暗号処理方法、および暗号処理プログラム
JP6413743B2 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
JP6421576B2 (ja) 暗号処理装置、暗号処理方法、及び暗号処理プログラム
KR101606317B1 (ko) 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치
CN111404952B (zh) 变电站数据加密传输方法、装置、计算机设备和存储介质
US10305689B2 (en) Encryption apparatus, decryption apparatus, cryptography processing system, encryption method, decryption method, encryption program, and decryption program
Mehibel et al. A new enhancement of elliptic curve digital signature algorithm
CN1778066B (zh) 参数生成设备,加密系统,解密系统,加密设备,解密设备,加密方法,解密方法,及其程序
US20100329447A1 (en) Encryption apparatus, decryption apparatus, key generation apparatus, and program
Sadkhan et al. A proposed ANFIS evaluator for RSA cryptosystem used in cloud networking
Hussain et al. Applied cryptography and noise resistant data security
KR20190081259A (ko) Module-Wavy와 Module-LWR에 기반한 공개키 암호 키 생성 및 암복호화 방법
Patro et al. Novel data encryption scheme using DNA computing
KR101767939B1 (ko) 양자키 유도 함수를 활용한 암호키 생성 방법 및 이를 수행하는 암호키 생성 장치
JP6053983B2 (ja) 暗号システム、署名システム、暗号プログラム及び署名プログラム
Barman et al. An efficient hybrid elliptic curve cryptography system with DNA encoding
CN114037013B (zh) 基于同态加密的无交互朴素贝叶斯分类方法
Santos et al. Improving chaotic image encryption using maps with small Lyapunov exponents
CN114448613A (zh) 通信系统的物理层密钥生成方法、装置和电子设备
KR102067065B1 (ko) 전력 분석 및 전자파 분석에 안전한 메시지 랜덤화 기반의 행렬-벡터 곱 연산 장치, 이를 이용한 암호화 장치 및 방법

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant