KR20150031245A - 보안 통신 - Google Patents

보안 통신 Download PDF

Info

Publication number
KR20150031245A
KR20150031245A KR20147036225A KR20147036225A KR20150031245A KR 20150031245 A KR20150031245 A KR 20150031245A KR 20147036225 A KR20147036225 A KR 20147036225A KR 20147036225 A KR20147036225 A KR 20147036225A KR 20150031245 A KR20150031245 A KR 20150031245A
Authority
KR
South Korea
Prior art keywords
party
values
sequence
value
sequences
Prior art date
Application number
KR20147036225A
Other languages
English (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
Priority claimed from GBGB1209286.2A external-priority patent/GB201209286D0/en
Priority claimed from GBGB1209308.4A external-priority patent/GB201209308D0/en
Application filed by 유니버시티 오브 리드스 filed Critical 유니버시티 오브 리드스
Publication of KR20150031245A publication Critical patent/KR20150031245A/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/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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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
    • H04L9/0858Details about key distillation or coding, e.g. reconciliation, error correction, privacy amplification, polarisation coding or phase coding
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Abstract

제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 방법이 제공된다. 본 방법은 상기 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 상기 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, N B 는 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및 상기 제1 당사자와 상기 제2 당사자가 각각의 시퀀스들 A B (여기서, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되, 상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출된다.

Description

보안 통신{SECURE COMMUNICATION}
본 발명은 보안 통신(secure communication)에 관한 것으로, 구체적으로는 전적으로 그에 관한 것만은 아니지만, 양자 역학적(quantum mechanical) 및/또는 전통적(classical) 통신 채널들을 사용하는 무조건적으로 안전한 보안 통신(unconditionally secure communication)에 관한 것이다.
통신 이론에 있어서의 근본적인 문제는 제3자가 메시지를 획득할 수도 있게 되는 일이 없이 양 당사자들 간에 메시지(M)을 전송하는 방안에 관한 문제이다. 예컨대, 전자 금융 거래의 분야에서는, 양 당자사들 간의 통신에 있어 비밀을 유지하는 것이 매우 중요하다.
관습적으로, 메시지를 교환하려 하는 양 당사자들을 각각 앨리스와 밥(Alice and Bob)이라 하는 것으로 알려져 있는 한편, 권한이 없이 메시지에 접근하려 하는 도청자(eavesdropper)를 이브(Eve)라 하는 것으로 알려져 있다.
본 문제를 해결하기 위해 많은 통신 기법들이 개발되었다. 일 부류의 기법들은 이브가 특정의 수학 연산(mathematical operation)들을 합당한 시간 내에 수행하지 못하게 하는, 이브의 계산적 한계(computational limitations)에 의존하고 있다. 예컨대, RSA 공개 키 암호화 기법의 보안은 매우 큰 정수들을 인수 분해하기가 어렵다고 하는 계산적 곤란성에 크게 의존하고 있다. 본 타입의 기법들을 "조건적으로 안전한(conditionally secure)" 또는 "계산적으로 안전한(computational secure)" 기법들이라 하는 것으로 알려져 있다.
조건적으로 안전한 기법들에 있어서의 한 가지 문제점은 그 보안의 신뢰성이 여전히 입증되지 않은 채로 남아 있는 복잡도 이론(complexity theory)의 수학적 결과들에 좌우된다는 것이다. 따라서 그러할 적절한 수학적 도구(tool)가 개발될 수 있다면, 앞으로 전통적인 컴퓨터의 자원만을 사용하여 그러한 기법들을 깨뜨릴 일이 없을 것임을 현재 확신할 수 없다. 또한, 양자 계산 기법들의 개발은 계산적으로 안전한 기법들이 의존하고 있는 연산들을 포함하는 특정의 수학 연산들을 전통적인 컴퓨터보다 훨씬 더 빠르게 수행할 수 있는 양자 컴퓨터들의 잠재 능력으로 인해 조건적으로 안전한 기법들을 공격에 취약하게 만들고 있다.
따라서 이브의 계산 능력에 관한 어떠한 가정도 하지 않는 통신 기법들의 부류를 개발하는데 상당한 관심을 기울여 왔다. 그러한 타입의 기법들을 "무조건적으로 안전한(unconditionally secure)" 기법들이라 하는 것으로 알려져 있다.
무조건적으로 안전한 데이터 전송 방식의 일례는 "원타임 패드(one-time pad)"로 알려져 있다. 본 기법에 따르면, 앨리스는 평문 문자열(plaintext string)(메시지(M))에 메시지와 동일한 길이를 갖는 비밀 랜덤 이진 문자열(secret random binary string)(원타임 패드)을 비트 단위로 모듈로-2 덧셈(modulo-2 addition)한다. 결과적으로 생긴 암호문 문자열(암호화된 메시지(Mε))이 원본 메시지(M) 대신 밥에게 전송된다. 원본 메시지(M)를 복원하기 위해, 밥은 수신된 암호화된 메시지(Mε)에 원타임 패드의 로컬 카피(local copy)를 비트 단위로 모듈로-2 덧셈한다. 이브가 전송된 암호화된 메시지(Mε)를 가로챈다 하더라도, 원타임 패드를 알지 못한다면 이브가 원본 메시지를 복원하는 것은 불가능하다. 그 이름이 암시하는 바와 같이, 원타임 패드는 보안을 유지하기 위해 단지 한 번만 사용된다.
어떤 보안 통신 방식의 기본적인 요구 사항은 앨리스 및/또는 밥이 이브에게 알려져 있지 않은 어떤 종류의 비밀 정보를 갖고 있어야 한다는 것이다. 그러한 비밀 정보는 메시지의 암호화 및/또는 이후의 암호 해독의 기반으로서 사용된다. 일부 방식들에서는, 앨리스와 밥 간에 적어도 부분적으로 공유되는 적어도 얼마간의 비밀 정보를 앨리스와 밥이 모두 갖고 있는 것이 필요하다. 예컨대, 비밀 정보는 전술한 원타임 패드 방식에서의 랜덤 이진 문자열의 형태일 수 있다. 그 경우, 비밀 정보는 앨리스와 밥 간에 완전히 공유된다.
비밀 정보의 공유를 필요로 하는 모든 보안 통신 기법에 있어서의 한 가지 문제는 비밀 정보가 이브에게 알려지는 일이 없이 앨리스와 밥 간에 비밀 정보를 분배하는 방안에 관한 문제이다. 그러한 문제는 특히 요구되는 비밀 정보의 양이 평문 메시지 데이터의 양과 필적하는 원타임 패드와 같은 기법들의 경우에 첨예한 문제이다. 따라서 앨리스와 밥이 공유 비밀 정보를 얻을 수 있게 하되, 특히 그 정보를 무조건적으로 안전하게 얻을 수 있게 하는 기법이 바로 바라는 바이다.
전술한 바와 같이, 공유 비밀 정보는 먼저 제1 메커니즘을 사용하여 앨리스와 밥 간에 분배되고, 그리고 나서 앨리스와 밥이 공유 비밀 정보에 관여하는 제2 메커니즘을 사용하여 메시지를 교환한다. 단순히 제1 메커니즘을 사용하여 메시지를 직접 교환하는 것이 아니라 그와 같이 2단계 접근법을 사용하는 한 가지 이유는 앨리스와 밥이 이전의 공유 정보 없이 공유 비밀 정보를 얻을 수 있게 하는데 적합한 메커니즘들이 어떤 경우에는 메시지 교환에 부적합하거나 비실용적이기 때문이다. 예컨대, 일부 메커니즘들은 앨리스와 밥이 공유 비밀 정보를 얻을 수 있게 하기는 하지만, 앨리스와 밥이 공유 비밀 정보의 정확한 내용을 제어할 수 있게 하지는 않는다.
본 발명의 특정의 예시적 실시예들의 목적은 선행 기술과 관련된 문제점들 및/또는 단점들 중의 적어도 하나, 예컨대 전술한 문제점들 및/또는 단점들 중의 적어도 하나를 적어도 부분적으로 해결하거나 완화하거나 제거하는 것이다. 본 발명의 특정의 실시예들은 선행 기술보다 우수한 적어도 하나의 이점, 예컨대 후술하는 이점들 중의 적어도 하나를 제공하려는 것이다.
본 발명은 이하에서 언급하는 독립 청구항들에 의해 정의된다. 바람직한 특징들은 종속 청구항들에 의해 정의된다.
본 발명의 다양한 양태들에 따라, 본 명세서의 청구항들 중의 어느 하나에 따른 또는 본원에 개시된 양태들 중의 어느 것에 따른 방법, 장치, 및/또는 시스템이 제공된다.
본 발명의 다른 양태는 실행 시에 본 명세서의 청구항들 중의 어느 하나에 따른 또는 본원에 개시된 양태들 중의 어느 것에 따른 방법, 시스템, 및/또는 장치를 구현하도록 구성된 명령들을 포함하는 컴퓨터 프로그램을 제공한다.
본 발명의 일 양태에 따라, 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 방법으로서, 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, N B 는 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및 제1 당사자와 제2 당사자가 각각의 시퀀스들 A B (여기서, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 방법이 제공된다.
본 발명의 다른 양태에 따라, 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는, 제1 당사자를 위한 방법으로서, 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및 제1 당사자가 제1 당사자와 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, B 는 제2 당사자가 얻는 값들의 시퀀스 B = X + N B 이고, N B 는 제2 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 방법이 제공된다.
본 발명의 또 다른 양태에 따라, 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는, 제2 당사자를 위한 방법으로서, 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, X 는 값들의 시퀀스이고, N B 는 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및 제2 당사자가 제1 당사자와 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, A 는 제1 당사자가 얻는 값들의 시퀀스 A = X + N A 이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 방법이 제공된다.
본 발명의 또 다른 양태에 따라, 실행 시에 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 방법을 구현하도록 구성된 명령들을 포함하는 컴퓨터 프로그램으로서, 상기 방법은 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, N B 는 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및 제1 당사자와 제2 당사자가 각각의 시퀀스들 A B (여기서, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 컴퓨터 프로그램이 제공된다.
본 발명의 또 다른 양태에 따라, 실행 시에 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는, 제1 당사자를 위한 방법을 구현하도록 구성된 명령들을 포함하는 컴퓨터 프로그램으로서, 상기 방법은 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및 제1 당사자가 제1 당사자와 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, B 는 제2 당사자가 얻는 값들의 시퀀스 B = X + N B 이고, N B 는 제2 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 컴퓨터 프로그램이 제공된다.
본 발명의 또 다른 양태에 따라, 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는, 제2 당사자를 위한 방법으로서, 상기 방법은 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, X 는 값들의 시퀀스이고, N B 는 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및 제2 당사자가 제1 당사자와 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, A 는 제1 당사자가 얻는 값들의 시퀀스 A = X + N A 이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 컴퓨터 프로그램이 제공된다.
본 발명의 또 다른 양태에 따라, 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 시스템으로서, 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 제1당사자의 제1 장치; 및 값들의 시퀀스 B = X + N B (여기서, N B 는 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 제2 당사자의 제2 장치를 포함하되, 제1 장치와 제2 장치는 각각의 시퀀스들 A B (여기서, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하도록 구성되고, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 시스템이 제공된다.
본 발명의 또 다른 양태에 따라, 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 장치로서, 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스임)를 얻기 위한 유닛; 및 제1 당사자가 제1 당사자와 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, B 는 제2 당사자가 얻는 값들의 시퀀스 B = X + N B 이고, N B 는 제2 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하기 위한 프로세서를 포함하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 장치가 제공된다.
본 발명의 또 다른 양태에 따라, 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 장치로서, 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, X 는 값들의 시퀀스이고, N B 는 제2 당사자와 관련된 랜덤 시퀀스임)를 얻기 위한 유닛; 및 제2 당사자가 제1 당사자와 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, A 는 제1 당사자가 얻는 값들의 시퀀스 A = X + N A 이고, N A 는 제1 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하기 위한 프로세서를 포함하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 장치가 제공된다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 데이터 매칭 절차는 제1 당사자와 제2 당사자 중의 적어도 하나가 하나 이상의 값들을 획득하도록(여기서, 획득된 값들 중의 적어도 하나는 a i 와 같거나 그로부터 도출되고, 획득된 값들 중의 적어도 하나는 b i 와 같거나 그로부터 도출됨) 제1 당사자와 제2 당사자 간에 하나 이상의 메시지들을 교환하는 단계; 및 제1 당사자와 제2 당사자 중의 적어도 하나가 비교 연산을 비롯한 하나 이상의 수학 연산들을 수행하는 단계를 포함하되, 비교 결과로부터 값들 a i b i 의 매칭이 결정된다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 데이터 매칭 절차는 제1 당사자와 제2 당사자 중의 하나인 당사자 P가 제1 당사자와 제2 당사자 중의 다른 하나인 당사자 Q에게 값
Figure pct00001
(여기서, p는 당사자 P의 시퀀스에서의 값이고,
Figure pct00002
은 미리 정해진 함수임)를 전송하는 단계; 및 당사자 QT 1 또는 T 1으로부터 도출된 값을 q(여기서, q는 시퀀스 위치가 p와 대응하는, 당사자 Q의 시퀀스에서의 값임) 또는 q로부터 도출된 값과 비교하는 단계를 당사자 P와 당사자 Q가 수행하는 것을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 상기 비교 단계는 T 1
Figure pct00003
와 비교하는 것; 및
Figure pct00004
q와 비교하는(여기서,
Figure pct00005
Figure pct00006
의 역함수임) 것 중의 적어도 하나를 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서,
Figure pct00007
은 해시 함수(hash function)이다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 데이터 매칭 절차는 제1 당사자와 제2 당사자 중의 하나인 당사자 P가 제1 당사자와 제2 당사자 중의 다른 하나인 당사자 Q에게 값
Figure pct00008
(여기서, p는 당사자 P의 시퀀스에서의 값이고,
Figure pct00009
은 미리 정해진 함수임)를 전송하는 단계; 및 당사자 Q가 값
Figure pct00010
(여기서,
Figure pct00011
는 미리 정해진 함수이고, q는 시퀀스 위치가 p와 대응하는, 당사자 Q의 시퀀스에서의 값임)를 계산하는 단계를 당사자 P와 당사자 Q가 수행하는 것을 포함하되, 상기 비교 단계는 제1 당사자와 제2 당사자 중의 적어도 하나가 T 2를 미리 정해진 값과 비교하는 것을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서,
Figure pct00012
(여기서, r은 랜덤 값이고,
Figure pct00013
는 모듈로-2 덧셈을 나타냄)이다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 당사자 P가 당사자 Q에게 값
Figure pct00014
(여기서,
Figure pct00015
는 미리 정해진 함수임)을 전송하는 단계를 더 포함하되,
Figure pct00016
이고, 상기 비교 단계는 당사자 QT 3H(T 2)와 비교하는 것을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 당사자 Q가 당사자 P에게 값
Figure pct00017
(여기서,
Figure pct00018
는 미리 정해진 함수임)을 전송하는 단계를 더 포함하되, 상기 비교 단계는 당사자 P
Figure pct00019
T 2와 비교하는 것을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서,
Figure pct00020
는 해시 함수이다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 데이터 매칭 절차는 제1 당사자와 제2 당사자 중의 하나인 당사자 P가 비트 값
Figure pct00021
(여기서, p 1은 당사자 P의 시퀀스에서의 값 p의 제1 비트이고, r은 랜덤 비트이며,
Figure pct00022
는 모듈로-2 덧셈을 나타냄)을 계산하는 단계; 당사자 P가 비트 값
Figure pct00023
(여기서, p 2p의 제2 비트임)을 계산하는 단계; 당사자 P가 제1 당사자와 제2 당사자 중의 다른 하나인 당사자 Q에게 비트 값들 m 1m 2를 전송하는 단계; 당사자 Q가 비트 값
Figure pct00024
(여기서, q 1은 시퀀스 위치가 p와 대응하는, 당사자 Q의 시퀀스에서의 값 q의 비트들 중에서 비트 위치가 p 1과 대응하는 제1 비트임)을 계산하는 단계; 당사자 Q가 비트 값
Figure pct00025
(여기서, q 2q의 비트들 중에서 비트 위치가 p 2와 대응하는 제2 비트임)을 계산하는 단계; 및 값
Figure pct00026
를 0과 비교하는 단계를 당사자 P와 당사자 Q가 수행하는 것을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 상기 데이터 매칭 절차를 수행하는 단계는 시퀀스들 A B 에서의 각각의 쌍의 대응하는 오류 처리 값들(error-processed values) a i , b i 에 대해, 제1 당사자와 제2 당사자 중의 하나인 당사자 P가 자기 역산(self-inverse operation)을 사용하여 당사자 P와 대응하는 시퀀스 A / B 의 값 a i / b i 를 랜덤 값과 결합함으로써 제1 결합 값(combined value)을 생성하는 하위 단계(sub-step); 당사자 P가 제 당사자와 제2 당사자 중의 다른 하나인 당사자 Q에게 제1 결합 값을 전송하는 하위 단계; 당사자 Q가 자기 역산을 사용하여 당사자 Q와 대응하는 시퀀스 B / A 의 값 b i / a i 를 랜덤 값과 결합함으로써 제2 결합 값을 생성하는 하위 단계; 당사자 Q가 제 결합 값의 제1 해시 값을 생성하는 하위 단계; 당사자 Q가 당사자 P에게 제1 해시 값을 전송하는 하위 단계; 당사자 P가 랜덤 값의 제2 해시 값을 생성하는 하위 단계; 당사자 P가 제1 해시 값과 제2 해시 값을 비교하는 하위 단계; 당사자 P가 비교 결과에 따른 매치 신호를 전송하는 하위 단계; 및 당사자 P와 당사자 Q가 시퀀스들 A B 에서 매치 신호에 의해 지시된 바의 매칭되는 값들만을 간직하는 하위 단계를 당사자 P와 당사자 Q가 수행하는 단계를 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 자기 역산은 모듈로-2 덧셈이고, 랜덤 값은 값들 a i / b i 와 동일한 크기를 갖는 랜덤 이진 값이다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 해시 값은 그 해시 값이 계산되는 값보다 적은 비트들을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 데이터 매칭 절차는 각각의 시퀀스들 A B 에서의 쌍들의 값들 a i , b i 와 각각 대응하는 랜덤 값들 r i 의 시퀀스를 사용하되, 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들 a i , b i 와 대응하는 랜덤 값들을 기반으로 한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 데이터 매칭 절차는 조정(reconciliation) 및 역 조정(reverse-reconciliation)을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 시퀀스 X 를 신호로 인코딩하는 단계; 및 신호를 전송하는 단계를 더 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스 X 의 값들은 제1 당사자가 전송하는 신호의 양자 상태들(quantum states)로 인코딩된다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스 X 의 값들은 신호의 진폭; 및 신호의 위상 중의 적어도 하나로 인코딩된다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스 X 를 인코딩하는 신호는 마이크로파 신호이다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 인코딩된 신호는 제1 당사자에 의해 인코딩되어 전송된다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 인코딩된 신호는 제1 당사자와 제2 당사자 이외의 당사자에 의해 인코딩되어 전송된다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 제2 당사자가 시퀀스 B 를 얻는 단계는 제2 당사자가 인코딩된 신호를 수신하는 단계; 및 제2 당사자가 인코딩된 값들을 검출하는 단계를 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 제1 당사자가 시퀀스 A 를 얻는 단계는 제1 당사자가 인코딩된 신호를 수신하는 단계; 및 제1 당사자가 인코딩된 값들을 검출하는 단계를 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, N B 는 제2 당사자의 검출기와 관련된 검출기 잡음을 포함하고, N A 는 제1 당사자의 검출기와 관련된 검출기 잡음을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스 X 는 값들의 랜덤 시퀀스를 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스 X 는 가우스 분포 값들의 시퀀스를 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스 X 는 값들의 미리 정해진 시퀀스를 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스 X 의 값들은 연속 값들이다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 제1 당사자와 제2 당사자의 각자가 각각의 시퀀스들 A B 를 대응하는 이산 값 시퀀스들 A B 로 변환하는 단계를 더 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스들 A B 를 대응하는 이산 값 시퀀스들 A B 로 변환하는 단계는 제1 당사자와 제2 당사자의 각자가 시퀀스들 A B 에서의 각각의 연속 값 a i , b i 에 미리 정해진 이산화(discretisation) 연산을 적용하여 시퀀스들 A B 에서의 대응 이진 값을 구함으로써 A B 와 각각 대응하는 각각의 이진 값들의 시퀀스 A B 를 얻는 단계를 포함하되, 이산화 연산은 연속 값들의 범위들을 대응 이진 값들에 맵핑한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 시퀀스들 A B 를 대응하는 이산 값 시퀀스들 A B 로 변환하는 단계는 데이터 슬라이싱(data slicing)을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 데이터 슬라이싱은 다음의 식을 기반으로 하여 수행되고,
Figure pct00027
0
Figure pct00028
이면
1 그렇지 않으면
여기서, S i (x)는 연속 입력 값 x로부터 결과적으로 나오는 이진 값의 i번째 비트이고,
Figure pct00029
로부터 선택되는 임의의 정수이며, t0, t1, ..., tpp개의 부분 범위(sub-range)들을 정의하는 p+1개의 정해진 구분자(separator) 값들이되, t0<t1< ...<tp이다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 제1 당사자와 제2 당사자가 시퀀스들 A B 간의 상관도를 증가시키기 위한 오류 정정 절차를 수행하는 단계를 더 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 오류 정정 절차를 수행하는 단계는 제1 당사자와 제2 당사자가 시퀀스들 A B 에서의 각각의 대응 쌍의 값들 a i , b i 간의 오류 정정 절차를 수행하는 단계를 포함하되, 오류 정정 절차는 미리 정해진 크기까지의 오류를 정정할 수 있다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 오류 정정 절차는 오류들의 수가 미리 정해진 크기 이하인 경우에는 대응 값들 a i , b i 간의 모든 오류들을 정정하고, 오류들의 수가 미리 정해진 크기보다 큰 경우에는 대응 값들 a i , b i 간의 오류를 증가시키는 경향이 있다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 미리 정해진 크기는 q 비트이다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 오류 정정 절차는 시퀀스들 A B 에서의 각각의 쌍의 대응 값들 a i , b i 에 대해, 제1 당사자와 제2 당사자 중의 하나가 그 당사자와 대응하는 시퀀스 A / B 에서의 값 a i / b i 를 기반으로 하여 오류 정정 정보를 생성하는 하위 단계; 제1 당자사와 제2 당사 중의 다른 하나의 당사자에게 오류 정정 정보를 전송하는 하위 단계; 다른 하나의 당사자가 그 당사자와 대응하는 시퀀스 B / A 에서의 값 b i / a i 에 오류 정정 정보를 적용하는 하위 단계를 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 오류 정정 정보는 시스템 오류 정정 코드(systematic error correction code)의 오류 정정 비트들(error correction bits)을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 오류 정정 정보는 BCH 코드의 패리티 비트들(parity bits)을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 오류 정정 정보는 그 오류 정정 정보가 기반으로 하고 있는 값보다 적은 비트들을 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 시퀀스들 A B 에서의 각각의 값 a i , b i 의 미리 정해진 비트 위치들에 있는 하나 이상의 비트들을 간직하고, 나머지 비트들을 폐기하는 단계를 더 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 최저 상관도를 갖는 하나 이상의 비트들 및 최고 상관도를 갖는 하나 이상의 비트들을 간직한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, p개의 최하위 비트들(lowest dignificant bits)만을 또는 p개의 최상위 비트들(highest significant bits)만을 간직한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 간직한 비트들을 포함하는 값들 a i , b i 를 사용하여 데이터 매칭 절차를 반복하는 단계를 더 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 시퀀스 A B 에서의 각각의 값 a i , b i 를 그 각각의 값 a i , b i 로부터 도출된 패리티 값(parity value)으로 대체하는 단계를 더 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 각각의 시퀀스 A B 의 패리티 비트들을 p 비트들의 순차 그룹들(sequential groups)로 분할하여 새로운 값들 a i , b i 를 형성하는 단계; 및 전술한 양태들 중의 어느 것의 단계들을 반복하는 단계를 더 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예는 공유 비밀 정보로부터 비밀 키(secret key)를 생성하는 단계를 더 포함한다.
전술한 양태들 중의 어느 것에 따른 예시적 실시예에 있어서, 공유 비밀 정보는 금융 거래에서 사용된다.
본 발명의 또 다른 양태에 따라, 전술한 양태들 중의 어느 것에 따른 장치를 포함하는 위성이 제공된다.
첨부 도면들과 관련하여 이뤄지는, 본 발명의 예시적 실시예들을 개시하는 이후의 상세한 설명으로부터 본 발명의 다른 양태들, 특징들, 및 이점들과, 본 발명의 특정의 양태들 및 실시예들의 현격한 특징들이 더욱 명확해질 것이다. 첨부 도면들 중에서,
도 1은 3개의 랜덤 변수들 X, Y, 및 Z의 경우에 엔트로피와 조건부 엔트로피(conditional entropy)와 상호 정보량(mutual information) 간의 관계의 개략적 표현을 나타낸 도면이고;
도 2는 연속 변수 양자 키 분배(continuous-variable quantum key distribution)를 사용하는 통신 시스템을 개략적으로 나타낸 도면이며;
도 3은 지표면에 있는 송수신기와 지구 고궤도(high-earth orbit; HEO) 위성 간의 통신이 지구 저궤도(low-earth orbit; LEO) 위성에 의해 가로채지는 시나리오를 개략적으로 나타낸 도면이고;
도 4는 본 발명에 따른 예시적 키 분배 프로토콜을 구현하는 예시적 통신 시스템을 개략적으로 나타낸 도면이며;
도 5는 본 발명에 따른 예시적 키 분배 프로토콜의 여러 스테이지들을 흐름도로 나타낸 도면이고;
도 6은 도 5에 도시된 변수 전송 스테이지의 여러 단계들을 흐름도로 나타낸 도면이며;
도 7은 도 5에 도시된 변수 전송 스테이지에서 앨리스, 밥, 및 이브가 시퀀스들 A, B, E 를 검출하는 것을 개략적으로 나타낸 도면이고;
도 8은 변수 전송 스테이지에서 앨리스, 밥, 및 이브가 시퀀스들 A, B, E 를 검출하는 대안적 구성을 개략적으로 나타낸 도면이며;
도 9는 도 5에 도시된 변수 전송 스테이지에서 앨리스와 밥이 검출한 시퀀스들 A B 에서의 대응 데이터 값들 간의 관계를 그래프로 나타낸 도면이고;
도 10은 도 5에 도시된 데이터 이산화 스테이지의 여러 단계들을 흐름도로 나타낸 도면이며;
도 11은 예시적 데이터 슬라이싱 방법을 개략적으로 나타낸 도면이고;
도 12는 도 5에 도시된 오류 정정 스테이지의 여러 단계들을 흐름도로 나타낸 도면이며;
도 13은 도 5에 도시된 오류 정정 스테이지에서 앨리스와 밥과 이브 간에 대응 값들의 매칭이 일어나는 것을 나타낸 도면이고;
도 14는 도 5에 도시된 데이터 매칭 합치(data matching agreement) 스테이지의 여러 단계들을 흐름도로 나타낸 도면이며;
도 15는 도 5에 도시된 보안 강화(security enhancement) 스테이지의 여러 단계들을 흐름도로 나타낸 도면이고;
도 16a, 도 16b, 및 도 16c는 본 발명의 실시예들에서 사용될 수 있는 데이터 매칭 절차의 여러 예들을 나타낸 도면들이며;
도 17은 본 발명의 실시예들에서 사용될 수 있는 데이터 매칭 절차의 다른 예를 나타낸 도면이고;
도 18은 본 발명의 실시예들에서 사용될 수 있는 데이터 매칭 절차의 또 다른 예를 나타낸 도면이다.
당업자라면 본 발명이 본원에서 설명하는 특정의 실시예들에 한정되지 않는다는 것을 이해할 것이다. 본 발명의 이해를 돕고 본 발명의 이면의 원리들을 설명하기 위해 그러한 실시예들의 상세들을 제공하지만, 그들은 단지 예시로 그리고 오직 설명의 목적으로만 제공되는 것이라 보아야 한다. 따라서 당업자라면 특허 청구 범위에 의해 정해지는 바와 같은 본 발명의 범위를 벗어남이 없이 다양한 변경들 및 수정들이 이뤄질 수 있다는 것을 이해할 것이다. 예컨대, 설명하는 특징들이 임의의 적절한 조합으로 사용될 수 있고, 특정의 특징들이 부가되거나 생략되거나 임의의 적절한 대체물들 또는 균등물들로 대체될 수도 있다.
이하의 설명에서, 간단 명료화를 위해 그리고 본 발명의 요지를 불명료하게 하는 것을 피하기 위해 주지의 과정들, 기능들, 구조들, 및 구성들의 설명은 생략될 수 있다.
이하의 설명 및 특허 청구 범위에서 사용되는 용어들, 표현들, 및 단어들은 서지적 의미에 한정되는 것이 아니라, 단지 본 발명자가 본 발명의 명료하고도 일관적인 이해 및 정의를 제공하기 위해 사용하는 것들에 불과하다.
본 명세서의 설명 및 특허 청구 범위의 전반에 걸쳐, 단수 형태들인 "어떤 하나의(a, an)" 및 "그(the)"는 문맥에서 분명히 달리 지시하지 않는 한 복수의 지시 대상들을 포함한다. 따라서 예컨대, "어떤 하나의 물체"를 언급하는 것은 하나 이상의 그러한 물체들을 언급하는 것을 포함한다.
본 명세서의 설명 및 특허 청구 범위의 전반에 걸쳐, "포함하다(include)", "포함하여 이뤄지다(comprise)", 및 "함유하다(contain)"라는 단어들과, 그 단어들의 어미 변화 형태들, 예컨대 "포함하는(including)", "포함하여 이뤄지는(comprising)", 및 "함유하는(containing)"은 "포함하지만 그에 한정되지 않는(including but not limited to)"을 의미하고, 다른 특징들, 구성 요소들, 정수들, 단계들, 과정들, 특성들, 또는 그 그룹들을 배제하려는 것이 아니며 배제하지도 않는다.
본 발명의 특정의 양태, 실시예들, 또는 예들과 관련하여 설명하는 특징들, 구성 요소들, 정수들, 단계들, 과정들, 특성들, 또는 그 그룹들은 모순되지 않는 한 본원에서 설명하는 임의의 다른 양태들, 실시예들, 또는 예들에도 적용될 수 있는 것으로 이해되어야 한다.
본 명세서의 설명 및 특허 청구 범위의 전반에 걸쳐, "Y를 위한 X(X for Y)"(여기서, Y는 어떤 동작, 기능, 과정, 작업, 활동, 또는 단계이고, X는 그 동작, 기능, 과정, 작업, 활동, 또는 단계를 수행하기 위한 어떤 수단임)의 일반 형태로 된 말씨는 전적인 것은 아니지만 특별히 Y를 행하도록 맞춰진, 구성된, 또는 배치된 수단 X를 포괄하는 것이다.
"암호화(encryption)"라는 용어는 본원에서는 비밀 정보를 알지 못하면 정보를 이해할 수 없게 만들기 위해 비밀 정보를 사용하여 해당 정보를 암호로 하거나 난독화하거나 차폐하는 과정을 지칭하는 뜻으로 해석되는 용어이다. "암호 해독(descryption)"이란 용어는 본원에서는 원래의 정보를 복원하기 위해 암호화된 정보를 처리하는 반대의 과정을 지칭하는 뜻으로 해석되는 용어이다.
양 당사자들인 앨리스와 밥이 무조건적으로 안전하게 공유 비밀 정보를 얻게 하는 기법들 중에 양자 암호 키 분배(quantum cryptographic ket distribution; QKD) 기법이 있는데, 본 기법은 이산 변수(discrete variable) QKD(DV-QKD)와 연속 변수(continuous variable) QKD(CV-QKD)를 포함한다.
DV-QKD와 CV-QKD의 모두에 있어서, 데이터는 앨리스와 밥 간에 전송되는 광자들(photons)의 양자 상태들로 데이터를 인코딩하여 앨리스와 밥 간에 교환된다. DV-QKD의 경우, 개별 광자의 편광 상태(polarization state)와 같은, 이산(양자화) 값들을 취하는 물리량들이 정보를 실어 나르는데 사용된다. 따라서 DV-QKD를 사용하여 교환되는 데이터 값들은 이산 값들이다. 반면에, CV-QKD의 경우, 코히런트(coherent) 전자기장(광자들의 코히런트 스트림으로 간주할 수 있음)의 위상과 진폭과 같은, 연속 스펙트럼들을 갖는 물리량들이 정보를 실어 나르는데 사용된다. 따라서 CV-QKD를 사용하여 교환되는 데이터 값들은 연속 값들이다.
양자 역학의 기본적인 특성으로 인해, 제3자의 도청자인 이브가 앨리스와 밥 간에 전송되는 광자들의 미지의 양자 상태들을 측정하려고 애쓰는 어떠한 시도도 그 양자 상태들이 교란되는 결과를 낳게 된다. 또한, "복제 불가 정리(no-cloning theorem)"의 결과, 이브가 미지의 양자 상태의 동일한 카피를 생성하는 것이 불가능하다. 그것은 앨리스와 밥이 통신을 도청하려는 이브의 어떠한 시도도 간파하는 것이 가능하다는 것을 의미한다.
CV-QKD는 DV-QKD에 비해 몇 가지 이점들을 제공한다. 예컨대, DV-QKD 장치들은 일반적으로 전자기 스펙트럼의 광학 대역(optical band)에서 동작한다. 그러나 광학 대역의 밖에서는 개별 광자들의 생성 및 효율적인 검출이 더욱 어렵기 때문에, 광학 기반이 아닌 DV-QKD는 구현하기가 더욱 어렵다. 반면에, CV-QKD는 전자기 스펙트럼의 더 넓은 범위를 훨씬 더 쉽게 활용할 수 있다. 예컨대, CV-QKD는 많은 기존 통신 시스템들이 이미 운용되고 있는 마이크로파 대역에서 DV-QKD보다 훨씬 더 쉽게 구현될 수 있다.
CV-QKD 기반의 통신 시스템을 이하에서 더 자세히 설명하기로 한다. 그러나 이하의 설명을 시작하기에 앞서, 정보 이론의 분야에서의 몇몇 유용한 개념들을 이제 간략하게 설명하기로 한다.
확률 분포 함수 P X 에 의해 특징져지는 이산 랜덤 변수 X를 살펴보면, X의 엔트로피 H는 다음의 식으로 정의된다.
Figure pct00030
수학식 1에서, xX의 특정의 결과를 나타내고, P X (x)는 결과 x의 확률이며, b는 엔트로피의 단위를 결정하는 임의의 로그 밑수(arbitrary logarithmic base)이다. 흔히, 밑수 b는 2로 선택되는데, 그 경우에 엔트로피의 단위는 "비트(bits)"이다. X의 엔트로피는 X의 결과들과 관련된 불확실성의 척도로 볼 수 있다. 한 가지 해석은 엔트로피(비트 단위의)가 최적 추정 전략(optimum guessing strategy)의 사용 시에 X의 결과를 추정하는데 필요한 예/아니오 형태의 질문들(yes/no type questions)의 평균 개수를 제시하고, X의 결과들의 시퀀스를 인코딩하는데 필요한 결과당 비트들의 평균 개수이다는 것이다.
이산 랜덤 변수들 XY에 대한 조건부 엔트로피 H(X|Y)는 다음의 식으로 정의된다.
Figure pct00031
수학식 2에서, xy는 각각 XY의 특정의 결과들을 나타내고, P X (x) 및 P Y (y)는 각각 결과들 xy의 확률들이며, P X | Y (x|y)는 결과 y가 주어졌을 때의 결과 x의 조건부 확률이고, P XY (x,y)는 XY의 결합 확률 분포(joint probability distribution)이며, b는 임의의 로그 밑수이다. 조건부 엔트로피 H(X|Y)는 Y를 알게 된 후의 X의 불확실성의 척도로서 해석될 수 있다.
이산 랜덤 변수들 XY에 대한 상호 정보량(mutual information) I(X;Y)는 다음의 식으로 정의된다.
Figure pct00032
수학식 3에서, xy는 각각 XY의 특정의 결과들을 나타내고, P X (x) 및 P Y (y)는 각각 결과들 xy의 확률들이며, P XY (x,y)는 XY의 결합 확률 분포이며, b는 임의의 로그 밑수이다.
수학식 3으로부터, 상호 정보량 I(X;Y)는 Y를 알게 된 후의 X의 불확실성의 감소로서 해석될 수 있다. 등가적으로, 상호 정보량 I(X;Y)는 Y를 알게 된 후에 X에 관해 얻게 되는 정보량으로서 또는 XY 간에 공유되는 정보량으로서 해석될 수 있다. XY가 상대적으로 높은 상관 관계에 있다면, 상호 정보량 I(X;Y)가 상대적으로 높을 것이다. 반면에, XY가 상대적으로 낮은 상관 관계에 있다면, 상호 정보량 I(X;Y)가 상대적으로 낮을 것이다. XY가 전혀 상관 관계에 있지 않다면, I(X;Y)=0인 한편, X=Y이면, I(X;Y)=I(Y;X)이다.
일례로, 전술한 원타임 패드 방식에서는, 메시지(M)와 암호화된 메시지(Mε) 간의 상호 정보량은 0이다. 즉, I(M;Me)=0이다. 따라서 이브는 암호화된 메시지(Mε)로부터 메시지(M)에 관한 정보를 얻지 못한다. 전술한 원타임 패드 방식을 무조건적으로 안전하게 만드는 것이 바로 본 특성이다.
위에서 주어진 조건부 엔트로피 및 상호 정보량의 정의들은 3개의 이산 랜덤 변수들 X, Y, 및 Z를 살펴보는 것으로 확장될 수 있다. 예컨대, 조건부 엔트로피 H(X|YZ)는 YZ를 알게 된 후의 X의 불확실성의 척도로서 해석될 수 있다. 상호 정보량 I(X;Y;Z)는 XYZ 간에 공유되는 정보량으로서 해석될 수 있다. I(X;Y|Z)는 Z와 공유되지 않고 XY 간에 공유되는 정보량으로서 해석될 수 있다.
3개의 랜덤 변수들 X, Y, 및 Z의 경우에 있어서의 여러 양들 간의 관계는 도 1에 도시된 바와 같이 개략적으로 표현될 수 있다. 도 1에서, 3개의 부분적으로 겹치는 원들은 각각 H(X), H(Y), 및 H(Z)를 나타낸다. 양들 I(X;Y), H(Y|X), H(Z|XY), I(X;Y|Z), 및 I(X;Y;Z)가 음영 영역들로 표시되어 있다. 도 1의 변수들의 다른 조합들에 대한 조건부 엔트로피 및 상호 정보량을 나타내는 영역들은 대칭에 의해 추론될 수 있다.
수학식 1 내지 수학식 3에 의해 주어진 엔트로피, 조건부 엔트로피, 및 상호 정보량의 정의들은 연속 랜덤 변수들을 살펴보는 것으로도 또한 확장될 수 있다. 구체적으로, 연속 랜덤 변수들 X, Y, 및 Z에 대한, 수학식 1 내지 수학식 3과 대응하는 엔트로피, 조건부 엔트로피, 및 상호 정보량의 정의들은 각각 수학식 4 내지 수학식 6으로 주어진다.
Figure pct00033
Figure pct00034
Figure pct00035
수학식 4 내지 수학식 6에서, P X (x) 및 P Y (y)는 각각 XY의 확률 밀도 함수들이고, P X | Y (x|y)는 Y를 조건부로 한 X의 확률 밀도 함수이며, P XY (x,y)는 XY의 결합 확률 밀도 함수이다.
이산 랜덤 변수들의 경우에서와 같이, 2개의 연속 랜덤 변수들에 대한 조건부 엔트로피 및 상호 정보량의 정의들은 3개의 연속 랜덤 변수들 X, Y, 및 Z를 살펴보는 것으로 확장될 수 있다. 3개의 연속 랜덤 변수들 X, Y, 및 Z의 경우에 있어서의 여러 양들 간의 관계도 또한 도 1에 도시된 바와 같이 개략적으로 표현될 수 있다.
그러면 CV-QKD로 다시 돌아와서, 이제 CV-QKD를 사용하는 통신 시스템에 관해 도 2를 참조하여 설명하기로 한다. 도 2의 시스템에서, 먼저 앨리스가 값들의 시퀀스(X로 표시된)를 생성하거나 얻는데, 여기서 값들은 제1 연속 랜덤 변수(편의상 역시 X로 표시됨)의 실제 값들이다. 이어서, 앨리스가 시퀀스 X를 인코딩하여 생성한 신호를 제작하여 통신 채널을 따라 밥에게 전송한다. 예컨대, 연속 랜덤 변수 X는 가우스 확률 밀도 함수로 특징져질 수 있고, 결과 값들의 시퀀스 X는 레이저에 의해 생성된 코히런트 전자기(예컨대, 마이크로파) 펄스들의 시퀀스의 진폭과 위상을 변조하여 밥에게 전송될 수 있다.
앨리스로부터 신호를 수신한 밥은 신호에 인코딩된 값들의 시퀀스를 복원하기 위해 검출기(예컨대, 호모다인(homodyne) 또는 헤테로다인(heterodyne) 검출기)를 사용하여 신호의 진폭 및/또는 위상을 검출한다. 검출을 통해 밥이 복원한, 값들의 시퀀스(Y로 표시된)는 제2 연속 랜덤 변수(역시 Y로 표시됨)의 실제 값들로서 볼 수 있다. 시스템에서의(예컨대, 밥의 검출기에서의) 잡음의 존재로 인해, 밥이 검출한 시퀀스 Y에서의 각각의 값은 원본 시퀀스 X에서의 해당 값과 잡음 성분의 합으로 이뤄진다. 따라서 시퀀스들 XY 간의 관계를 편의적으로 Y=X+N B 로 쓸 수 있는데, 여기서 N B 는 밥이 관측하는 잡음 값들의 시퀀스를 나타내고, 또 다른 연속 랜덤 변수(역시 N B 로 표시됨)의 실제 값들로서 볼 수 있다.
통신 채널을 도청함으로써, 이브도 또한 앨리스로부터 신호를 수신할 수 있다. 밥과 유사하게, 이브도 신호에 인코딩된 값들의 시퀀스를 복원하기 위해 검출기(예컨대, 호모다인 또는 헤테로다인 검출기)를 사용하여 신호의 진폭 및/또는 위상을 검출한다. 검출을 통해 이브가 복원한, 값들의 시퀀스(Z로 표시된)는 제3 연속 랜덤 변수(역시 Z로 표시됨)의 실제 값들로서 볼 수 있다. 앞에서와 같이, 시스템에서의(예컨대, 이브의 검출기에서의) 잡음의 존재로 인해, 이브가 검출한 시퀀스 Z에서의 각각의 값은 원본 시퀀스 X에서의 해당 값과 잡음 성분의 합으로 이뤄진다. 따라서 시퀀스들 XZ 간의 관계를 편의적으로 Z=X+N E 로 쓸 수 있는데, 여기서 N E 는 이브가 관측하는 잡음 값들의 시퀀스를 나타내고, 또 다른 연속 랜덤 변수(역시 N E 로 표시됨)의 실제 값들로서 볼 수 있다.
도 1에 도시된 시스템에서의 잡음의 소스들은 제작 잡음(preparation noise), 열 잡음(thermal noise), 및 산탄 잡음(shot noise)을 포함할 수 있다. 제작 잡음은 앨리스가 전송 전에 변조 신호를 제작하는 중에 발생하는 잡음이다. 열 잡음은 시스템의 전자 소자들 내에서 비롯되는 잡음이다. 예컨대, 열 잡음은 신호 검출 과정 중에 부가될 수 있다. 산탄 잡음은 정보를 전송하는데 사용되는 광자들의 이산적 특성 및 단위 시간당 검출기에 도달하는 광자들의 수의 변동의 결과로 발생한다.
일반적으로, 밥과 이브의 각각의 장치(예컨대, 검출기들)에서 관측되는 잡음은 상관 관계에 있지 않을 것이므로, I(N E ;N B )=0이다. 그러한 관계는 약식으로 N E ? B 로 표현될 수 있다.
이브가 각각의 시퀀스들 XY와 상이하지만 상관 관계에 있는 시퀀스 Z를 알고 있다면, 앨리스와 밥은 조정(reconciliation)으로 알려져 있는 절차를 사용하여 앨리스와 밥이 각각 알고 있는 상이하지만 상관 관계에 있는 값들의 시퀀스들 XY로부터 공유 비밀 정보를 얻을 수 있다. 조정은 시퀀스들 XY로부터 상당량의 공유 비밀 정보를 "증류(distill)"하기 위해 앨리스와 밥 간에 메시지들을 교환하는 것을 포함한다. 그것은 시퀀스들 XY가 상관 관계에 있어 XY 간의 정보 오버랩(information overlap)이 0이 아니기 때문에 가능하다:
Figure pct00036
. 조정은 "직접 조정(direct reconciliation)"과 "역 조정(reverse reconciliation)"의 형태로 될 수 있는데, 그들은 조정 절차 동안 앨리스와 밥이 담당하는 역할에 있어 차이가 있다.
앨리스와 밥 간의 전술한 통신 과정은 직접 조정과 역 조정 모두에 대해 I(X;Y)>I(X;Z)이면 무조건적으로 안전하다. 조정의 특수한 케이스인 역 조정의 경우에는, 앞의 부등식을 만족시키지 않더라도 예컨대 통신 시스템 내에서의 잡음의 상대 레벨과 관련하여 일정한 다른 조건을 만족시키기만 한다면 무조건적으로 안전한 통신이 여전히 달성될 수 있다. 신호 경로 손실이 없다고 가정한다면, 이브의 장치에서 관측되는 잡음이 밥의 장치에서 관측되는 잡음보다 클 때에(약식으로 N E >N B 로서 표현될 수 있음), 또는 더욱 일반적으로 얼마간의 경로 손실이 있다고 한다면 이브의 장치에서 관측되는 신호 대 잡음 비(SNR)가 밥의 장치에서 관측되는 SNR보다 낮을 때에 앞의 부등식을 만족시킬 것이다.
그 경우, 앨리스의 신호 X와 밥의 검출 신호 Y 간의 상관도가 앨리스의 신호 X와 이브의 검출 신호 Z 간의 상관도보다 높을 것이다. 따라서 밥은 이브가 Z를 알게 되는 것으로부터 얻을 수 있는 것보다 더 많은 X에 관한 정보를 Y를 알게 되는 것으로부터 얻을 수 있다. 앨리스와 밥은 적절한 조정 절차를 사용하여 이브에게 알려져 있지 않은 공유 비밀 정보를 얻는데 그러한 정보량의 우위를 활용할 수 있다.
전술한 CV-QKD 통신 시스템에 있어서의 한 가지 문제는 무조건적인 안전의 보장이 이브의 검출기에서의 SNR이 밥의 검출기에서의 SNR보다 낮다는 가정을 기반으로 한다는 것이다. 그러나 많은 상황에 있어 그렇지 않을 수도 있다.
예컨대, 도 3에 도시된 하나의 실생활 시나리오에서 있어서, 앨리스는 지표면에 있는 송수신기의 형태로 될 수 있고, 밥은 지구 고궤도(HEO) 또는 지구 중궤도(MEO) 위성(예컨대, 약 33,000 ㎞의 고도에 있는)의 형태로 될 수 있다. 본 시나리오에서, 앨리스와 밥 간에 상당한 경로 손실이 발생하여 결과적으로 밥의 검출기에서의 SNR이 상대적으로 낮을 수 있다. 그러나 이브가 밥보다 앨리스에 더 가까이 있으면, 예컨대 이브가 지구 저궤도(LEO) 위성(예컨대, 약 100 ㎞의 고도에 있는)의 형태로 되면, 앨리스와 이브 간의 경로 손실이 상대적으로 작아 결과적으로 이브의 검출기에서의 SNR이 밥의 검출기에서의 SNR보다 높을 가능성이 크다.
다른 시나리오들에 있어서, 이브의 검출기에서의 SNR을 증가시키기 위해, 이브가 독단적으로 앨리스의 송신기에 가깝게 이동하는 것이 가능할 수도 있다.
그러한 문제는 밥이 상대적으로 높은 레벨의 내부 잡음(intrinsic noise)을 갖는 검출기를 사용하는 경우에 더욱 심해질 수 있다. 예컨대, 열 잡음은 일반적으로 마이크로파 검출기에서 상대적으로 높다. 따라서 시퀀스 C 를 전송하는데 마이크로파 채널이 사용된다면, 밥이 관측하는 SNR이 상대적으로 낮을 수 있다.
따라서 앨리스와 밥이 비밀 정보를 공유하게 하면서 이브가 그 비밀 정보를 얻지 못하게 하는 프로토콜로서, 이브의 검출기에서의 SNR이 밥의 검출기에서의 SNR보다 높더라도 무조건적인 안정성이 보장되는 프로토콜이 바로 바라는 바이다.
전술한 CV-QKD 통신 시스템에 있어서의 다른 문제는 밥이 시퀀스 C 를 검출하는데 사용하는 호모다인 또는 헤테로다인 검출기가 상대적으로 복잡하다는 것이다. 따라서 더 간단한 검출기를 사용할 수 있게 하는 통신 방식이 바로 바라는 바이다.
이제, 제3자(이브)가 비밀 정보를 알게 되는 일이 없이 양 당사자들(앨리스와 밥)이 공유 비밀 정보를 얻게 하는 예시적 프로토콜을 설명하기로 한다. 후술하는 실시예들에 있어서, 공유 비밀 정보는 이후의 데이터 전송 방식에서 사용하기 위한 키 정보의 형태로 된다. 예컨대, 키 정보는 원타임 패드를 형성하는데 사용될 수 있다. 그러나 본 발명에 따른 프로토콜은 다른 종류의 공유 비밀 정보들을 얻는데 사용될 수도 있다.
본 발명의 실시예들 예컨대 금융 거래를 비롯한 매우 광범위한 갖가지 적용들에서 사용될 수 있다. 다른 적용들은 경찰, 군대, 정부, 이동 데이터, 이동 음성, 내비게이션 및 위치 정보(예컨대, GPS), 금융 서비스, 은행 업무, 선박 통신, 가임자 서비스, 이동 보안 서비스, 분산 네트워킹, 원격 접속, 인터넷 통신, 가상 사설망, 위성 통신, 원격 지령 및 제어 시스템, 항공기(예컨대, 드론(drone) 비행기), 원격 제어, 데이터 저장 및 파일 보관, 그리고 신원 관리 및 보안을 포함하지만 그에 한정되는 것은 아니다.
도 4는 본 발명에 따른 예시적 키 분배 프로토콜을 구현하는 예시적 통신 시스템을 개략적으로 도시하고 있다. 도 5는 그 프로토콜의 여러 스테이지(stage)들을 나타낸 흐름도이다.
도 4에 도시된 바와 같이, 통신 시스템(400)은 앨리스가 관장하는 제1 장치(401) 및 밥이 관장하는 제2 장치(415)를 포함한다. 앨리스의 장치(401)는 데이터 소스(403), 메모리(405), 송신부(407), 수신부(409), 검출기(411), 및 프로세서(413)를 포함한다. 밥의 장치(415)는 메모리(417), 송신부(419), 수신부(421), 검출기(423), 및 프로세서(425)를 포함한다. 앨리스의 장치(401)의 송신부(407)와 수신부(409) 및 밥의 장치(415)의 송신부(419)와 수신부(421)는 앨리스와 밥 간에 양방향 통신 링크(427)가 설정될 수 있게 한다. 대안적 실시예들에 있어서, 송신부와 수신부는 단일의 송수신부로 합쳐질 수 있다.
통신 링크(427)는 앨리스와 밥 간에 하나 이상의 별개의 채널들(427a, 427b)을 형성할 수 있다. 예컨대, 후술하는 실시예에서는 2개의 채널들이 사용되지만, 다른 실시예들에서는 단일 채널 또는 2개보다 많은 채널들이 사용될 수도 있다.
각각의 채널은 유선 또는 무선 링크 또는 광 링크와 같은 임의의 적절한 형태의 것일 수 있다. 각각의 채널은 전통적인 채널 또는 양자 채널일 수 있다. 예컨대, 후술하는 실시예에서는 하나의 채널이 양자 채널이고 다른 하나의 채널이 전통적인 채널이다. 양자 채널은 양자 시스템(quantum system)의 상태 내에서 인코딩된 정보인 양자 정보를 전송할 수 있는 채널이다. 전통적인 채널 또는 비양자(non-quantum) 채널은 전통적인 또는 비양자 시스템의 상태 내에서 인코딩된 정보인 전통적인 정보를 전송할 수 있는 채널이다.
특정의 실시예들에 있어서, 전통적인 채널은 변경에 대해 안전하게 될 수 있다. 예컨대, 전통적인 채널은 전통적인 채널로 전송된 신호들이 변경되지 않도록 보장하기 위해 앨리스와 밥이 소량의 미리 공유된 키 정보를 사용하는 인증된 채널일 수 있다.
도 4에 도시된 바와 같이, 이브는 앨리스와 밥 간의 통신을 도청하기 위해 이브가 관장하는 제3 장치(429)를 사용할 수 있다. 이브의 장치(429)는 메모리(431), 수신부(433), 검출기(435), 및 프로세서(437)를 포함한다. 이브의 장치(429)는 전체 통신 시스템(400)의 일부인 것으로 볼 수 있거나, 그렇지 않고서 앨리스와 밥의 장치들(401, 415)에 의해 형성되는 통신 시스템(400) 이외의 기생적인 요소인 것으로 볼 수도 있다. 후술하는 실시예에 있어서, 이브의 장치(429)는 앨리스와 밥 간에 전송되는 신호들을 변경하거나 조작하지 않는 것으로 가정된다는 점에서 앨리스와 밥 간의 통신 링크를 신뢰할 수 있는 것으로 가정하기 때문에, 이브의 장치(429)가 송신부를 포함하지 않는다. 그러나 후술하는 프로토콜은 이브가 신호들을 조작하는 공격에 대해서도 유효하다.
설명하는 실시예에서는, 도 3에 도시된 시스템과 유사하게, 앨리스의 장치(401)는 지면 기반 장치의 일부를 이루고, 밥의 장치(415)는 HEO 위성의 일부를 이루며, 이브의 장치(429)는 LEO 위성의 일부를 이룬다. 그러나 본 발명은 어떤 특정의 구성에 한정되는 것이 아니다. 예컨대, 본 발명은 지상 장치, 지면 기반 장치, 공중 기반 장치, 및/또는 우주 기반 장치의 임의의 조합을 포함하는 시스템에 적용될 수 있다.
설명하는 실시예에서는, 앨리스와 밥 간의 통신 링크가 2.4 ㎓ 자유 공간 마이크로파 채널을 이용하여 구현된다. 그러나 본 발명은 어떤 특정의 전자기 스펙트럼 영역 또는 대역이나 전송 방법에 한정되는 것이 아니다.
도 5에 도시된 바와 같이, 키 분배 프로토콜은 변수 전송 스테이지(501), 데이터 이산화 스테이지(503), 오류 정정 스테이지(505), 데이터 매칭 합치 스테이지(507), 제1 비익성 증강 스테이지(509), 보안 강화 스테이지(511), 및 제2 비익성 증강 스테이지(513)를 포함하는 다수의 스테이지들로 이뤄진다.
이후의 상세한 설명으로부터 분명해질 바와 같이, 프로토콜의 실행 중에, 앨리스가 데이터 시퀀스를 전송하고, 밥이(그리고 어쩌면 이브가) 그 데이터 시퀀스를 수신한다. 이후의 앨리스와 밥 간의 메시지 교환들의 시퀀스(이것도 또한 이브가 가로챌 수 있음)에 걸쳐, 초기 데이터 시퀀스는 시드 데이터(seed data)로서 앨리스와 밥 간에 공유되지만 이브에게는 알려지지 않은 비밀 데이터 시퀀스를 얻는데 사용된다.
본 프로토콜은 통신 링크의 앨리스 측과 밥 측에서 발생하는 시퀀스들에 상관 관계가 없는 랜덤 잡음을 부가하는 것을 기반으로 하고 있다. 본 프로토콜은 잡음의 랜덤 속성 및 예측 불가 속성을 활용하여 고유 비밀 정보의 무조건적인 안전을 달성한다. 잡음은 다양한 방식으로 구현될 수 있다. 예컨대, 잡음은 통신 시스템의 내재적 또는 자연적 특성으로서 발생할 수 있거나, 능동적으로, 고의로, 및/또는 인위적으로 생성될 수도 있다. 본 발명의 일부 실시예들에 있어서, 잡음은 그 기원에 있어 양자 역학적이고, 따라서 전적으로 예측 불가능하고 재현 불가능하다. 다른 실시예들에 있어서, 잡음은 예컨대 알고리즘에 기인한 원인으로부터 생성되는 것과 같이 그 기원에 있어 비양자 역학적일 수 있다.
앨리스, 밥, 및 이브가 알고 있는 데이터 시퀀스들을 랜덤 변수 X, Y, 및 Z로 각각 표현한다면, 도 2와 관련하여 전술한 바와 같이, I(X;Y)>I(X;Z)이면 무조건적인 안전이 얻어질 수 있다. 그러나 본 발명의 실시예들에 있어서, 본 프로토콜은 조건 I(X;Y|Z)>0을 만족시키도록 구성된다. 환언하면, 이브와는 공유되지 않는, 앨리스와 밥 간에 공유되는 적어도 얼마간의 정보가 존재한다. 그것은 앨리스와 밥 간의 정보 오버랩 I(X;Y)를 증가시키면서 앨리스와 밥과 이브 간의 3방향(three-way) 정보 오버랩 I(X;Y;Z)를 감소시키고 H(Z|XY)를 증가시킴으로써 달성될 수 있다.
본 프로토콜은 밥이 관측하는 SNR이 이브가 관측하는 SNR보다 작더라도 무조건적인 안전이 여전히 달성될 수 있도록 구성된다.
또한, 특정의 실시예들에 있어서, 시퀀스 X를 밥이 수신하는 신호로 인코딩하는 방식이 밥으로 하여금 상대적으로 간단한 검출기를 사용할 수 있게 한다.
그러면 본 프로토콜의 각각의 스테이지를 상세히 설명하기로 한다.
변수 전송 스테이지
변수 전송 스테이지(501)는 값들의 시퀀스를 앨리스로부터 밥에게 전송하기 위한 것이다. 후술하는 실시예에서는, 값들이 랜덤하게 생성되고, 랜덤 값들이 연속적으로 분포된다. 그러나 다른 실시예들에서는, 비랜덤 값들(이산적 또는 연속적) 또는 값들의 하나의 이산 집합만을 취한 랜덤 값들이 사용될 수도 있다. 일부 실시예들에서는, 값들이 상수(예컨대, 0을 포함한 그러나 그에 한정되지 않는 고정 값들의 시퀀스)일 수 있다. 값들은 임의의 적절한 표현을 사용하여 정의될 수 있다. 도 6은 변수 전송 스테이지의 여러 단계들을 더욱 상세히 나타낸 흐름도이다.
제1 단계(601)에서, 앨리스의 장치(401)의 데이터 소스(403)가 연속 확률 밀도 함수
Figure pct00037
에 따른 l개의 랜덤 값들의
Figure pct00038
로 표시된)를 출력한다. 본 실시예에서는, 확률 밀도 함수
Figure pct00039
가 0의 평균과 1로 정규화된 표준 편차를 갖는 가우스 함수이지만, 평면 분포(flat distribution)와 같은 다른 임의의 적절한 분포가 사용될 수도 있다. 시퀀스
Figure pct00040
는 임의의 적절한 방식으로 생성될 수 있다. 알고리즘 난수 생성기(algorithmic random number generator)를 사용하여 생성되는 값들의 시퀀스가 엄밀한 수학적 의미로 완전히 랜덤할 수는 없지만, 알고리즘에 기인한 것은
Figure pct00041
를 생성하는데 여전히 용인될 수 있다. 예컨대, 특정의 실시예에 있어서, 시퀀스
Figure pct00042
는 그 자체가 경우에 따라 앨리스와 밥 간에 공유될 비밀 정보를 포함하고 있을 수 있다.
다음 단계(603)에서, 앨리스의 장치(401)의 송신부(407)가 임의의 적절한 기법을 사용하여 시퀀스
Figure pct00043
를 전송한다. 예컨대, 시퀀스
Figure pct00044
는 전통적인 채널 또는 양자 채널을 사용하여 전송될 수 있다. 본 실시예에서는,
Figure pct00045
를 전송하기 위해 양자 채널이 사용되는데, 본 방식에서는 송신부(407)가 시퀀스 값들 {ci}를 사용하여 코히런트 마이크로파 소스의 펄스들의 시퀀스의 진폭 및/또는 위상을 변조하고 변조 신호를 송신기를 사용하여 무선으로 전송한다. 다른 실시예들에서는,
Figure pct00046
를 전송하기 위해 전통적인 채널이 사용되는데, 본 방식에서는 전송할 신호가 ASK, PSK, QAM 등과 같은 종래의 전통적인 기법을 사용하여 시퀀스 값들에 의해 변조된다.
시퀀스
Figure pct00047
는 제1 채널(427a)을 사용하여 앨리스로부터 밥에게 전송된다. 제1 채널(427a)은 예컨대 이브가 링크를 도청하여 그를 통해 전송되는 신호를 검출할 수 있다는 점에서 안전하지 않은 것으로 볼 수 있다. 그러나 본 실시예에서는, 링크(427a)는 예컨대 신뢰할 수 있는 것으로 볼 수 있다. 그 이유는 예컨대 신호의 양자 속성으로 인해, 신호의 어떠한 조작이나 변경도 앨리스 및/또는 밥에 의해 검출될 수 있기 때문이다. 링크는 예컨대 후술하는 바와 같이 앨리스와 밥이 밥에 의해 수신되는 값들을 검증하거나 인증하는 적절한 방안을 수행한다면 역시 신뢰할 수 있는 것으로 볼 수 있다. 다른 실시예들에 있어서, 링크(427a)는 신뢰할 수 없는 것으로 볼 수도 있다.
전술한 단계들에서, 앨리스의 장치(401)는 전송 신호에 얼마간의 잡음을 도입할 수 있다. 예컨대, 전송 신호를 형성하는 양자 상태들의 제작 중에 도입될 수 있는 어떤 잡음이다. 또한, 예컨대 앨리스의 장치(401) 내의 전자 소자들로부터 비롯된 어떤 열 잡음도 또한 신호에 도입될 수 있다. 앨리스의 장치(401)에 의해 도입되는 제작 잡음 및 열 잡음은 앨리스의 장치(401), 밥의 장치(415), 및 이브의 장치(429)가 수신하는 신호들 중에 존재하게 된다. 이후의 설명에서는, 그러한 잡음 소스들의 영향을 무시하기로 한다. 그러나 본 발명은 그러한 잡음 소스들이 명시적으로 고려되는 경우에도 동일하게 유효하다.
다음으로, 앨리스, 밥, 및 이브의 장치들(401, 415, 429)이 후술하는 바와 같이 일정한 단계들을 동시에 수행한다.
밥 측에서는, 밥의 장치(415)의 수신부(421)가 앨리스에 의해 전송된 신호를 수신하여 복조한다(609).
다음 단계(611)에서, 밥의 장치(415)의 검출기(423)가 수신 신호에서의 진폭 및/또는 위상 변화들을 검출하여 l개의 값들의 해당 시퀀스( B ={b i }, i=1, 2, …, l로 표시된)를 복원한다. 밥의 장치(415)의 검출기(423)는 예컨대 호모다인 검출기 또는 헤테로다인 검출기의 형태로 될 수 있다.
수신 신호로부터 시퀀스 B 를 복원하는 과정 중에, 밥의 장치(415)는 예컨대 (랜덤) 열 잡음(예컨대, 존슨(Johnson) 잡음을 포함한) 및 산탄 잡음을 비롯한 하나 이상의 소스들로부터 잡음을 도입한다. 그 결과, 밥이 복원한 시퀀스 B 에서의 각각의 값 b i 가 앨리스에 의해 전송된 원본 시퀀스
Figure pct00048
에서의 해당 값 c i 와 밥의 장치에 의해 도입된 잡음의 결과로 생긴 해당 잡음 값 n B i 의 합이 되게 된다. 그러한 관계는 b i =
Figure pct00049
i +n B i , i=1, 2, …, l 또는 등가적으로 B = X + N B 로 표현될 수 있는데, 여기서 N B ={n B i } i=1, 2, …, ll개의 잡음 값들의 시퀀스를 나타낸다. 시퀀스 B 는 밥의 장치(415)의 메모리(417)에 저장된다.
앨리스 측에서는, 앨리스의 장치(401)의 수신부(409)도 또한 앨리스에 의해 전송된 신호를 수신하여 복조한다(605). 그것은 예컨대 빔 분할기(441) 또는 다른 적절한 신호 분할기를 사용하여 전송 신호의 전력의 일부(예컨대, 50%)를 앨리스의 수신부(409)로 분기하는 한편 신호의 나머지 성분을 밥의 장치(415)로 전송함으로써 달성될 수 있다. 그 경우, 밥의 장치(415)가 수신하는 전력이 감소할 것이다.
다음 단계(607)에서, 앨리스의 장치(401)의 검출기(411)가 수신 신호에서의 진폭 및/또는 위상 변화들을 검출하여 l개의 값들의 해당 시퀀스( A ={a i }, i=1, 2, …, l로 표시된)를 복원한다. 앨리스의 장치(401)의 검출기(411)는 예컨대 호모다인 검출기 또는 헤테로다인 검출기의 형태로 될 수 있다.
수신 신호로부터 시퀀스 A 를 복원하는 과정 중에, 앨리스 장치(401)는 예컨대 (랜덤) 열 잡음 및 산탄 잡음을 비롯한 하나 이상의 소스들로부터 잡음을 도입한다. 그 결과, 앨리스가 복원한 시퀀스 A 에서의 각각의 값 a i 가 앨리스에 의해 전송된 원본 시퀀스
Figure pct00050
에서의 해당 값
Figure pct00051
i 와 앨리스의 장치에 의해 도입된 잡음의 결과로 생긴 해당 잡음 값 n A i 의 합이 되게 된다. 그러한 관계는 a i =
Figure pct00052
i +n A i , i=1, 2, …, l 또는 등가적으로 A =
Figure pct00053
+ N A 로 표현될 수 있는데, 여기서 N A ={n A i } i=1, 2, …, ll개의 잡음 값들의 시퀀스를 나타낸다. 시퀀스 A 는 앨리스의 장치(401)의 메모리(405)에 저장된다.
앨리스의 장치(401)가 앨리스의 장치 자신이 전송한 신호를 수신하는 과정은 앨리스의 장치(401)가 자신으로의 로컬 채널(예컨대, 연속 변수 로컬 채널)을 개설하는 과정으로 볼 수 있다. 그러한 과정이 중요한 이유는 그 과정이 이브가 공유하지 못하는, 앨리스와 밥 간의 상호 정보 오버랩을 가능하게 하기 때문이다. 본 발명의 실시예들에서는, 앨리스의 장치로부터 그 자신으로의 또는 앨리스의 장치(401) 내의 로컬 채널을 개설하는 임의의 적절한 수단이 사용될 수 있다.
본 실시예에 있어서, 잡음 값들의 시퀀스들 N A N B 는 각각 연속 확률 밀도 함수들
Figure pct00054
로 특징져진다. 예컨대, 열 잡음의 경우, 확률 밀도 함수들
Figure pct00055
는 각각 가우스 함수일 수 있다. 그러나 잡음 값들 N A N B 는 열 잡음 및 산탄 잡음 이외의 소스들로부터 발생할 수도 있고, 평면 분포와 같은 다른 확률밀도 함수들에 따라 생성될 수도 있다. 일부 실시예들에 있어서, 잡음 값들 N A N B 는 특정의 확률 밀도 함수들에 따른 이산 값들을 취할 수도 있다. 전술한 바와 같이, 일부 실시예들에서는 잡음이 통신 시스템의 내재적 또는 자연적 특성으로서 발생할 수도 있는 한편, 다른 실시예들에서는 잡음이 예컨대 알고리즘 소스에 의해 능동적으로, 고의로, 및/또는 인위적으로 생성될 수도 있다.
앨리스와 밥의 각각의 장치들(401, 415)에 의해 도입되는 잡음 성분들은 독립적이다. 또한, 잡음이 랜덤하기 때문에, 잡음은 예측 불가능하고 재현 불가능하다. 예컨대, 본 실시예에서는, 잡음이 그 기원에 있어 양자 역학적이기 때문에, 잡음은 전적으로 독립적이고 예측 불가능하며 재현 불가능하다. 그러나 앨리스의 장치(401) 및 밥의 장치(415)에 의해 각각 복원된 시퀀스들 A B 가 잡음 N A N B 로 인해 상이하기는 하지만, 그럼에도 어느 정도 상관 관계가 있어 시퀀스들 A B 간에 얼마간의 정보 오버랩이 존재하게 된다.
잡음 N A N B 의 진폭의 증가 또는 잡음 대 신호 비의 증가(즉, SNR의 감소)는 프로토콜에 의해 달성되는 보안을 증가시키는 경향이 있지만, 주어진 양의 초기 시드 데이터로부터 얻어지는 데이터의 양(즉, 데이터 전송률)을 감소시키는 경향이 있다. 앨리스의 장치(401) 및 밥의 장치(415)에서 또는 그에 의해 도입되는 잡음 N A N B 의 레벨은 원하는 또는 요구되는 보안 및/또는 데이터 전송률의 레벨에 따라 조정되거나 제어될 수 있다.
앨리스의 수신부(409)가 밥의 수신부(421)보다 앨리스의 송신부(407)에 더 가까이 있으므로, 앨리스의 수신부(409)는 앨리스의 장치(401)에서의 SNR이 밥의 장치(415)에서의 SNR과 가능한 한 근접하게 되도록 경로 손실의 차이 및 기타 전력의 감소를 보상하기에 적절한 양만큼 자신의 수신 신호를 감쇠시킬 수 있다. 그러나 일부 실시예들에서는, 앨리스의 장치(401)에서의 SNR이 밥의 장치(415)에서의 SNR과 동일할 필요가 없다. 앨리스의 장치(401) 및 밥의 장치(415)에서 또는 그에 의해 도입되는 잡음 N A N B 의 레벨은 앨리스의 장치(401)와 밥의 장치(415)에서 동일하거나 비슷하거나 상이한 SNR을 얻게 되도록 조정되거나 제어될 수 있다.
본 실시예에서는, 시퀀스들 A B 에 부가되는 잡음이 검출기 잡음의 형태로 되는데, 이때 앨리스의 장치(401)와 밥의 장치(415) 간에 채널이 개설되고, 앨리스의 장치(401)가 자신으로의 로컬 채널을 개설한다. 그러나 다른 실시예들에서는, 시퀀스들 A B 를 얻기 위해 잡음을 부가하는 임의의 적절한 대안적 또는 부가의 방법들이 사용될 수도 있다. 잡음은 동일한 양으로 또는 앨리스의 장치(401)와 밥의 장치(415)에서 동일한 SNR을 얻기 위한 양으로 부가될 수 있다.
전술한 실시예에서는, 앨리스가 시퀀스
Figure pct00056
를 생성하여 전송하고, 앨리스와 밥이 그 시퀀스를 수신한다. 그러나 다른 실시예들에서는, 그 대신에 시퀀스
Figure pct00057
가 "찰스(Charles)"라고 지칭할 수 있는 다른 신뢰하는 당사자에 의해 생성되어 전송될 수도 있다(도 8 참조). 그 경우, 앨리스가 찰스에 의해 전송된 시퀀스
Figure pct00058
를 수신하도록 찰스와 앨리스 간에 채널이 개설되고, 잡음의 부가에 의해 앨리스가 A 를 얻는다. 마찬가지로, 밥이 찰스에 의해 전송된 시퀀스
Figure pct00059
를 수신하도록 찰스와 밥 간에 채널이 개설되고, 잡음의 부가에 의해 밥이 B 를 얻는다. 그 경우, 앨리스가 자신으로의 로컬 채널을 개설할 필요가 없다.
경우에 따라 앨리스와 밥 간에 공유되는 정보를 프로토콜을 사용하여 획득하려고 시도하기 위해, 이브는 앨리스 및/또는 밥이 수행하는 프로토콜의 일정한 단계들을 그대로 따라하려고(mirror) 시도할 수 있다. 예컨대, 도 6에 도시된 바와 같이, 이브 측에서는, 통신 링크를 도청함으로써 이브의 장치(429)의 수신부(433)도 또한 앨리스에 의해 전송된 신호를 수신하여 복조한다(613). 이브는 예컨대 빔 분할기(439) 또는 다른 적절한 신호 분할기를 사용하여 전송 신호의 전력의 일부를 이브의 수신부(433)로 분기하는 한편 신호의 나머지 성분을 밥의 장치(415)로 전송함으로써 신호를 가로챌 수 있다. 그 경우, 밥의 장치(415)가 수신하는 전력이 감소할 것이다.
Figure pct00060
수신 신호로부터 시퀀스 E 를 복원하는 과정 중에, 이브의 장치(429)는 잡음 N E ={n B i } i=1, 2, …, l를 도입하고, 그 결과 시퀀스 E = X + N E 가 생성되는데, 여기서 N E 는 앨리스의 장치(4010)와 밥의 장치(415)에 의해 도입되는 잡음과 유사하다. 그러나 본 실시예에서는, 안전의 관점에서의 "최악의 시나리오"로서, 이브의 장치(429)가 최저의 가능한 레벨로, 어쩌면 0의 잡음( N E ={0})으로 잡음이 감소하는 이상적인 검출기를 사용하는 것으로 가정하는데, 그 경우에 E = X 이다. 예컨대, 적절하게 냉각되는 검출기를 사용하여 열 잡음을 거의 0으로 감소시킬 수 있다.
그러나 이상적인 검출기를 사용하여 일부 잡음 소스들을 제거할 수는 있지만, 특정의 상황에서는 산탄 잡음과 같은 다른 잡음 소스들이 항상 일정 정도 존재할 수 있다. 산탄 잡음의 레벨이 일반적으로 열 잡음의 레벨보다 작기 때문에, 밥이 관측하는 SNR은 이브가 관측하는 SNR보다 작게 될 가능성이 크다. 예컨대, 밥은 이브가 관측하는 것보다 108배 더 낮은 SNR을 관측할 수도 있다. 그러나 그 경우에서조차, 이브가 관측하는 잡음은 0이 되지 않고, 앨리스와 밥은 여전히 공유 비밀 정보를 얻을 수 있다.
이브의 장치(429)가 복원한 시퀀스 E 가 잡음 N A N B 로 인해 시퀀스들 A B 와 각각 상이하기는 하지만, 그럼에도 어느 정도 상관 관계가 있어 시퀀스 E 와 시퀀스들 A B 의 각각 간에 얼마간의 정보 오버랩이 존재하게 된다.
도 7은 본 실시예에서 앨리스, 밥, 및 이브가 시퀀스들 A , B , 및 E 를 검출하는 것을 개략적으로 도시하고 있다. 도 8은 앨리스, 밥, 및 이브가 시퀀스들 A , B , 및 E 를 검출하는 대안적 구성으로서, 찰스가 시퀀스 X 를 전송하는 구성을 개략적으로 도시하고 있다. 도 9는 앨리스와 밥이 검출하는 시퀀스들 A B 에서의 대응 데이터 값들 간의 관계를 나타낸 그래프이다. 도 9에 도시된 바와 같이, 시퀀스들 A B 에 도입된 잡음은 결과적으로 데이터 점들의 확산(spreading)을 일으킨다.
시퀀스들 A B E 간에 상관 관계가 있기 때문에, 변수 전송 스테이지 후에 앨리스와 밥과 이브 간에 적어도 얼마간의 정보 오버랩이 존재하고, 상호 정보량 값들 I( A ; B ), I( A ; E ), I( B ; E ), 및 I( A ; B ; E )가 각각 0이 되지 않는다. 본 스테이지에서는, 앨리스와 밥 간의 정보 오버랩이 앨리스와 이브 간의 정보 오버랩보다 적을 수 있다. 즉, I( A ; B )<I( A ; E )일 수 있다.
전술한 변수 전송 스테이지에서, 데이터는 전송 신호의 진폭 및/또는 위상을 변조함으로써 신호로 인코딩될 수 있다. 그러나 일부 실시예들에서는, 진폭과 위상 중의 하나만이 변조된다. 진폭과 위상 중의 하나만을 변조하는 것이 전체 데이터 전송률을 감소시키기는 하지만(예컨대, 반으로), 신호로 인코딩된 시퀀스를 복원하는데 사용되는 검출기기 더 간단할 수 있다는데 그 이점이 있다. 예컨대, 진폭과 위상 중의 하나만을 변조함으로써, 호모다인 검출기 또는 헤테로다인 검출기를 사용할 필요가 없게 된다.
일 실시예에 있어서, 프로토콜의 본 스테이지에서, 앨리스와 밥은 이브에 의한 어떠한 신호 조작 또는 신호 변경도 임의의 적절한 기법을 사용하여 검출할 수 있다. 예컨대, 일 실시예에 있어서, 전술한 전송에 추가하여, 앨리스는 시퀀스 X 를 밥에게 2번 전송하되, 2번째 전송에서는 밥이 검출을 수행할 때에 복원된 시퀀스가 고도의 정확도로 X 와 같게 될 정도로 SNR이 충분히 높게 되도록 충분히 높은 전송 전력을 사용한다. 따라서 앨리스와 밥이 모두 시퀀스 X 를 알고 있게 된다. 그리고 나서 밥은 값들의 랜덤 선택를 앨리스에게 되돌려 전송하고, 그러면 앨리스는 데이터에서의 어떠한 차이도 검출할 수 있게 된다.
어떠한 조작이나 변경이 검출되면, 프로토콜은 중단되어 처음부터 재실행될 수 있다.
데이터 이산화 스테이지
변수 전송 스테이지(501)의 다음에는 데이터 이산화 스테이지(503)가 이어진다. 본 스테이지는 앨리스의 장치(401)와 밥의 장치(415)가 각각 복원한 연속 변수 시퀀스들 A B 를 대응하는 이산 변수 시퀀스들 A B 로 변환하기 위한 것이다. 앨리스와 밥이 얻은 시퀀스들 A B 의 값들이 이미 이산적이면, 예컨대 X , N A , 및 N B 가 각각 이산 값들로 구성되어 있으면, 데이터 이산화 스테이지(503)는 생략될 수 있다. 연속 값 시퀀스들 A B 가 아니라 이산 값 시퀀스들 A B 를 사용하는 이유는 시퀀스들 A B 에서의 대응 값들 간의 정확한 매치를 찾을 확률이 0이 되지 않기 때문이다. 특히, 2개의 랜덤 연속 값들이 정확이 같을 확률은 무한히 작을 수 있다.
본 실시예에서는, 각각의 복원된 연속 값을 데이터 슬라이싱을 사용하여 대응하는 (이산) 이진 값으로 변환함으로써 이산화가 수행된다. 그러나 대안적 실시예들에서는, 값들을 이산화하는 다른 방법들이 사용될 수도 있고, 이산화된 값들이 이진 값 이외의 표현을 가질 수도 있다는 것을 이해하여야 할 것이다. 여하튼, 본 실시예에서는, 앨리스와 밥이 모두 동일한 이산화 방식을 사용한다.
도 10은 본 실시예의 데이터 이산화 스테이지(503)의 여러 단계들을 더욱 상세히 나타낸 흐름도인 한편, 도 11은 전형적인 데이터 슬라이싱 방법을 개략적으로 도시하고 있다.
도 11에 도시된 바와 같이, 시퀀스들 A B 에서의 값들의 범위에 걸쳐 있는 수치 범위를 p개의 부분 범위들(1101)로 분할한다. 부분 범위들의 수 p는 2의 정수 멱(integer power)이다. 즉, p=2 m 과 같이 된다. p개의 부분 범위들은 p+1개의 고정 구분자 값들
Figure pct00061
로 정의될 수 있는데, 여기서
Figure pct00062
Figure pct00063
이다. 도 11에 도시된 예에서,
Figure pct00064
이고,
Figure pct00065
이며,
Figure pct00066
Figure pct00067
Figure pct00068
이다. 그러면 j번째 부분 범위(j=1, 2, …, 2 m )는
Figure pct00069
이 되도록 하는 x의 값들의 범위로 정의된다. 임의의 적절한 방안을 사용하여 각각의 부분 범위에 이진 값을 맵핑한다. 도 11에 도시된 예에서는, j-1의 m 비트 이진 표현이 j번째 부분 범위(j=1, 2, …, 2 m )에 맵핑되도록 부분 범위들에 이진 값들을 맵핑한다. 예시를 위해, 도 11에서는 p=8 및 m=3을 사용한다. 그러나 다른 값들을 사용할 수도 있다. 예컨대, 본 실시예에서는 m=11의 값을 사용한다. 다른 실시예에서는, m=16의 값을 사용할 수도 있다.
앨리스의 장치(401) 및 밥의 장치(415)에서 또는 그에 의해 도입되는 잡음 N A N B 의 레벨 및/또는 데이터 슬라이싱 파라미터들은 이산화 후에 이산화된 또는 슬라이싱된 데이터에 잡음이 기입되도록 조정되거나 제어되어야 한다. 예컨대, 바람직하게는 잡음의 부가가 데이터 값들의 상당 부분을 그 데이터 값들이 속하였던 부분 범위들에 대해 상이한 부분 범위들로 오버플로우(overflow)시키는 경향이 있어야 한다(예컨대, 특정의 개별 잡음이 우연히 상대적으로 작을 때에 일부 값들이 오버플로우하지 않을 수도 있기는 하지만).
v를 이산화하기 위해, 다음 단계들을 수행한다. 제1 단계(1001)에서, p개의 부분 범위들을 전술한 바와 같이 정의한다. 다음 단계(1003)에서, 값 v가 속하는 부분 범위(1101)를 결정한다. 다음 단계(1005)에서, 앞의 단계(1003)에서 찾은 부분 범위(1101)에 맵핑되는 이진 값을 결정한다. 다음 단계(1007)에서, 값 v를 앞의 단계(1005)에서 찾은 이진 값으로 변환한다. 예컨대, 도 11에 도시된 예시적 케이스에서는, t3보다 크고 t4보다 작거나 같은 값 v가 부분 범위 4에 속하고, 그에 따라 이진 값 011로 변환된다.
전술한 데이터 슬라이싱 방법은 아래의 수학식 8로 요약될 수 있다.
Figure pct00070
수학식 7에서, S i (x)는 연속 입력 값 x로부터 결과적으로 나오는 이진 값의 i번째 비트이고, n은 집합 0, 1, ...,
Figure pct00071
로부터 선택되는 임의의 정수이다.
본 프로토콜에 따라, 그리고 도 10에 도시된 바와 같이, 앨리스의 장치(401)의 프로세서(413)가 앨리스의 장치(401)의 메모리(405)에 저장된 시퀀스 A 의 각각의 값 a i 를 전술한 데이터 슬라이싱 방법을 사용하여 대응하는 이산 m 비트 이진 값( a i 로 표시된)으로 변환함으로써 이진 값들의 해당 시퀀스( A ={ a i }, i = 1, 2, ..., l로 표시된)를 생성한다. 마찬가지로, 밥의 장치(415)의 프로세서(425)가 밥의 장치(415)의 메모리(417)에 저장된 시퀀스 B 의 각각의 값 b i 를 동일한 데이터 슬라이싱 방법을 사용하여 대응하는 이산 m 비트 이진 값( b i 로 표시된)으로 변환함으로써 이진 값들의 해당 시퀀스( B ={ b i }, i = 1, 2, ..., l로 표시된)를 생성한다.
도 10에 도시된 바와 같이, 이브의 장치(429)가 밥의 장치(415)에 의해 수행된 단계들을 그대로 따라하여 이브의 장치(429)의 프로세서(437)가 이브의 장치(429)의 메모리(431)에 저장된 시퀀스 E ={e i }를 대응하는 m 비트 이진 값들의 시퀀스( E ={ e i }, i = 1, 2, ..., l로 표시된)로 변환한다.
앨리스의 잡음 N A 가 상대적으로 낮은 경우(앨리스가 실제로 자신으로의 로컬 채널을 개설하지 않아 N A ={0}이 되는 시스템의 경우에 해당할 수 있음), 슬라이스들의 수 및/또는 슬라이싱된 값들이 맵핑되는 부분 범위들의 정의는 밥이 관측하는 SNR이 이브가 관측하는 SNR보다 작더라도 앨리스와 밥이 공유 비밀 정보를 얻을 수 있는 것을 보장하도록 선택될 수 있다. 특히, 이후에서는, 이브가 관측하는 잡음의 유일한 소스가 산탄 잡음인 것으로 가정하고, 또한 예컨대 이브의 수신가가 앨리스의 송신기에 최대한 가깝게 위치하기 때문에 이브가 측정하는 신호 강도가 최대인 것으로 더 가정한다. 그러한 가정 하에서는, 이브가 관측하는 SNR이 최대가 된다.
이산화된 시퀀스들 A E 가 동일하지 않거나 적어도 매우 비슷하지 않은 것을 보장하기 위해, 부분 범위들의 폭은 이브가 최대 SNR을 관측하더라도 시퀀스 E 의 값들 중의 적어도 일부가 시퀀스 A 의 대응 값에 대해 상이한 부분 범위에 속하도록 선택될 수 있다. 예컨대, 부분 범위들이 너무 넓으면, 이브가 관측하는 상대적으로 적은 양의 잡음으로는 이산화된 시퀀스들 A E 의 대응 값들이 상이한 부분 범위들에 속하도록 하기 충분할 정도로 시퀀스 C 의 값을 교란시킬 가능성이 작다.
예컨대, 특정의 실시예들에 있어서, 슬라이스들의 수는 다음과 같은 수학식 8을 만족시키도록 선택될 수 있다.
Figure pct00072
수학식 8에서, m은 슬라이스들의 수이고, S는 이브가 관측하는 신호 레벨이며, N은 이브가 관측하는 잡음 레벨이다. 예컨대, S는 이브의 수신기가 앨리스의 송신기에 최대한 가깝게 위치함으로써 이브가 관측하는 최대 신호일 수 있는 한편, N은 예컨대 산탁 잡음만을 남기는 이상적인 검출기를 사용함으로써 이브가 관측하는 최저의 가능한 잡음 레벨일 수 있다.
이제 프로토콜로 다시 돌아가면, 각각 총
Figure pct00073
비트들로 구성되는 시퀀스들 A , B , 및 E 가 앨리스의 장치(401), 밥의 장치(415), 및 이브의 장치(429)의 메모리들(405, 417, 431)에 각각 저장된다. 그 각각의 시퀀스들을 이루는 값들은 일정한 각각의 확률 밀도 함수로 특징져질 것이고, 시퀀스들 간의 관계들은 일정한 결합 확률 밀도 함수들로 특징져질 것이다.
데이터 이산화 스테이지 후에 이산화된 시퀀스들 A B E 간에 상관 관계가 있게 된다. 따라서 앨리스와 밥과 이브 간에 적어도 얼마간의 정보 오버랩이 존재하게 되고, 상호 정보량 값들 I( A ; B ), I( A ; E ), I( B ; E ), 및 I( A ; B ; E )가 각각 0이 되지 않는다. 변수 전송 스테이지에서와 같이, 앨리스와 밥 간의 정보 오버랩이 앨리스와 이브 간의 정보 오버랩보다 적을 수 있다. 즉, I( A ; B )<I( A ; E )일 수 있다.
연속 값을 전술한 방법에 따라 변환함으로써 얻은 이진 값의 각각의 비트는 "슬라이스(slice)"로서 지칭될 수 있다. 변환된 이진 값의 슬라이스들은 예컨대 최상위 비트를 슬라이스 번호 1로 나타내고 최하위 비트를 슬라이스 번호 m으로 나타내도록 유효 비트(bit significance)의 순서로 번호 매겨질 수 있다. 값 a i j번째 슬라이스는 a i , j 로 표시될 수 있다. 유사하게, 시퀀스는 그 시퀀스에서의 각각의 값의 특정 순번의 슬라이스를 추출함으로써 슬라이싱될 수 있다. 예컨대, 시퀀스 A 의 각각의 값 a i j번째 슬라이스를 취하여 얻은 이진 값들은 시퀀스 슬라이스 { a i ,j }= A j 를 이루는 것으로 볼 수 있다.
각각의 슬라이스는 상이한 유효 비트의 비트와 대응하므로, 변환 과정에서 이진 값들을 부분 범위들에 맵핑하는 방법에 의존하여, 잡음으로부터 기인하는 비트 오류율이 상이한 슬라이스들에 있어 상이할 수 있다. 특히, 전술한 예에서는, 비트 오류율이 첫 번째 슬라이스(최상위 비트)로부터 번째 슬라이스(최하위 비트)로 이동하면서 증가한다. 그것은 첫 번째 슬라이스에서 가장 높은 상관 관계가 있어 앨리스와 밥 간에 가장 큰 상호 정보량이 존재할 것임을 의미한다. 반면에, m번째 슬라이스에서 가장 낮은 상관 관계가 있어 앨리스와 밥 간에 가장 작은 상호 정보량이 존재할 것이다. 특히, j<k에 대해,
Figure pct00074
이다. 앨리스와 이브 간에 그리고 밥과 이브 간에도 유사한 관계들이 적용된다.
시퀀스 B 의 각각의 시퀀스 슬라이스 B i 는 이진 대칭 채널을 통해 시퀀스 A 의 대응하는 시퀀스 슬라이스 A i 를 전송한 결과인 것으로 볼 수 있다. 이진 대칭 채널의 오류 확률은 일반적으로 각각의 슬라이스에 있어 상이하고, 첫 번째 슬라이스로부터 m번째 슬라이스로 이동하면서 증가하게 된다.
전술한 예에서는 이진 값들과 부분 범위들 간의 특정의 맵핑이 사용되고 있지만, j<k에 대해 조건 I( A j ; B j )>I( A k ; B k )을 만족시키도록 또는 j>k에 대해 조건 I( A j ; B j )>I( A k ; B k )를 만족시키도록 또는 더욱 일반적으로 상이한 슬라이스들에 대해 A B 간의 상호 정보량의 차이를 생성하도록 하는 이진 값들과 부분 범위들 간의 임의의 적절한 맵핑이 선택될 수 있다.
프로토콜의 이후의 스테이지들에서는, 공유 비밀 정보를 얻기 위해 앨리스의 장치(401)와 밥의 장치(415) 간에 특정의 정보가 교환된다. 본 예에서는, 정보 교환이 변수 전송 스테이지(500)에서 사용된 제1 채널(427a)과는 상이한 제2 채널(427b)을 사용하여 수행된다. 제2 채널(427b)은 오류 정정 채널(error-corrected channel)의 형태로 될 수 있다. 예컨대, 정보는 임의의 적절한 오류 정정 기법이 적용되는 메시지들의 형태로 전송될 수 있다. 다른 한편으로, 본 예에서, 전술한 변수 전송 스테이지(501)에서의 데이터 전송은 비오류 정정 채널(non-error-corrected channel)을 사용하여 수행된다. 오류 정정 채널 및 비오류 정정 채널은 동일한 물리 채널을 사용하여, 또는 도 4에 도시된 바와 같이 대안적으로 상이한 물리 채널들을 사용하여 구현될 수 있다.
오류 정정 스테이지
데이터 이산화 스테이지(503)의 다음에는 조정 스테이지(reconciliation stage)로도 지칭할 수 있는 오류 정정 스테이지(505)가 이어진다. 도 12는 오류 정정 스테이지의 여러 단계들을 더욱 상세히 나타낸 흐름도이다. 이하의 설명에서, 상이한 시퀀스들의 "대응" 값들이라 언급하는 것은 각각의 시퀀스들에서 동일한 위치에 있는 값들을 지칭한다. 예컨대, 동일한 값 i에 대한 값들 a i , b i , 및 e i 는 시퀀스들 A , B , 및 E 의 대응 값들이다.
데이터 이산화 스테이지(503)를 수행한 후에, 앨리스, 밥, 및 이브가 각각 얻은 시퀀스들 A , B , 및 E 의 대응 값들은 일반적으로 원본 시퀀스들 A =
Figure pct00075
+ N A B =
Figure pct00076
+ N B 의 독립된 잡음 성분들로 인해 매칭되지 않는다. 그러나 우연히도 일부 대응 값들은 A B 간에, A E 간에, 및/또는 B E 간에 정확히 매칭되거나 상대적으로 작은 오류만큼만 차이가 나게 된다. 오류 정정 스테이지는 A B 간에 매칭되는 대응 값들의 수를 증가시키면서도 이브가 A E 간에 또는 B E 간에 매칭되는 대응 값들의 수를 증가시키지 못하게 하기 위한 것이다. 환언하면, 오류 정정 스테이지는 앨리스와 밥이 그들 각각의 시퀀스들 간의 상관도를 증가시키게 하면서도 이브가 자신의 시퀀스와 앨리스 시퀀스 및 밥의 시퀀스 중의 어느 하나의 시퀀스 간의 상관도를 적어도 동일한 정도로 증가시키는 것을 하지 못하게 막는 것이다.
시퀀스들 A B 간에 매칭되는 대응 값들의 수를 증가시키기 위해, 오류 정정 방법이 사용된다. 도시된 예에 있어서, 그러한 방법은 시퀀스들 A B 의 각각의 값에 걸쳐 반복하는 것과 A B 의 대응 값들 간의 오류를 정정하려고 시도하기 위해 오류 정정 코드를 적용하는 것을 포함한다.
A B 에서의 대응 값들이 정확히 매칭될 때마다, 오류 정정 코드를 적용한 결과는 그 값들이 변함이 없어 그대로 매칭된 채로 있게 되는 것이 된다. A B 에서의 대응 값들이 정확히 매칭되지는 않지만 근접하게 매칭될 때마다(값들 간의 오류(예컨대, 해밍 거리(hamming distance))가 특정의 크기보다 크지 않다는 것을 의미함), 오류 정정 코드를 적용한 결과는 값들 간의 오류가 0으로 감소하여(즉, 오류가 정정됨) 값들이 정확하게 매칭되게 되는 것이다. 그러나 A B 에서의 대응 값들이 정확하게도 또는 근접하게도 매칭되지 않을 때마다, 오류 정정 코드를 적용한 결과는 값들 간의 오류가 정정될 가능성이 작고, 더욱이 오류가 증가할 가능성이 크게 되는 것이다(오류 정정 코드가 특정의 크기보다 큰 오류를 정정할 수 없음으로 인해).
따라서 그러한 오류 정정 절차를 수행한 후에, 시퀀스들 A B 에서의 대응 값들의 특정의 부분 집합이 높은 상관 관계에 있게 되는 반면에, 나머지 값들은 이전보다 더 낮은 상관 관계에 있게 된다. 높은 상관 관계에 있게 된 부분 집합은 포로토콜의 다음 스테이지에서 추출된다.
A B 에서의 적어도 일부 대응 값들은 오류 정정 스테이지 이전에도 정확히 매칭될 가능성이 크기 때문에, 오류 정정 스테이지는 일부 경우에는 필요하지 않을 수도 있고, 따라서 대안적 실시예에서는 생략될 수도 있다. 그러나 오류 정정 스테이지의 수행은 주어진 양의 초기 시드 데이터로부터 얻어지는 공유 비밀 정보의 양을 증가시키는 경향이 있다. 그러한 증가는 정확히 일치하지는 않지만 상대적으로 작은 오류만큼만 차이가 나는 대응 값들, 즉 오류 정정 스테이지를 수행한 결과로 정확히 매칭되게 되는 대응값들에 관한 것이다. 오류 정정 스테이지는 또한 이브와 앨리스/밥 간의 정보 오버랩을 감소시키는데에도 도움이 된다.
이브 측에서는, A B 에서의 대응 값들이 매칭될 때마다(정확히 또는 근접하게), E 에서의 대응 값도 또한 A B 에서의 대응 값들과 매칭될(정확히 또는 근접하게) 가능성이 작다. 따라서 A B 에서의 대응 값들이 오류 정정 방법에 의해 매칭되게 될 때마다, 이브가 오류 정정 코드를 사용하여 자신의 데이터를 앨리스의 데이터 및 밥의 데이터와 매칭하려고 시도한다면, E A 간의 및 E B 간의 대응 값들 사이의 오류가 증가할 가능성이 커지는 결과를 낳게 된다. 따라서 오류 정정 방법의 결과로, 높은 상관 관계에 있게 된 A B 에서의 대응 값들의 특정의 부분 집합에 대해, E 에서의 대응하는 값들의 부분 집합이 A B 와 더 낮은 상관 관계에 있게 될 가능성이 커지게 된다.
결과적으로, 그러한 값들의 특정의 부분 집합에 대해, 앨리스와 밥 간의 정보 오버랩 I( A ; B )가 증가하는 반면에, 앨리스와 밥과 이브 간의 3방향 정보 오버랩 I( A ; B ; E )는 감소하게 된다.
앨리스와 밥과 이브 간의 대응 값들의 매칭이 일어나는 것이 도 13에 도시되어 있다. 본 도면에서, 3개의 수직선들은 시퀀스들 A , B , 및 E 를 나타내고, 원들은 시퀀스들에서의 개별 값들을 나타낸다. 속이 검게 채워진 원은 다른 2개의 시퀀스들 중의 적어도 하나에서의 대응 값과 매칭되는(정확히 또는 근접하게) 값의 발생을을 나타내고, 속이 빈 원은 다른 2개의 시퀀스들 중의 어느 것에서의 대응 값과도 매칭되지(정확히 또는 근접하게) 않는 값을 나타낸다. 수평선들은 3개의 시퀀스들의 대응 값들의 매치들을 나타낸다.
도 13은 앨리스와 밥 간에, 앨리스와 이브 간에, 그리고 이브와 밥 간에 매치들이 발생할 수 있지만, 앨리스와 밥과 이브의 3명 모두 간의 동시 매칭은 임으의 2명의 당사자들 간의 매칭보다 훨씬 덜 빈번하게 발생한다는 것을 도면으로 설명하고 있다. 특히, 앨리스와 밥 간의 매치의 확률을 P A , B 로, 앨리스와 이브 간의 매치의 확률을 P A , E 로, 그리고 앨리스와 밥과 이브 간의 3방향 매치의 확률을 P A , B,E 로 각각 표시하면,
Figure pct00077
의 정도의 크기가 된다.
본 실시예에서는, 오류 정정 스테이지에서 오류 정정을 수행하는데 BCH(Bose Ray Chaudhun) 오류 정정을 사용한다. 그러나 임의의 다른 적절한 기법을 사용할 수도 있다. 이제, BCH 오류 정정을 간략히 설명하기로 한다. BCH 코딩에서는, 크기
Figure pct00078
비트의 메시지 벡터 M에 크기
Figure pct00079
비트의 생성 행렬(generator matrix) G를 곱하여 크기
Figure pct00080
비트의 코드워드(codeword) 벡터 C를 생성한다. 코드워드 벡터 C는 원본
Figure pct00081
비트 메시지 벡터와 크기
Figure pct00082
비트의 패리티 벡터의 결합(concatenation)으로 이뤄진다. 패리티 벡터는 코드워드에 리던던시(redundancy)를 부가하는 패리티 비트들을 포함하고, 코드워드 C에서의 비트 오류들(정해진 최대 수까지의 오류들)이 식별되어 정정될 수 있게 한다. 생성 행렬 G는 원하는 수의 비트 오류들을 정정할 수 있는 코드워드들을 생성하도록 선택될 수 있다.
크기
Figure pct00083
비트의 어쩌면 훼손되었을 수 있는(corrupted) 코드워드 R(예컨대, 데이터 전송의 결과로)에서 비트 오류들을 식별하여 정정하기 위해, 생성 행렬 G와 대응하는 크기
Figure pct00084
비트의 패리티 검사(또는 디코딩) 행렬 P를 사용한다. 검사할 코드워드의 전치(transpose) R T 에 미리 패리티 검사 행렬 P를 곱하여 크기
Figure pct00085
비트의 신드롬 벡터(syndrome vector)를 얻는다. 신드롬 벡터는 오류들이 식별되어 정정될 수 있게 하는 정보를 포함한다. 바트 오류들의 수가 사용되는 특정의 BCH 코드에 의해 검출 가능한 오류들의 최대 수보다 크지 않으면, 신드롬 벡터는 오류들의 위치를 식별하는 정보를 인코딩하거나 포함하여 그 오류들이 정정될 수 있게 한다.
이제, 도 12에 도시된 바와 같은 본 실시예에서의 오류 정정 스테이지의 특정의 단계들로 눈을 돌리면, 제1 단계(1201)에서, 밥의 장치(415)의 프로세서(425)가 길이 k의 메시지 M으로부터 코드워드 C를 생성하도록 선택된 BCH 생성 행렬 G를 얻는다. 코드워드 Cn-k개의 패리티 비트들을 포함하고, q개까지의 비트 오류들을 정정할 수 있다. 다음 단계(1203)에서, 앨리스의 장치(401)의 프로세서(413)가 생성 행렬 G와 대응하는 패리티 검사 행렬 P를 얻는다. BCH 생성 행렬 G와 패리티 검사 행렬 P는 미리 정해져 앨리스의 장치(401)와 밥의 장치(415)의 메모리들에 저장될 수 있다. 본 실시예에서는, n=15, k=11, 및 q=1의 값들을 사용하고, 생성자 x m Mod(x 4+x 3+1)로부터 생성 행렬 G를 생성한다. 그러나 그것들은 단지 예일 뿐이고, 다른 값들 및 생성자들을 사용할 수도 있다는 것을 이해하여야 할 것이다. 예컨대, 다른 실시예에서는, n=21, k=15, 및 q=1이다.
이어서, 밥의 장치(415)와 앨리스의 장치(401)가 협력하여 시퀀스들 A B 에서의 각각의 쌍의 대응 값들 a i , b i 에 대해 다음의 단계들을 반복적으로 수행한다. 구체적으로, 먼저 단계 1205에서, 밥의 장치(415)의 프로세서(425)가 생성 행렬 G를 사용하여 값 b i 에 대한 BCH 코드워드를 얻는다. 다음 단계(1207)에서, 밥의 장치(415)의 송신부(419)가 b i 에 대한 BCH 코드워드의 n-k개의 패리티 비트들을 전송한다.
다음 단계(1209)에서, 앨리스의 장치(401)의 수신부(409)가 밥의 장치(415)에 의해 전송된 n-k개의 패리티 비트들을 수신한다. 다음 단계(1211)에서, 앨리스의 장치(401)의 프로세서(413)가 밥의 장치(415)로부터 수신된 n-k개의 패리티 비트들을 a i 에 부가하여 a i 에 대한 BCH 코드워드를 얻는다. a i b i 가 상이하다면, 그와 같이 구성된 a i 에 대한 BCH 코드워드는 일반적으로(항상 그러한 것은 아니지만) 생성 행렬 G를 사용하여 직접 생성된 a i 에 대한 BCH 코드워드와는 상이하게 되는데, 그 이유는 본 경우에 a i b i 에 대한 패리티 비트들이 일반적으로(항상 그러한 것은 아니지만) 상이하게 되기 때문이다. 다음 단계(1213)에서, 앨리스의 장치(401)의 프로세서(413)가 패리티 검사 행렬 P를 사용하여 a i 에 대한 BCH 코드워드의 신드롬 벡터를 얻는다. 다음 단계(1215)에서, 앨리스의 장치(401)의 프로세서(413)가 신드롬 벡터를 사용하여 a i 의 값을 정정한다. 다음 단계(1217)에서, 앨리스의 장치(401)의 프로세서(413)가 시퀀스 A 에서의 a i 의 원래의 값을 정정된 값으로 대체한다.
오류 정정 절차는 앨리스의 값들 a i 가 밥의 값들 b i 를 사용하여, 구체적으로 밥의 값들로부터 도출된 오류 정정 정보를 사용하여 정정되는 과정으로 볼 수 있다. a i b i 간의 그러한 오류 정정 절차의 결과, 절차 전의 a i b i 간의 오류(해밍 거리)가 q 비트들 이하였다면, a i 가 절차 후에는 결국 b i 와 같아지게 된다. 그러나 절차 전의 a i b i 간의 오류가 q 비트들보다 컸다면, a i b i 간의 오류(해밍 거리)가 증가하는 경향이 있게 된다. 도입된 부가의 오류들이 평균하여 슬라이스들 간에 고르게 분포된다.
대안적 실시예에 있어서, 전술한 오류 정정 절차에서 앨리스와 밥의 역할들이 바뀔 수도 있다.
다음 단계(1219)에서, 아직 처리하여야 할 A B 에서의 어떤 값들이 남아 있으면(즉, i<l이면), 다음 쌍의 대응 값들 a i +1 , b i +1 간에 상기 과정을 수행한다.
따라서 전체적인 오류 정정 스테이지의 결과, 정확히 매칭되는, 시퀀스들 A B 에서의 대응 값들의 수가 증가하는 경향이 있게 되는 반면, 매칭되지 않는 값들(즉, 애초부터 q 비트들보다 큰 정도만큼 상이하였던 대응 값들)이 더 낮은 상관 관계로 되는 경향이 있게 된다.
앨리스의 장치(401)와 밥의 장치(415) 간의 통신 링크를 도청함으로써, 이브의 장치(429)가 밥의 장치(415)에 의해 앨리스의 장치(401)에게 전송된 패리티 비트들을 가로챌 수 있다. 그러나 앨리스의 데이터와 밥의 데이터가 매칭되는 경우에는, 이브가 그 패리티 비트들을 사용하여 자신의 데이터를 앨리스의 데이터 및 밥의 데이터와 매칭할 수가 없다. 그 이유는 시퀀스들 A B 에서의 대응 값들 a i b i 간의 오류가 q 비트들보다 크지 않은 경우(결과적으로, 오류 정정 후에 a i b i 간의 정확한 매치가 일어남), 시퀀스 E B 에서의 대응 값들 e i b i 간의 오류도 또한 q 비트들보다 크지 않을 확률이 단지 작은데 불과하기 때문이다. 따라서 도 12에 단계들 "1203e 및 1209e 내지 1219e"로 나타낸 바와 같이, 이브가 앨리스에 의해 수행된 과정을 그대로 따라 하면, a i b i 가 오류 정정 후에 정확히 매칭되는 대부분의 경우에 있어, 결과적으로 e i b i 간의 오류가 증가하는 경향이 있게 된다.
또한, 패리티 비트들의 수가 시퀀스 값들에서의 비트들의 수보다 작으므로, 이브가 전송된 패리티 비트들로부터 b i 의 값들을 명백하게 식별할 수가 없는데, 그 이유는 패리티 비트들의 각각의 고유 집합에 다수의 상이한 시퀀스 값들이 맵핑되어 있기 때문이다.
도 12에 도시된 절차는 본 발명의 실시예들에서 사용될 수 있는 오류 정정 절차의 일례에 불과하다는 것을 이해하여야 할 것이다. 예컨대, 도 12에 도시된 오류 정정 절차는 앨리스와 밥이 그들 각각의 시퀀스들 간의 상관도를 증가시키게 하면서도 이브가 자신의 시퀀스와 앨리스의 시퀀스 및 밥의 시퀀스 중의 어느 것 간의 상관도를 적어도 동일한 정도로 증가시키는 것을 하지 못하게 하는 임의의 적절한 절차로 대체될 수도 있다.
예컨대, 본 발명의 실시예들에서 사용될 수 있는 여러 오류 정정 절차들은 제1 당사자(예컨대, 밥)가 임의의 적절한 오류 정정 정보(예컨대, 임의의 적절한 시스템 오류 정정 코딩 방식의 오류 정정 정보)를 제2 당사자(예컨대, 앨리스)에게 전송하는 것을 포함하는데, 이때 오류 정정 정보는 제1 당사자의 시퀀스에서의 값을 기반으로 하여 생성된다. 이어서, 제2 당사자가 수신된 오류 정정 정보를 제2 당사자의 시퀀스에서의 대응 값에 적용한다. 특정의 실시예들에서는, 앨리스와 밥의 역할이 바뀔 수도 있다.
오류 정정 절차를 적용함으로써, 제1 당사자와 제2 당사자의 각각의 시퀀스들에서의 대응 쌍의 값들 간의 차이를 감소시킬(0으로 감소시킬 가능성도 있음) 확률이 0이 아니게 된다. 제1 당사자와 제2 당사자의 각각의 시퀀스들에서 의 각각의 값에 오류 정정을 적용함으로써, 제1 당사자와 제2 당사자의 시퀀스들이 더욱 높은 상관 관계로 될 확률이 0이 아니게 된다.
데이터 매칭 합치 스테이지
오류 정정 스테이지(505) 다음에는 우위 증류(advantage distillation) 스테이지로도 지칭할 수 있는 데이터 매칭 합치(data matching agreement) 스테이지가 이어진다. 도 14는 데이터 매칭 합치 스테이지(507)의 여러 단계들을 더욱 상세히 나타낸 흐름도이다.
본 스테이지는 앨리스와 밥이 오류 정정 스테이지 후에 자신의 각각의 시퀀스들 A B 간에 매칭되는 대응 값들 a i , b i 를 식별하게 하기 위한 것이다. 그것은 앨리스와 밥이 자신의 시퀀스들로부터 높은 상관 관계에 있는 값들의 부분 집합을 추출하게 하는 한편, 나머지 낮은 상관 관계의 값들을 폐기하게 하는 것이다. 도 14에 도시된 바와 같이, 데이터 시퀀스들 A B 에서의 각각의 쌍의 대응 값들 a i , b i 에 대해 다음의 방법 단계들을 반복적으로 수행한다. 제1 단계(1401)에서, 앨리스의 장치(401)의 프로세서(413)가 랜덤 m 비트 이진 값(v로 표시된)을 생성한다. 다음 단계(1403)에서, 앨리스의 장치(401)의 프로세서(413)가 새로운 m 비트 이진 값
Figure pct00086
를 계산하는데, 여기서 는 비트 단위 모듈로-2 덧셈을 나타낸다. 다음 단계(1205)에서, 앨리스의 장치(401)의 송신부(407)가 값
Figure pct00087
를 전송한다.
다음 단계(1407)에서, 밥의 장치(415)의 수신부(421)가 앨리스의 장치(401)에 의해 전송된 값
Figure pct00088
를 수신한다. 다음 단계(1409)에서, 밥의 장치(415)의 프로세서(425)가 새로운 m 비트 이진 값
Figure pct00089
를 계산한다. 이때, 앨리스와 밥의 데이터 값들이 매칭되면(즉, a i = b i 이면),
Figure pct00090
이다.
Figure pct00091
인지 여부를 확인하기 위해, 다음 단계(1411)에서, 밥의 장치(415)의 프로세서(425)가 미리 정해진 해싱 알고리즘
Figure pct00092
를 사용하여 값
Figure pct00093
로부터 p 비트 해시 값
Figure pct00094
를 계산하는데, 여기서 p<m이다. 본 실시예에서는, 해시 값이 BCH 생성 행렬을 사용하여 생성된
Figure pct00095
에 대한 BCH 코드워드의 패리티 비트들을 포함한다. 예컨대, BCH 생성 행렬은 전술한 오류 정정 스테이지에서 사용된 것과 동일한 것일 수 있다. 다른 실시예에서는, m 비트 입력 값으로부터 p 비트 출력 값을 계산하기 위한 임의의 다른 적절한 함수(여기서, p<m임)를 사용할 수도 있다. 다음 단계(1413)에서, 밥의 장치(415)의 송신부(419)가 해시 값
Figure pct00096
를 전송한다.
다음 단계(1415)에서, 앨리스의 장치(401)의 수신부(409)가 밥의 장치(415)에 의해 전송된 해시 값
Figure pct00097
를 수신한다. 다음 단계(1417)에서, 앨리스의 장치(401)의 프로세서(413)가 밥의 장치(415)에 의해 사용된 것과 동일한 해싱 알고리즘을 사용하여 값 v로부터 p 비트 해시 값 H( v i )를 계산한다. 다음 단계(1419)에서, 앨리스의 장치(401)의 프로세서(413)가 앨리스의 장치(401)의 프로세서(413)에 의해 계산된 해시 값 H( v i )와 밥으로부터 수신된 해시 값
Figure pct00098
를 비교한다. 다음 단계에서, 앨리스의 장치(401)의 프로세서(413)가 해시 값들 간의 매치를 결정하면,
Figure pct00099
인 것으로 가정되고, 앨리스의 장치(401)의 송신부(407)가
Figure pct00100
인지 여부를 지시하는, 그에 따라 a i = b i 인지 여부를 지시하는 신호를 전송한다(1421).
도 14에 도시된 실시예에서는, 확인 신호가 매치의 존재 여부와 상관없이 매 반복 시마다 전송되고 "매치" 아니면 "매치 없음(no match)"을 지시하는 매치 플래그 신호를 포함한다. 다른 실시예에서는, 매치가 존재할 경우에만 확인 신호가 전송된다. 그 경우, 확인 신호의 수신은 매치를 지시하는 반면에, 확인의 수신 실패는 매치 없음을 지시할 수 있다.
다음 단계(1423)에서, 수신된(1425b) 확인 신호에 따라, 앨리스의 장치의 프로세서가 a i 를 간직하거나 폐기하고, 밥의 장치의 프로세서가 b i 를 간직하거나 폐기한다. 특히, 확인 신호가 a i = b i 를 지시하면, 앨리스의 장치(401)의 메모리(405)가 값 a i (= b i )를 저장하고, 밥의 장치(415)의 메모리(417)가 값 b i (= a i )를 저장한다. 다른 한편으로, 확인 신호가
Figure pct00101
를 지시하면, 앨리스의 장치(401)와 밥의 장치(415)가 값들 a i b i 를 폐기한다.
다음 단계(1427)에서, 아직 처리하여야 할 A B 에서의 어떤 값들이 남아 있으면(즉, i<l이면), 다음 쌍의 대응 값들 a i +1 , b i +1 간에 상기 과정을 수행한다.
대안적 실시예에 있어서, 상기 데이터 매칭 합치 절차에서 앨리스와 밥의 역할이 바뀔 수도 있다.
데이터 매칭 합치 스테이지 동안, 시퀀스들 A B 는 원래의 값들 중의 일부의 폐기로 인해 그 길이가 길이 l로부터 길이 l 0<l로 감소하게 된다. 그러나 앨리스의 시퀀스와 밥의 시퀀스는 더욱 높은 상관 관계에 있게 되는 반면에, 이브의 시퀀스와 앨리스의 시퀀스 및 밥의 시퀀스 모두 간의 상관도는 감소하게 된다.
전술한 과정에서, 이브가 앨리스와 밥 간의 통신 링크를 도청하여 앨리스에 의해 전송된 값
Figure pct00102
밥에 의해 전송된 해시 값
Figure pct00103
, 및 앨리스에 의해 전송된 확인 신호를 포함하는, 그 과정 중에 전송된 특정의 값들을 얻을 수도 있다. 그러나 그 값들 중에서 이브가 유용 정보를 얻을 수 있게 하는 것은 하나도 없다.
예컨대, 값
Figure pct00104
를 생성하는데 사용되는 값 v가 완전히 랜덤하고 앨리스에 의해 비밀로 유지된다고 가정하면,
Figure pct00105
를 안다고 해도 이브에게 값 a i 에 관한 어떠한 정보도 제공되지 않게 된다. 또한, 해시 함수
Figure pct00106
에 의해 생성된 해시 값들에서의 비트들의 수가 해시 값들이 생성된 데이터 값들에서의 비트들의 수보다 작으므로, 그것은 해시 함수
Figure pct00107
가 각각의 고유 해시 값에 다수의 데이터 값들을 맵핑한다는 것을 의미한다. 따라서 이브가 해시 값
Figure pct00108
를 사용하여 특정의 데이터 값
Figure pct00109
를 신뢰성 있게 결정할 수가 없다. 또한, 확인 신호들이 이브로 하여금 앨리스와 밥이 매치를 결정한 시퀀스들 A B 에서의 위치들을 결정할 수 있게 할지라도, 그 시퀀스 위치들에서의 실제 데이터 값들 a i , b i 가 여전히 이브에게 알려지지 않은 채로 남게 되는데, 그 이유는 그 위치들에서의 이브의 대응 데이터 값들 e i 가 일반적으로 앨리스와 밥의 데이터 값들 a i , b i 와는 상이하기 때문이다.
전술한 과정에서, 해시 값들 H( v i )와
Figure pct00110
가 매칭되면,
Figure pct00111
이고, 따라서 a i = b i 인 것으로 가정된다. 그러나 앞서 언급한 바와 같이, 해시 함수
Figure pct00112
에 의해 생성된 해시 값들에서의 비트들의 수가 해시 값들이 생성된 데이터 값들에서의 비트들의 수보다 작으므로, 그것은 해시 함수
Figure pct00113
가 각각의 고유 해시 값에 다수의 데이터 값들을 맵핑한다는 것을 의미한다. 그것은 곧
Figure pct00114
v가(따라서 a i b i 가) 상이하더라도 H( v i )와
Figure pct00115
가 매칭되는 것이 가능하다는 것을 의미한다. 따라서 데이터 매칭 합치 스테이지를 수행한 후에는, 시퀀스들 A B 간에 매칭되는 대응 값들의 수가 증가할지라도, 정확히 매칭되지 않는 일부 대응 값들이 여전히 있을 수 있다.
도시된 실시예에서는, 앨리스와 밥이 확인 신호에 따라 a i b i 를 간직하거나 폐기한다. 대안적 실시예에서는, 앨리스와 밥이 확인 신호와는 무관하게 a i b i 를 폐기한다. 그러나 그 경우에 확인 신호가 a i = b i 를 지시하면, 앨리스와 밥은 대신에 값 v를 간직한다. 그 값은 앨리스에게는 알려져 있고, 밥은 값 b i (매치의 경우에는, a i 와 같은)와 함께 수신 값 를 사용하여 그 값을 계산할 수 있다. 환언하면, 앨리스와 밥은 원래의 값들이 매칭될 경우에는 원래의 값들 a i b i 를 각각의 랜덤 값들 v로 대체할 수 있다(그 경우, 값들은 여전히 a i b i 로 표시될 수 있음). 일부 실시예들에 있어서, 데이터 매칭 절차의 임의의 반복들을 포함하는 후속 스테이지들에서 필요한 랜덤 값들로서 또는 그를 대신하여 a i b i 의 폐기된 값들을 사용할 수도 있다.
따라서 그 경우, 시퀀스들 A B 에서의 매칭 값들을 사용하여 공유 비밀 정보를 도출하기는 하지만(예컨대, 상기 예에서 매칭되는 값들을 알면 비밀 정보를 형성하는 랜덤 값들을 도출할 수 있음), 공유 비밀 정보가 시퀀스들 A B 로부터 직접 추출되는 것이 아니라, 상이한 데이터 집합(예컨대, 랜덤 값들의 시퀀스)으로부터 추출된다는 것을 알 수 있다. 본 발명은 공유 비밀 정보를 시퀀스들 A B (또는 그 부분 집합)로부터 직접 추출하거나 도출하는 기법들을 포함하지만, 공유 비밀 정보를 상이한 데이터 집합(또는 그부분 집합)으로부터 추출하거나 도출하는 기법들도 또한 포함한다는 것을 이해하여야 할 것이다.
도 15에 도시된 절차는 본 발명의 실시예에서 사용될 수 있는 데이터 매칭 절차의 일례에 불과하다는 것을 이해하여야 할 것이다. 예컨대, 도 15에 도시된 데이터 매칭 절차는 앨리스와 밥이 각자의 값들 ab를 알지만 상대방의 값들을 알지 못하는 경우,
Figure pct00117
일 때에 이브가
Figure pct00118
를 알게 되는 일이 없이 앨리스와 밥이 각각 일정 레벨 이상의 확률로
Figure pct00119
가 되게 하는 각각의 값들
Figure pct00120
를 결정할 수 있도록 하는 임의의 적절한 절차로 대체될 수도 있다.
도 16a, 도 16b, 및 도 16c는 본 발명의 실시예들에서 사용될 수 있는 데이터 매칭 절차들의 여러 예들을 도시하고 있다.
도 16a에 도시된 예에 있어서, 제1 단계(1601)에서, 앨리스가 a의 함수인 값
Figure pct00121
를 계산한다. 다음 단계(1603)에서, 앨리스가 값 T를 밥에게 전송한다. 함수
Figure pct00122
은 이브가 통신을 가로채어 T를 알아내더라도 a를 완전히 알게 되지 못하도록
Figure pct00123
(a)의 값으로부터 a의 값을 신뢰성 있게 도출할 수 없게끔 선택된다. 예컨대, 함수
Figure pct00124
은 보안 암호화 함수(security encryption function), 마스킹 함수(masking function), 또는 해시 함수를 포함할 수 있다. 다음 단계(1605)에서, 밥이 T 또는 T로부터 도출된 값을 b 또는 b로부터 도출된 값과 비교한다. 예컨대, 밥은 T
Figure pct00125
(b)와 비교하거나
Figure pct00126
b와 비교할 수 있는데, 여기서
Figure pct00127
Figure pct00128
의 역함수를 나타낸다. 예컨대,
Figure pct00129
이 해시 함수인 경우에는, 밥이 b로부터 해시 값을 계산하여 자신의 해시 값을 앨리스로부터 수신된 해시 값과 비교한다. 대안적으로, 상기 단계(1605)에서, 밥이 값
Figure pct00130
(T,b)를 계산하여 그 결과를 미리 정해진 값과 비교한다. 예컨대, 밥은
Figure pct00131
를 0과 비교할 수 있다. 다음 단계(1607)에서, 밥이 비교 결과에 따라 매치 또는 매치 없음을 지시하는 메시지를 앨리스에게 전송한다. 예컨대, 메시지는 1 비트 플래그를 포함할 수 있다. 앨리스와 밥은 매치를 지시하는 메시지가 전송되는 경우에만 자신의 각각의 값들 a b를 간직한다.
도 16b에 도시된 예에 있어서, 제1 단계(1651)에서, 앨리스가 a의 함수인 값
Figure pct00132
를 계산한다. 다음 단계(1653)에서, 앨리스가 값 T 1을 밥에게 전송한다. 다음 단계(1655)에서, 밥이 값
Figure pct00133
를 계산한다. 다음 단계(1657)에서, 밥이 값 T 2를 앨리스에게 전송한다. 다음 단계(1659)에서, 앨리스가 T 2를 미리 정해진 값과 비교한다. 다음 단계(1661)에서, 앨리스가 비교 결과에 따라 매치 또는 매치 없음을 지시하는 메시지(예컨대, 1 비트 플래그)를 밥에게 전송한다. 앨리스와 밥은 매치를 지시하는 메시지가 전송되는 경우에만 자신의 각각의 값들 a b를 간직한다. 함수
Figure pct00134
Figure pct00135
(a)의 값으로부터 a의 값을 신뢰성 있게 도출할 수 없도록 선택되는 한편, 함수
Figure pct00136
Figure pct00137
(T 1, b)로부터 b의 값을 신뢰성 있게 도출할 수 없도록 선택된다. 또한, 함수들
Figure pct00138
Figure pct00139
a=b이면 T 2의 값이 적어도 b와는 독립적으로 되고, 일부 예들에서는 a와도 독립적으로 되도록 선택될 수 있다. 특정의 일례에서는,
Figure pct00140
인데, 여기서 r은 예컨대 앨리스에 의해 생성되고 적어도 처음에는 앨리스에게만 알려져 있는 난수이고,
Figure pct00141
는 모듈로-2 덧셈을 나타낸다. 또한,
Figure pct00142
인데, 여기서 H는 해시 함수 또는 출력 값으로부터 입력 값을 신뢰성 있게 도출할 수 없도록 입력 값으로부터 출력 값을 계산하는 임의의 다른 적절한 함수이다. 본 예에서는, T 2를 수신하면, 앨리스가 T 2를 H(r)(본 예에서, 미리 정해진 값에 해당함)과 비교한다.
도 16c에 도시된 예에 있어서, 제1 단계(1671)에서, 앨리스가 a의 함수인 값
Figure pct00143
를 계산한다. 다음 단계(1673)에서, 앨리스가 값 T 1을 밥에게 전송한다. 상기 단계(1673)에서 또는 별개의 단계에서, 앨리스가 또한 미리 정해진 값을 밥에게 전송한다. 다음 단계(1675)에서, 밥이 값
Figure pct00144
를 계산한다. 다음 단계(1677)에서, 밥이 값 T 2를 앨리스로부터 수신된 미리 정해진 값과 비교한다. 다음 단계(1679)에서, 밥이 비교 결과에 따라 매치 또는 매치 없음을 지시하는 메시지(예컨대, 1 비트 플래그)를 앨리스에게 전송한다. 앨리스와 밥은 매치를 지시하는 메시지가 전송되는 경우에만 자신의 각각의 값들 a b를 간직한다. 함수
Figure pct00145
Figure pct00146
(a)의 값으로부터 a의 값을 신뢰성 있게 도출할 수 없도록 선택된다. 특정의 일례에서는,
Figure pct00147
인데, 여기서 r은 난수이고, 앨리스에 의해 전송되는 미리 정해진 값은 H(r)이다. 또한,
Figure pct00148
인데, 여기서 H는 해시 함수 또는 출력 값으로부터 입력 값을 신뢰성 있게 도출할 수 없도록 입력 값으로부터 출력 값을 계산하는 임의의 다른 적절한 함수이다.
도 16a, 도 16b, 및 도 16c에 도시된 절차들은 값들의 쌍들의 시퀀스에서의 각각의 쌍의 값들 a i , b i (i=0, 1, 2, …)에 대해 반복될 수 있다.
도 17은 본 발명의 실시예들에서 사용될 수 있는 데이터 매칭 절차의 또 다른 예를 도시하고 있다. 본 예에서, a b는 그 길이가 2 비트인데, a의 개개의 비트들은 a 1a 2로 표시될 수 있는 한편, b의 개개의 비트들은 b 1b 2로 표시될 수 있다. 앨리스와 밥의 값들의 길이가 2 비트보다 크면, 그 값들은 2 비트 부분들로 분할될 수 있다.
제1 단계(1701)에서, 앨리스가 1 비트 랜덤 값 v를 생성한다. 다음 단계(1703)에서, 앨리스가 2 비트 값 m을 계산하는데, 이때 m의 개개의 비트들은 m 1m 2로 표시될 수 있고,
Figure pct00149
로서 계산되며, 여기서
Figure pct00150
는 모듈로-2 덧셈을 나타낸다. 다음 단계(1705)에서, 앨리스가 값 m을 밥에게 전송한다. 다음 단계(1707)에서, 밥이 2 비트 값
Figure pct00151
를 계산하는데, 이때
Figure pct00152
의 개개의 비트들은
Figure pct00153
로 표시될 수 있고,
Figure pct00154
로서 계산된다. 다음 단계(1709)에서, 밥이 값
Figure pct00155
를 계산한다. a=b이면(즉, a 1=b 1이고 a 2=b 2이면),
Figure pct00156
인 것을 알 수 있다. 다음 단계(1711)에서, 밥이
Figure pct00157
의 값을 앨리스에게 전송한다. 다음 단계(1713)에서, 전송 값
Figure pct00158
=0이면, 앨리스와 밥이 자신의 각각의 값들 a b를 간직하고, 그렇지 않으면 자신의 각각의 값들 a b를 폐기한다.
전술한 예에서는, 상기 단계(1713)에서, 앨리스와 밥이
Figure pct00159
의 전송 값에 의존하여 자신의 각각의 값들 a b를 간직하거나 폐기한다. 대안적 실시예에서는, 상기 단계(1713)에서, 전송 값
Figure pct00160
=0이면, 앨리스가 값 v를 대신 간직하고, 밥이 값
Figure pct00161
를 대신 간직하며, 그렇지 않으면 값들을 폐기한다. 환언하면,
Figure pct00162
이면, 앨리스와 밥이 자신의 각각의 원래 값들 a bv로 대체한다. 값 v는 그 길이가 단지 1 비트인 반면에, 값들 a b는 그 길이가 2 비트이므로, 그것은 데이터의 크기가 2배만큼 감소하는 결과를 가져온다.
전술한 절차들은 값들의 쌍들의 시퀀스에서의 각각의 쌍의 값들 a (i) , b (i) (i=0, 1, 2, …)에 대해 반복될 수 있다.
전술한 예에서는, 비록 일부 경우에는 a≠b(예컨대, a 1b 1이고 a 2b 2)이더라도
Figure pct00163
이 되기는 하지만,
Figure pct00164
이면 a=b인 것으로 가정된다. 그러나
Figure pct00165
이면 a=b일 확률은 0이 아니지만,
Figure pct00166
이면 a=b일 확률은 0이므로, 앨리브와 밥은
Figure pct00167
일 때에 값들 a b를 간직하고 그렇지 않으면 값들을 폐기함으로써 그들의 정보 오버랩을 증가시킨다. 특히, 본 절차 후에 앨리스와 밥의 각각의 값들(간직한)이 매치될 앨리스와 밥의 확실성이 본 절차 전에 그들의 각각의 원래의 값들이 매칭될 확실성보다 더 높게 된다.
따라서 상세히 후술하는 바와 같이, 전술한 데이터 매칭 절차를 반복함으로써(예컨대, 이전 패스(pass)에서 간직된 값들의 시퀀스를 사용하여 절차를 반복함으로써), 앨리스와 밥이 그들의 정보 오버랩을 어떤 원하는 임의의 레벨로 증가시키는 것이 가능하다. 예컨대, 값들의 쌍들의 시퀀스들에서의 각각의 쌍의 값들 a (i) , b (i) 에 대해 전술한 절차의 개개의 패스가 완료되면, 간직한 값들로부터 형성되는 결과적인 비트 스트림들을 2 비트들의 그룹들로 분할하여 또 다른 패스에 대해 절차를 반복할 수 있다. 일부 실시예들에서는, 이전 패스에서의 a (i) , b (i) 의 값들을 다음 패스에서의 랜덤 값 v로서 사용할 수도 있다.
도 18은 본 발명의 실시예들에서 사용될 수 있는 데이터 매칭 절차의 또 다른 예를 도시하고 있다. 제1 단계(1801)에서, 앨리스가 랜덤 값 v를 생성한다. 다음 단계(1803)에서, 앨리스가 앨리스의 값 a를 사용하여 랜덤 값 v를 마스킹(mask)한다. 마스킹은 예컨대 비트 단위 모듈로-2 덧셈 연산을 사용하여 수행될 수 있다. 다음 단계(1805)에서, 앨리스가 마스킹된 값을 밥에게 전송한다. 다음 단계(1807)에서, 밥이 마스킹된 수신 값을 밥의 값 b를 사용하여 디마스킹(de-mask)하려고 시도한다. 디마스킹은 예컨대 비트 단위 모듈로-2 덧셈 연산을 사용하여 수행될 수 있다. 다음 단계(1809)에서, 앨리스와 밥이 하나 이상의 메시지들을 교환하여 해시 비교 절차(hash comparison procedure)를 수행한다. 예컨대, 해시 비교 절차는 앨리스와 밥 중의 일방 또는 양방이 하나 이상의 해시 값들을 생성하는 단계; 생성된 해시 값들 중의 하나 이상을 앨리스와 밥 간에 전송하는 단계; 및 앨리스와 밥 중의 일방 또는 양방이 해시 값들 사용하여 비교를 수행하는 단계를 포함한다. 해시 비교 절차는 공개적으로 수행될 수 있다. 즉, 절차의 일부로서 앨리스와 밥 간에 전송되는 메시지들을 이브가 가로챌 수 있다. 다음 단계(1811)에서, 앨리스와 밥이 해시 비교 절차의 결과에 따라 자신의 각각의 값들 a b를 수용하거나 폐기한다. 다음 단계에서, 다음 쌍의 값들 a b에 대해 전체 절차를 반복한다.
전술한 바로부터 이해할 수 있는 바와 같이, 본 발명의 실시예들에서는 광범위한 갖가지 데이터 매칭 알고리즘들이 사용될 수 있다. 특정의 실시예들에서의 데이터 매칭 알고리즘은 임의의 적절한 조정 및 역 조정 프로토콜을 포함할 수 있다는 것을 이해하여야 할 것이다.
본 실시예에서는, 앨리스와 밥 간의 정보 오버랩을 증가시키면서도 이브와 앨리스.밥 간의 정보 오버랩을 감소시키기 위해, 또 다른 스테이지들이 수행될 수 있다. 그러나 일부 적용들에 있어서는, 데이터 매칭 합치 스테이지의 종료 시에 앨리스와 밥이 얻은 시퀀스들이 충분히 매칭될 수 있고, 충분히 비밀스럽게 될 수 있다. 따라서 일부 실시예들에서는, 데이터 매칭 합치 스테이지 후에 프로토콜이 종료하고, 시퀀스들 A B 가 공유 비밀 정보로서 사용될 수 있다. 대안적으로, 다음 스테이지들 중의 하나 이상이 선택적으로 수행될 수도 있다.
일부 실시예들에서는, 오류 정정 스테이지 및/또는 데이터 매칭 합치 스테이지가 한 번 이상 반복될 수 있다. 일부 실시예들에서는, 그 스테이지들이 동일한 절차 또는 알고리즘을 사용하여 반복될 수 있다. 그러나 다른 실시예들에서는, 스테이지들이 반복될 때에 하나 이상의 상이한 절차들 또는 알고리즘들이 적용될 수 있다.
제1 비익성 증강 스테이지
데이터 매칭 합치 스테이지(507) 다음에는 이브와 앨리스/밥 간의 정보 오버랩을 더욱 감소시키기 위한 제1 비익성 증강(privacy amplification) 스테이지(509)가 이어진다. 이브와 앨리스/밥 간의 잠재적 정보 오버랩은 데이터 매칭 합치 스테이지 중에 앨리스와 밥과 이브의 3자 모두 간에 매칭되는 상대적으로 적은 수의 대응 시퀀스 값들이 있을 수 있다는 사실로부터 비롯된다. 또한, 이브가 p 비트 해시 값들
Figure pct00168
를 사용하여 정확한 데이터 값
Figure pct00169
를 신뢰성 있게 결정할 수는 없지만, 그 해시 값
Figure pct00170
은 여전히 이브에게 얼마간의 정보를 제공하는데, 그 정보는 그것이 프로토콜에 걸쳐 축적되면 잠재적으로 이브에게 m 비트의 값들 b i
Figure pct00171
에 대한 정보 중의 p 비트들을 제공하게 된다.
따라서 비밀성을 한층 강화시키고 E A / B 간의 상관도를 감소시키기 위해, 본 실시예에서는 앨리스와 밥이 각각의 시퀀스들 A B 의 슬라이스들의 오직 하나의 부분 집합만을 간직한다. 예컨대, 시퀀스 슬라이스들의 상관도가 각각의 슬라이스에 있어 상이하므로, 특정의 실시예들에서는 가장 낮은 상관도를 갖는 슬라이스들의 부분 집합만을 간직할 수 있다. 본 실시예에서는, 앨리스와 밥이 A B p개의 가장 높은 번호의 슬라이스들(p개의 최하위 비트들과 대응하는)만을 간직한다. 따라서 시퀀스들 A B 에서의 l 0개의 각각의 값들 a i , b i 의 비트들의 수가 m으로부터 p로 감소한다. 본 실시에에서는, p=4의 값을 사용한다.
전술한 데이터 이산화 스테이지(503)가 수행되지 않은 경우에는, 제1 비익성 증강 스테이지(509)를 수행할 수 있게 하기 위해, 데이터 슬라이싱을 여전히 수행할 수 있다.
전술한 바와 같이, 시퀀스 B 의 각각의 슬라이스는 시퀀스 A 의 대응 슬라이스를 특정의 오류 확률(e로 표시된)로 제1 이진 대칭 채널을 통해 전송한 결과로서 볼 수 있다. 마찬가지로, 시퀀스 E 의 각각의 슬라이스는 시퀀스 A 의 대응 슬라이스를 특정의 오류 확률(d로 표시된)로 제2 이진 대칭 채널을 통해 전송한 결과로서 볼 수 있다. e 및 d의 값들은 각각의 슬라이스에 있어 상이할 수 있다.
앨리스와 밥 간의 채널의 비밀성 용량(secret capacity)은 이브가 해당 정보를 얻는 속도가 임의로 작게 하도록 앨리스가 밥에게 신뢰성 있게 정보를 전송할 수 있는 최대 속도이다. 전술한 바와 같은 앨리스와 밥 간의 이진 대칭 채널의 비밀성 용량은 아래의 수학식 9로 주어진다.
Figure pct00172
Figure pct00173
예컨대, 사용되는 데이터 슬라이싱 방식 및 존재하는 잡음의 레벨이 주어지면, 통신 시스템에서 수치 시뮬레이션을 사용하여 각각의 슬라이스에 대해 비밀성 용량을 분석하는 것이 가능하다. 16개의 슬라이스들이 사용되고, 이브가 산탄 잡음으로만 한정된 이상적인 검출기를 사용하며, 밥의 검출기가 상대적으로 높은 레벨의 잡음을 도입하는 통신 시스템에서는, 특정의 조건 하에서, 최상위 비트들과 대응하는 가장 낮은 번호들의 슬라이스들 및 가장 낮은 오류율을 갖는 슬라이스들에서 비밀성 용량이 가장 높은 것으로 관찰된다. 반면에, 최하위 비트들과 대응하는 가장 높은 번호들의 슬라이스들 및 가장 높은 오류율을 갖는 슬라이스들에서 비밀성 용량이 가장 낮을 수 있다.
따라서 일부 실시예들에서는, 그 중에서 가장 높은 비밀성 요량을 갖는 슬라이스들의 부분 집합을 간직할 수 있다. 예컨대, 16개의 슬라이스들을 사용할 경우, 시퀀스들 A B 의 각각의 값으로부터 제1 내지 제5 최상위 비트들의 단일 비트를 간직할 수 있다.
제1 비익성 증강 스테이지 후에, 시퀀스들 A B 에서의 l 0개의 각각의 값들 a i , b i 의 비트들의 수가 m으로부터 m 0로 감소하는데, 여기서 m 0는 각각의 값에서의 간직된 비트들의 수이다. 각각의 시퀀스들 A B 에서 결과적으로 생긴 비트들의 집합은 프로토콜의 다음 단계들을 위해 p 비트들의 순차 그룹들로 분할될 수 있다.
보안 강화 스테이지
제1 비익성 증강 스테이지(509) 다음에는 오류 감소 스테이지로도 지칭할 수 있는 보안 강화 스테이지(511)가 이어진다. 도 15는 보안 강화 스테이지(511)의 여러 단계들을 더욱 상세히 나타낸 흐름도이다.
본 스테이지는 제1 비익성 증강 스테이지 후에 앨리스와 밥이 얻은 시퀀스들 A B 의 보안을 강화하기 위한 것이다. 도시된 실시예에서, 보안 강화 스테이지의 단계들(1501 내지 1527)은 다음의 점들을 제외하면 데이터 매칭 합치 스테이지(507)의 단계들과 유사하다: (ⅰ) 처리되는 값들 a i , b i 이 길이에 있어 각각 m 비트가 아니라 p 비트이고, (ⅱ) 시퀀스들 A 및 B에서의 값들의 수가 l가 아니라 l 0이며, (ⅲ) 사용되는 랜덤 값 v가 길이에 있어 m 비트가 아니라 p 비트이고, (ⅳ) 해시 알고리즘
Figure pct00174
p 비트 입력 값으로부터 p 0 비트 해시 값을 생성하는데, 여기서 p 0<p이다. 본 실시예에서는, 해시 값들이 다항식 생성자 1+x 2+x 3로부터 생성된 BCH 생성 행렬 G를 사용하여 생성되는,
Figure pct00175
에 대한 BCH 코드워드의 패리티 비트들을 포함한다.
제2 비익성 증강 스테이지
보안 강화 스테이지(511) 다음에는 이브와 앨ㄹ리스밥 간의 정보 오버랩을 한층 더욱 감소시키기 위한 제2 비익성 증강 스테이지(513)가 이어진다.
본 스테이지에서는, 시퀀스들 A B 의 각각의 p 비트 값 a i , b i 를 각각의 값의 패리티로 대체한다. 값의 패리티는 그 값이 홀수의 1-비트들을 가지면 1로 결정되고, 그렇지 않으면 0으로 결정된다. 따라서 이브가 앨리스와 밥 간에 교환되는 해시 값들을 알고 있다고 할지라도, 이브는 해시 값을 생성하는데 사용된 정확한 값을 결정할 수 없게 된다. 그 이유는 해싱 함수
Figure pct00176
가 각각의 고유 p 0 비트 해시 값에 다수의 p 비트 값들을 맵핑하기 때문이다. 또한, 해싱 함수
Figure pct00177
가 적절히 선택될 경우, 각각의 p 0 비트 해시 값에 맵핑된 p 비트 데이터 값들이 상이한 패리티들을 가질 수 있다(즉, p 비트 데이터 값들이 홀수의 비트들에 있어 상이할 수 있음). 예컨대, 그것은 전술한 바와 같은 BCH 코드의 패리티 비트들을 사용하는 경우에 해당한다. 따라서 데이터 값의 패리티가 그 데이터 값의 해시 값으로부터 전혀 분명해지지 않게 된다. 따라서 각각의 데이터 값을 그것의 패리티로 대체함으로써, 이브와 앨리스/밥 간의 정보 오버랩이 매우 낮은 레벨로, 어쩌면 거의 0으로 감소할 수 있다.
스테이지 반복
전술한 보안 강화 스테이지(511) 및 제2 비익성 증강 스테이지(513)를 임의의 회수만큼 반복하여 A B 간의 오류를 반복적으로 감소시키고, 이브와 앨리스/밥 간의 정보 오버랩을 반복적으로 감소시킬 수 있다. 그 경우, 직전 반복에서 얻은 패리티 비트들을 다음 반복을 위해 p 비트들의 순차 그룹들로 분할한다. 마지막 반복에서 얻은 패리티 비트들의 시퀀스는 앨리스와 밥이 얻는 비밀 정보를 포함하는 최종 비트 스트림을 형성한다.
본 발명의 일부 실시에들에서는, 전술한 스테이지들 중의 하나 이상을 생략할 수도 있다. 그러나 그것은 전체적인 안전의 저하를 일으킬 수 있다.
시뮬레이션 결과
아래의 표 1은 전술한 프로토콜의 예시적 시뮬레이션에 걸쳐 상호 정보량 값들 I(A;B), I(A;E), I(B;E), LB=I(A;B)-I(A;E), 및 UB=I(A;B|E)가 어떻게 변하는지 보이고 있다. LB는 비밀 키 하한(secret key lower bounds)이고, UB는 정보 상한(information upper bound)이다. 행으로 구별한 초기 데이터는 데이터 이산화 스테이지(503)의 완료 시의 값들을 지시한다. 행으로 구별된 조정(Reconciliation)은 오류 정정(또는 조정) 스테이지(505)의 완료 시의 값들을 지시한다. 행으로 구별된 제1 및 제2, 및 제3 AD 라운드(round)들은 보안 강화 스테이지(511) 및 제2 비익성 증강 스테이지(513)의 순차적 반복들의 완료 시의 값들으 지시한다. 본 예에서, 초기 데이터는 각각 11 비트들의 15000개의 값들로 구성되어 총 165000 비트들을 이룬다.
그러한 결과들은 처음에 앨리스와 밥 간의 정보 오버랩이 실제로 밥과 이브 간의 정보 오버랩보다 낮다는 것을 보여주고 있다. 그러나 프로토콜이 진행됨에 따라, 앨리스와 밥 간의 정보 오버랩이 1(앨리스와 밥 간의 정확한 매치를 지시함)로 급속히 증가하는 반면에, 이브와 앨리스/밥 간의 정보 오버랩은 거의 0(앨리스와 밥이 완전한 비밀성을 달성한 것을 지시함)으로 급속히 감소한다. 프로토콜이 진행됨에 따라 특정의 값들 및 슬라이스들이 폐기됨으로 인해 비트들의 수가 감소한다.
I( A ; B ) I( A ; E ) I( B ; E ) LB UB 비트
초기
데이터
0.0433 0.0588 0.0440 -.0.015 0.025 16500
조정 0.0342 0.351 0.0347 -0.001 0.023 16500
제1
AD 라운드
0.186 8×10-5 8×10-8 0.186 0.186 6024
제2
AD 라운드
0.810 7×10-4 8×10-8 0.186 0.186 1658
제3
AD 라운드
1 2×10-4 2×10-4 0.999 0.999 520
공격
이하에서는, 이브가 앨리스와 밥 간에 공유되는 비밀 정보를 얻으려고 시도하는데 사용할 수 있는 다수의 도청 공격들을, 본 발명에 따른 프로토콜이 그 공격들에 얼마나 저항력이 있는지와 함께 논하기로 한다.
전술한 바와 같이, 앨리스와 밥 간의 통신 링크는 초기 데이터를 교환하는데 사용되는 사설 채널 및 고유 비밀 정보를 얻는데 필요한 이후의 시그널링을 수행하기 위한, 오류 정정된 인증 채널일 수 있는 공용 채널을 형성한다. 이브는 공용 채널과 사설 채널 모두에서 전송을 가로챌 수 있는 것으로 보지만, 전송을 조작하거나 다른 방식으로 방해하지는 않는다(즉, 이브는 소극적 도청자임). 예컨대, 자유 공간 마이크로파 채널을 채용하는 본 발명의 특정의 실시예들에서는, 전송을 가로채서 새로운 것을 재삽입하는 것이 실제로 가능하지 않을 수 있다. 그러나 그렇지 않은 경우라도, 본 발명의 실시예들은 여전히 안전하다.
다른 부류의 공격들에서, 이브는 신호들을 제거하거나 삽입하거나 변경함으로써 사설 채널(공용 채널이 아닌)에서 전송들을 조작하거나 방해할 수 있는 것으로 볼 수 있다(즉, 적극적 공격). 그러한 부류의 공격들의 예들은 "탬퍼링(tampering)" 및 "블라인딩(blinding)" 공격들을 포함한다. 본 발명에 따른 프로토콜은 그러한 공격들 및 다른 공격들에 대해 저항력이 있다.
탬퍼링 공격에서, 이브는 예컨대 선택된 심벌들(값들)의 전송을 삭제함으로써, 새로운 심벌들을 삽입함으로써, 또는 전체 메시지의 일부 또는 전부를 가로채서 변경된 인코딩으로 재전송함으로써 사설 채널 전송들을 조작할 수 있다. 이브는 또한 임의의 양의 잡음을 전송들에 도입할 수도 있다. 본 예에서는, 이브가 밥에게 전송되는 값들의 시퀀스를 알고 있지만, 앨리스에 의해 검출되는 시퀀스나 밥에 의해 검출되는 시퀀스를 그들의 검출 장치의 SNR에 의해 결정되는 정확도보다 더 좋게 알고 있지는 않은 것으로 가정한다.
전술한 프로토콜에서, 앨리스는 로컬로 N 비트 이진 값을 K 비트 이진 값에 맵핑하는 맵핑 함수
Figure pct00178
를 유효하게 생성한 것으로 볼 수 있는데, 여기서 K<N이다. 공격 시에, 이브는 N 비트 이진 값과 w 비트 이진 값을 결합하여 변경된 N 비트 이진 값을 생성하는 로컬 탬퍼링 함수
Figure pct00179
Figure pct00180
를 생성한다. 앨리스는 그리고 잠재적으로 이브는 Ke를 알고 있지만, 오직 이브만이 t를 알고 있다.
앨리스는 이브가 또한 가로채는 밥으로의 전송으로부터 도출한 값 x를 보유한다. 이브는 e(x)의 값을 알고, 훼손된 값 y=t(x,R)를 밥에게 전송하는데, 여기서 R은 밥의 검출기에 의해 부가되는 미지의 로컬 잡음 변수(및 모든 부가적인 미지의 전송 채널 잡음)이다. 이브가 x를 아는 것은 ee(x)를 안다는데 그 요체가 있다. 이브가 y를 아는 것은 ee(x) 및 t의 선택을 안다는데 그 요체가 있다. 이브는 R에 관해 모른다(상세히 후술하는 바와 같이, 이브는 R을 감안하지 않은 함수 t를 선택할 수도 있음, 그러한 타입의 공격을 블라인딩이라 함).
이브가 사용할 수 있는 한 가지 공격은 심벌들을 제거하거나 부가하는 것에 의한 신호 탬퍼링이다. 그러한 타입의 공격은 밥이 데이터의 랜덤 샘플을 앨리스에게 돌려보내면 검출될 수 있다. 상관 관계가 없는 데이터는 데이터 상관 맵을 자세히 보면 검출될 수 있는데, 그러한 데이터는 데이터 상관 맵에서 인코히런트(incoherent) 잡음으로 나타난다. 그러나 후술하는 바와 같이, 이브가 앨리스의 데이터 또는 밥의 데이터의 정확한 특성을 모르므로, 그러한 공격은 이브가 비밀 정보에 관해 아는 것을 증대시키기 않는다.
밥은 오류 정정 코드 C(y)를 생성하여 앨리스에게 전송하고, 앨리스는 그것을 예컨대 BCH 코드 xC(y)로 병합한다. 앨리스는 BCH 코드를 사용하여 x에 대한 q 비트(예컨대, 단일 비트) 정정을 대표하는 새로운 변수
Figure pct00181
를 생성한다. 그 경우, x=y이거나 xy 간에 단일 비트 차가 있는 경우에만
Figure pct00182
이다. 다른 모든 오류들은 앨리스와 밥 간의 차를 증가시킨다. 앨리스와 밥은 이브가 큰 충돌률(collision rate)(즉, y의 많은 상이한 값들이 동일한 C(y)를 생성함) 때문에 자신이 e, t, 또는 C(y)를 아는 것으로부터 y를 알게 될 수 없도록 자신들의 로컬 잡음(함수 e 및 오류율 R)을 선택하였다.
연속 변수 심벌들에 작은 시프트들을 부가하는(즉, 전송 신호의 섹션들을 선택적으로 증폭함으로써) 더욱 교묘한 공격에 의한 신호 탬퍼링은 데이터 이산화(예컨대, 데이터 슬라이싱) 스테이지에 새로운 비트 오류들을 도입하고, 전술한 바와 같이, 1 비트보다 큰 오류들은 실제로 앨리스와 밥 간의 차를 증가시킨다. 데이터 매칭 합치(우위 증류) 스테이지에서, 앨리스와 밥은 예컨대 가상 채널을 사용하여 자신의 데이터를 매치들을 찾아 필터링하여 랜덤 변수 및 교환되는 랜덤 변수의 유효성을 검사하기 위한 해시 값(예컨대, BCH 코드)을 교환한다. 앨리스와 밥에 의해 도입된 로컬 잡음은 이브에 의해 도입된 오류들의 위치를 랜덤화하는 작용을 하고, 그럼으로써 C(y)에 관한 이브의 정보를 제한한다. 증가한 단일 비트 오류들이 그 스테이지에서 폐기될 확률이 높기 때문에, 감소하는 데이터 속도에서 이브의 탬퍼링이 검출될 수 있다. 이브가 검출하는 것은 가능하지만, 이브에게 어떠한 정보도 주어지지 않는다.
이제 블라인딩 공격으로 눈을 돌리면, 이브는 새로운 신호 E 0=WX 0+R E 를 제작하는데, 여기서 W는 증폭 계수이고, R E 는 검출기 잡음을 시뮬레이션하기 위해 부가된 가우스 잡음이다. 본 공격은 밥이 자신의 종단에 검출기 잡음을 부가하고, 예컨대 매우 작은 입력 신호로 검출기를 동작함으로 인해 수신 데이터가 상당한 잡음 레벨을 갖는다는 사실에 의거하고 있다. 신호 증폭 계수 W
Figure pct00183
이 되도록 통상의 검출기 잡음보다 높은 레벨로 설정된다. 이브도 또한 데이터 슬라이싱 기능을 알고 있기 때문에, 이브는 실제로 밥과의 거의 완전한 오버랩에 도달할 수 있다. 그러면 이브는 R과 독립된 신호 함수 y=t(x)를 제작하였고, 밥의 신호를 정밀하게 매치하였을 수 있다.
본 발명의 프로토콜이 그러한 타입의 공격에 저항할 수 있는 적어도 2가지 방법들이 있다. 첫째, 앨리스는 밥이 매우 낮은 잡음으로 수신할 수 있는 신호를 전송한다. 밥은 2개의 검출기들을 사용한다. 제1 검출기는 미처리 신호를 검출하는데 사용되고, 제2 검출기는 밥의 검출기가 로컬 잡음을 부가할 수 있게 하는 감쇠 스테이지 후의 신호를 검출하는데 사용된다. 그리고 나서 밥은 오류 정정되고 신뢰할 수 있는 채널을 사용하여 미처리 데이터의 랜덤 선택을 앨리스에게 전송한다(또는 앨리스가 밥에게 초기 시드 데이터를 전송할 수도 있음). 둘째, 밥은 면밀하게 보정된 검출기를 사용하여 미리 정해진 로컬 SNR을 초과하는 신호를 계속해서 모니터할 수 있다.
본 발명의 실시예들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될 수 있다. 그러한 임의의 소프트웨어는 삭제 가능한지 또는 재기록 가능한지를 불문하고 예컨대 ROM 등의 저장 소자와 같은 휘발성 및 비휘발성 저장 장치의 형태로 또는 예컨대 RAM과 같은 메모리, 메모리 칩, 소자, 또는 집적 회로의 형태로 또는 예컨대 CD, DVD, 자기 디스크, 자기 테이프와 같은 광학적 또는 자기적으로 판독 가능한 매체에 저장될 수 있다는 것을 이해하여야 할 것이다.
저장 장치들 및 저장 매체들은 실행 시에 본 발명의 실시예들으 구현하는 명령어들을 포함하는 프로그램 또는 프로그램들을 저장하는데 적합한 기계 판독 가능 저장 장치의 실시예들이라는 것을 이해하여야 할 것이다. 따라서 실시예들은 본 명세서의 청구항들 중의 어느 하나에서 청구된 장치 또는 방법을 구현하는 코드를 포함하는 프로그램 및 그러한 프로그램을 저장하는 기계 판독 가능 저장 장치를 제공한다. 나아가, 그러한 프로그램들은 유무선 연결을 통해 전송되는 통신 신호와 같은 임의의 매체에 의해 전자적으로 전달될 수도 있고, 실시예들은 그들을 적절히 포괄한다.
본 발명을 그 특정의 예시적 실시예들을 참조하여 도시하고 설명하였지만, 당업자라면 첨부의 특허 청구 범위에 정의된 본 발명의 범위를 벗어남이 없이 본 발명에서 형태 및 세부사항의 다양한 변경들이 이뤄질 수 있다는 것을 이해할 것이다.

Claims (59)

  1. 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 방법으로서,
    상기 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 상기 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계;
    상기 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, N B 는 상기 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및
    상기 제1 당사자와 상기 제2 당사자가 각각의 시퀀스들 A B (여기서, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되,
    상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 방법.
  2. 제 1 항에 있어서, 상기 데이터 매칭 절차는
    상기 제1 당사자와 상기 제2 당사자 중의 적어도 하나가 하나 이상의 값들을 획득하도록(여기서, 획득된 값들 중의 적어도 하나는 a i 와 같거나 그로부터 도출되고, 획득된 값들 중의 적어도 하나는 b i 와 같거나 그로부터 도출됨) 상기 제1 당사자와 상기 제2 당사자 간에 하나 이상의 메시지들을 교환하는 단계; 및
    상기 제1 당사자와 상기 제2 당사자 중의 적어도 하나가 비교 연산을 비롯한 하나 이상의 수학 연산들을 수행하는 단계를 포함하되,
    비교 결과로부터 상기 값들 a i b i 의 매칭이 결정되는 방법.
  3. 제 1 항 또는 제 2 항에 있어서, 상기 데이터 매칭 절차는
    상기 제1 당사자와 상기 제2 당사자 중의 하나인 당사자 P가 상기 제1 당사자와 상기 제2 당사자 중의 다른 하나인 당사자 Q에게 값 T 1=
    Figure pct00184
    (p)(여기서, p는 당사자 P의 시퀀스에서의 값이고,
    Figure pct00185
    은 미리 정해진 함수임)를 전송하는 단계; 및
    당사자 QT 1 또는 T 1으로부터 도출된 값을 q(여기서, q는 시퀀스 위치가 p와 대응하는, 당사자 Q의 시퀀스에서의 값임) 또는 q로부터 도출된 값과 비교하는 단계를 당사자 P와 당사자 Q가 수행하는 것을 포함하는 방법.
  4. 제 3 항에 있어서, 상기 비교 단계는 T 1
    Figure pct00186
    (q)와 비교하는 것; 및
    Figure pct00187
    q와 비교하는(여기서,
    Figure pct00188
    Figure pct00189
    의 역함수임) 것 중의 적어도 하나를 포함하는 방법.
  5. 제 3 항 또는 제 4 항에 있어서,
    Figure pct00190
    은 해시 함수(hash function)인 방법.
  6. 제 1 항 또는 제 2 항에 있어서, 상기 데이터 매칭 절차는
    상기 제1 당사자와 상기 제2 당사자 중의 하나인 당사자 P가 상기 제1 당사자와 상기 제2 당사자 중의 다른 하나인 당사자 Q에게 값 T 1=
    Figure pct00191
    (p)(여기서, p는 당사자 P의 시퀀스에서의 값이고,
    Figure pct00192
    은 미리 정해진 함수임)를 전송하는 단계; 및
    당사자 Q가 값 T 2=
    Figure pct00193
    (T 1,q)(여기서,
    Figure pct00194
    는 미리 정해진 함수이고, q는 시퀀스 위치가 p와 대응하는, 당사자 Q의 시퀀스에서의 값임)를 계산하는 단계를 당사자 P와 당사자 Q가 수행하는 것을 포함하되,
    상기 비교 단계는 제1 당사자와 제2 당사자 중의 적어도 하나가 T 2를 미리 정해진 값과 비교하는 것을 포함하는 방법.
  7. 제 6 항에 있어서,
    Figure pct00195
    (여기서, r은 랜덤 값이고,
    Figure pct00196
    는 모듈로-2 덧셈을 나타냄)인 방법.
  8. 제 7항에 있어서, 당사자 P가 당사자 Q에게 값
    Figure pct00197
    (여기서, r는 미리 정해진 함수임)을 전송하는 단계를 더 포함하되,
    Figure pct00198
    이고, 상기 비교 단계는 당사자 QT 3H(T 2)와 비교하는 것을 포함하는 방법.
  9. 제 7 항에 있어서, 당사자 Q가 당사자 P에게 값
    Figure pct00199
    (여기서,
    Figure pct00200
    는 미리 정해진 함수임)을 전송하는 단계를 더 포함하되,
    상기 비교 단계는 당사자 PT 2와 비교하는 것을 포함하는 방법.
  10. 제 8 항 또는 제 9항에 있어서,
    Figure pct00202
    은 해시 함수인 방법.
  11. 제 1 항 또는 제 2 항에 있어서, 상기 데이터 매칭 절차는
    상기 제1 당사자와 상기 제2 당사자 중의 하나인 당사자 P가 비트 값
    Figure pct00203
    (여기서, p 1은 당사자 P의 시퀀스에서의 값 p의 제1 비트이고, r은 랜덤 비트이며,
    Figure pct00204
    는 모듈로-2 덧셈을 나타냄)을 계산하는 단계;
    당사자 P가 비트 값
    Figure pct00205
    (여기서, p 2p의 제2 비트임)을 계산하는 단계;
    당사자 P가 상기 제1 당사자와 상기 제2 당사자 중의 다른 하나인 당사자 Q 에게 비트 값들 m 1m 2를 전송하는 단계;
    당사자 Q가 비트 값
    Figure pct00206
    (여기서, q 1은 시퀀스 위치가 p와 대응하는, 당사자 Q의 시퀀스에서의 값 q의 비트들 중에서 비트 위치가 p 1과 대응하는 제1 비트임)을 계산하는 단계;
    당사자 Q가 비트 값
    Figure pct00207
    (여기서, q 2q의 비트들 중에서 비트 위치가 p 2와 대응하는 제2 비트임)을 계산하는 단계; 및
    Figure pct00208
    Figure pct00209
    를 0과 비교하는 단계를 당사자 P와 당사자 Q가 수행하는 것을 포함하는 방법.
  12. 제 1 항 또는 제 2항에 있어서, 상기 데이터 매칭 절차를 수행하는 단계는
    시퀀스들 A B 에서의 각각의 쌍의 대응하는 오류 처리 값들(error-processed values) a i , b i 에 대해,
    상기 제1 당사자와 상기 제2 당사자 중의 하나인 당사자 P가 자기 역산(self-inverse operation)을 사용하여 당사자 P와 대응하는 시퀀스 A / B 의 값 a i / b i 를 랜덤 값과 결합함으로써 제1 결합 값(combined value)을 생성하는 하위 단계(sub-step);
    당사자 P가 상기 제1 당사자와 상기 제2 당사자 중의 다른 하나인 당사자 Q에게 제1 결합 값을 전송하는 하위 단계;
    당사자 Q가 자기 역산을 사용하여 당사자 Q와 대응하는 시퀀스 B / A 의 값 b i / a i 를 랜덤 값과 결합함으로써 제2 결합 값을 생성하는 하위 단계;
    당사자 Q가 제 결합 값의 제1 해시 값을 생성하는 하위 단계;
    당사자 Q가 당사자 P에게 제1 해시 값을 전송하는 하위 단계;
    당사자 P가 랜덤 값의 제2 해시 값을 생성하는 하위 단계;
    당사자 P가 제1 해시 값과 제2 해시 값을 비교하는 하위 단계;
    당사자 P가 비교 결과에 따른 매치 신호를 전송하는 하위 단계; 및
    당사자 P와 당사자 Q가 시퀀스들 A B 에서 매치 신호에 의해 지시된 바의 매칭되는 값들만을 간직하는 하위 단계를 당사자 P와 당사자 Q가 수행하는 단계를 포함하는 방법.
  13. 제 12 항에 있어서, 상기 자기 역산은 모듈로-2 덧셈이고, 상기 랜덤 값은 값들 a i / b i 와 동일한 크기를 갖는 랜덤 이진 값인 방법.
  14. 제 12 항 또는 제 13 항에 있어서, 해시 값은 상기 해시 값이 계산되는 값보다 적은 비트들을 포함하는 방법.
  15. 선행 항들 중의 어느 한 항에 있어서, 상기 데이터 매칭 절차는 각각의 시퀀스들 A B 에서의 쌍들의 값들 a i , b i 와 각각 대응하는 랜덤 값들 r i 의 시퀀스를 사용하되, 상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들 a i , b i 와 대응하는 랜덤 값들을 기반으로 하는 방법.
  16. 선행 항들 중의 어느 한 항에 있어서, 상기 데이터 매칭 절차는 조정(reconciliation) 및 역 조정(reverse-reconciliation)을 포함하는 방법.
  17. 선행 항들 중의 어느 한 항에 있어서,
    시퀀스 X 를 신호로 인코딩하는 단계; 및
    신호를 전송하는 단계를 더 포함하는 방법.
  18. 제 17 항에 있어서, 시퀀스 X 의 값들은 제1 당사자가 전송하는 신호의 양자 상태들(quantum states)로 인코딩되는 방법.
  19. 제 17항 또는 제 18 항에 있어서, 시퀀스 X 의 값들은 신호의 진폭; 및 신호의 위상 중의 적어도 하나로 인코딩되는 방법.
  20. 제 17 항, 제 18 항, 또는 제 19 항에 있어서, 시퀀스 X 를 인코딩하는 신호는 마이크로파 신호인 방법.
  21. 제 17 항 내지 제 20 항 중의 어느 한 항에 있어서, 상기 인코딩된 신호는 제1 당사자에 의해 인코딩되어 전송되는 방법.
  22. 제 17 항 내지 제 20 항 중의 어느 한 항에 있어서, 상기 인코딩된 신호는 제1 당사자와 제2 당사자 이외의 당사자에 의해 인코딩되어 전송되는 방법.
  23. 제 17 항 내지 제 20 항 중의 어느 한 항에 있어서, 상기 제2 당사자가 시퀀스 B 를 얻는 단계는
    상기 제2 당사자가 인코딩된 신호를 수신하는 단계; 및
    상기 제2 당사자가 인코딩된 값들을 검출하는 단계를 포함하는 방법.
  24. 제 17 항 내지 제 23 항 중의 어느 한 항에 있어서, 상기 제1 당사자가 시퀀스 A 를 얻는 단계는
    상기 제1 당사자가 인코딩된 신호를 수신하는 단계; 및
    상기 제1 당사자가 인코딩된 값들을 검출하는 단계를 포함하는 방법.
  25. 선행 항들 중의 어느 한 항에 있어서, N B 는 상기 제2 당사자의 검출기와 관련된 검출기 잡음을 포함하고, N A 는 상기 제1 당사자의 검출기와 관련된 검출기 잡음을 포함하는 방법.
  26. 선행 항들 중의 어느 한 항에 있어서, 시퀀스 X 는 값들의 랜덤 시퀀스를 포함하는 방법.
  27. 제 26 항에 있어서, 시퀀스 X 는 가우스 분포 값들의 시퀀스를 포함하는 방법.
  28. 선행 항들 중의 어느 한 항에 있어서, 시퀀스 X 는 값들의 미리 정해진 시퀀스를 포함하는 방법.
  29. 선행 항들 중의 어느 한 항에 있어서, 시퀀스 X 의 값들은 연속 값들인 방법.
  30. 선행 항들 중의 어느 한 항에 있어서, 상기 제1 당사자와 상기 제2 당사자의 각자가 각각의 시퀀스들 A B 를 대응하는 이산 값 시퀀스들 A B 로 변환하는 단계를 더 포함하는 방법.
  31. 제 30 항에 있어서, 시퀀스들 A B 를 대응하는 이산 값 시퀀스들 A B 로 변환하는 단계는
    상기 제1 당사자와 제2 당사자의 각자가 시퀀스들 A B 에서의 각각의 연속 값 a i , b i 에 미리 정해진 이산화(discretisation) 연산을 적용하여 시퀀스들 A B 에서의 대응 이진 값을 구함으로써 A B 와 각각 대응하는 각각의 이진 값들의 시퀀스 A B 를 얻는 단계를 포함하되,
    상기 이산화 연산은 연속 값들의 범위들을 대응 이진 값들에 맵핑하는 방법.
  32. 제 30 항 또는 제 31 항에 있어서, 시퀀스들 A B 를 대응하는 이산 값 시퀀스들 A B 로 변환하는 단계는 데이터 슬라이싱(data slicing)을 포함하는 방법.
  33. 제 32 항에 있어서, 상기 데이터 슬라이싱은 다음의 식을 기반으로 하여 수행되고,
    Figure pct00210
    0
    Figure pct00211
    이면
    1 그렇지 않으면
    여기서, S i (x)는 연속 입력 값 x로부터 결과적으로 나오는 이진 값의 i번째 비트이고, n은 집합
    Figure pct00212
    로부터 선택되는 임의의 정수이며,
    Figure pct00213
    p개의 부분 범위(sub-range)들을 정의하는 p+1개의 정해진 구분자(separator) 값들이되,
    Figure pct00214
    인 방법.
  34. 선행 항들 중의 어느 한 항에 있어서, 상기 제1 당사자와 상기 제2 당사자가 시퀀스들 A B 간의 상관도를 증가시키기 위한 오류 정정 절차를 수행하는 단계를 더 포함하는 방법.
  35. 제 34 항에 있어서, 상기 오류 정정 절차를 수행하는 단계는 상기 제1 당사자와 상기 제2 당사자가 시퀀스들 A B 에서의 각각의 대응 쌍의 값들 a i , b i 간의 오류 정정 절차를 수행하는 단계를 포함하되,
    상기 오류 정정 절차는 미리 정해진 크기까지의 오류를 정정할 수 있는 방법.
  36. 제 35 항에 있어서, 상기 오류 정정 절차는 오류들의 수가 미리 정해진 크기 이하인 경우에는 대응 값들 a i , b i 간의 모든 오류들을 정정하고, 오류들의 수가 미리 정해진 크기보다 큰 경우에는 대응 값들 a i , b i 간의 오류를 증가시키는 경향이 있는 방법.
  37. 제 36 항에 있어서, 상기 미리 정해진 크기는 q 비트인 방법.
  38. 제 34 항 내지 제 37 항 중의 어느 한 항에 있어서, 상기 오류 정정 절차는 시퀀스들 A B 에서의 각각의 쌍의 대응 값들 a i , b i 에 대해,
    상기 제1 당사자와 상기 제2 당사자 중의 하나가 그 당사자와 대응하는 시퀀스 A / B 에서의 값 a i / b i 를 기반으로 하여 오류 정정 정보를 생성하고, 상기 제1 당사자와 상기 제2 당사자 중의 다른 하나의 당사자에게 오류 정정 정보를 전송하는 하위 단계; 및
    다른 하나의 당사자가 그 당사자와 대응하는 시퀀스 B / A 에서의 값 b i / a i 에 오류 정정 정보를 적용하는 하위 단계를 포함하는 방법.
  39. 제 38 항에 있어서, 상기 오류 정정 정보는 시스템 오류 정정 코드(systematic error correction code)의 오류 정정 비트들(error correction bits)을 포함하는 방법.
  40. 제 38 항 또는 제 39 항에 있어서, 상기 오류 정정 정보는 BCH 코드의 패리티 비트들(parity bits)을 포함하는 방법.
  41. 제 38 항, 제 39 항, 또는 제 40 항에 있어서, 상기 오류 정정 정보는 그 오류 정정 정보가 기반으로 하고 있는 값보다 적은 비트들을 포함하는 방법.
  42. 선행 항들 중의 어느 한 항에 있어서, 시퀀스들 A B 에서의 각각의 값 a i , b i 의 미리 정해진 비트 위치들에 있는 하나 이상의 비트들을 간직하고, 나머지 비트들을 폐기하는 단계를 더 포함하는 방법.
  43. 제 42 항에 있어서, 최저 상관도를 갖는 하나 이상의 비트들 및 최고 상관도를 갖는 하나 이상의 비트들을 간직하는 방법.
  44. 제 42 항 또는 제 43 항에 있어서, p개의 최하위 비트들(lowest significant bits)만을 또는 p개의 최상위 비트들(highest significant bits)만을 간직하는 방법.
  45. 제 42 항, 제 43 항, 또는 제 44 항에 있어서, 상기 간직한 비트들을 포함하는 값들 a i , b i 를 사용하여 상기 데이터 매칭 절차를 반복하는 단계를 더 포함하는 방법.
  46. 제 45 항에 있어서, 시퀀스 A B 에서의 각각의 값 a i , b i 를 그 각각의 값 a i , b i 로부터 도출된 패리티 값(parity value)으로 대체하는 단계를 더 포함하는 방법.
  47. 제 46 항에 있어서,
    각각의 시퀀스 A B 의 패리티 비트들을 p 비트들의 순차 그룹들(sequential groups)로 분할하여 새로운 값들 a i , b i 를 형성하는 단계; 및
    제 42 항 내지 제 46 항 중의 어느 한 항의 단계들을 반복하는 단계를 더 포함하는 방법.
  48. 선행 항들 중의 어느 한 항에 있어서, 상기 공유 비밀 정보로부터 비밀 키(secret key)를 생성하는 단계를 더 포함하는 방법.
  49. 선행 항들 중의 어느 한 항에 있어서, 상기 공유 비밀 정보는 금융 거래에서 사용되는 방법.
  50. 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는, 상기 제1 당사자를 위한 방법으로서,
    상기 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 상기 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및
    상기 제1 당사자가 상기 제1 당사자와 상기 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, B 는 상기 제2 당사자가 얻는 값들의 시퀀스 B = X + N B 이고, N B 는 상기 제2 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되,
    상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 방법.
  51. 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는, 상기 제2 당사자를 위한 방법으로서,
    상기 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, X 는 값들의 시퀀스이고, N B 는 상기 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및
    상기 제2 당사자가 상기 제1 당사자와 상기 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, A 는 상기 제1 당사자가 얻는 값들의 시퀀스 A = X + N A 이고, N A 는 상기 제1 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되,
    상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 방법.
  52. 실행 시에 선행 항들 중의 어느 한 항에 따른 방법을 구현하도록 구성된 명령들을 포함하는 컴퓨터 프로그램.
  53. 실행 시에 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 방법을 구현하도록 구성된 명령들을 포함하는 컴퓨터 프로그램으로서, 상기 방법은
    상기 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 상기 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계;
    상기 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, N B 는 상기 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 단계; 및
    상기 제1 당사자와 상기 제2 당사자가 각각의 시퀀스들 A B (여기서, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하는 단계를 포함하되,
    상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 컴퓨터 프로그램.
  54. 제 52 항 또는 제 53 항에 따른 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능 저장 장치.
  55. 제 1 항 내지 제 51 항 중의 어느 한 항에 따른 방법을 구현하는 장치.
  56. 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 장치로서,
    상기 제1 당사자가 값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 상기 제1 당사자와 관련된 랜덤 시퀀스임)를 얻기 위한 유닛; 및
    상기 제1 당사자가 상기 제1 당사자와 상기 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, B 는 상기 제2 당사자가 얻는 값들의 시퀀스 B = X + N B 이고, N B 는 상기 제2 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하기 위한 프로세서를 포함하되,
    상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 장치.
  57. 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 장치로서,
    상기 제2 당사자가 값들의 시퀀스 B = X + N B (여기서, X 는 값들의 시퀀스이고, N B 는 상기 제2 당사자와 관련된 랜덤 시퀀스임)를 얻기 위한 유닛; 및
    상기 제2 당사자가 상기 제1 당사자와 상기 제2 당사자 간에 메시지들을 교환하여 각각의 시퀀스들 A B (여기서, A 는 상기 제1 당사자가 얻는 값들의 시퀀스 A = X + N A 이고, N A 는 상기 제1 당사자와 관련된 랜덤 시퀀스이며, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하기 위한 프로세서를 포함하되,
    상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 장치.
  58. 제 56 항 또는 제 57 항에 따른 장치를 포함하는 위성.
  59. 제1 당사자와 제2 당사자가 공유 비밀 정보를 얻게 하는 시스템으로서,
    값들의 시퀀스 A = X + N A (여기서, X 는 값들의 시퀀스이고, N A 는 상기 제1 당사자와 관련된 랜덤 시퀀스임)를 얻는 상기 제1 당사자의 제1 장치; 및
    값들의 시퀀스 B = X + N B (여기서, N B 는 상기 제2 당사자와 관련된 랜덤 시퀀스임)를 얻는 상기 제2 당사자의 제2 장치를 포함하되,
    상기 제1 장치와 상기 제2 장치는 각각의 시퀀스들 A B (여기서, 시퀀스들 A B 는 시퀀스들 A B 와 같거나 그로부터 도출되거나 그를 사용하여 도출되는 이산 값 시퀀스(discrete-valued sequence)들임)에서 매칭되는 대응 쌍들의 값들 a i , b i 를 식별하는 데이터 매칭 절차를 수행하도록 구성되고,
    상기 공유 비밀 정보는 시퀀스들 A B 에서의 매칭 값들과 같거나 그로부터 도출되거나 그를 사용하여 도출되는 시스템.
KR20147036225A 2012-05-23 2013-05-23 보안 통신 KR20150031245A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB1209286.2A GB201209286D0 (en) 2012-05-23 2012-05-23 Secure communication
GB1209286.2 2012-05-23
GBGB1209308.4A GB201209308D0 (en) 2012-05-23 2012-05-23 Secure communication
GB1209308.4 2012-05-23
PCT/GB2013/051361 WO2013175224A1 (en) 2012-05-23 2013-05-23 Secure communication

Publications (1)

Publication Number Publication Date
KR20150031245A true KR20150031245A (ko) 2015-03-23

Family

ID=48534446

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20147036225A KR20150031245A (ko) 2012-05-23 2013-05-23 보안 통신

Country Status (7)

Country Link
US (1) US10009175B2 (ko)
EP (1) EP2859679B1 (ko)
JP (1) JP2015522998A (ko)
KR (1) KR20150031245A (ko)
CN (1) CN104412538B (ko)
AU (1) AU2013265020B2 (ko)
WO (1) WO2013175224A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190001165A (ko) 2017-06-26 2019-01-04 고려대학교 산학협력단 연속 변수 양자키 분배의 정보 조정을 위한 이진 비트키 추정 방법 및 장치

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9270448B2 (en) * 2014-03-11 2016-02-23 The Texas A&M University System Encryption key distribution system and method
US10171238B2 (en) 2014-04-09 2019-01-01 The Boeing Company Secure data transmission using quantum communication
US10756891B2 (en) * 2014-04-09 2020-08-25 The Boeing Company Secure data communication
EP3018840B1 (en) * 2014-11-10 2019-10-02 Université de Genève Apparatus and method for QKD quantum communication channel continuous synchronization and alignment
CN104917558B (zh) * 2015-06-19 2018-02-16 电子科技大学 基于波束成形和安全编码联合的无条件安全通信模型建立方法
US11149642B2 (en) 2015-12-30 2021-10-19 General Electric Company System and method of reducing post-shutdown engine temperatures
US20170330233A1 (en) 2016-05-13 2017-11-16 American Express Travel Related Services Company, Inc. Systems and methods for contextual services across platforms based on selectively shared information
CN105721428B (zh) * 2016-01-15 2018-11-16 成都信息工程大学 一种基于五粒子簇态的隐私比较方法
US9747790B1 (en) * 2016-02-12 2017-08-29 King Fahd University Of Petroleum And Minerals Method, device, and computer-readable medium for correcting at least one error in readings of electricity meters
US10333701B2 (en) * 2016-02-29 2019-06-25 The Board Of Trustees Of The University Of Illinois Reconfigurable free-space quantum cryptography system
RU2613845C1 (ru) * 2016-04-01 2017-03-21 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Способ формирования ключа шифрования/дешифрования
CN107347058B (zh) 2016-05-06 2021-07-23 阿里巴巴集团控股有限公司 数据加密方法、数据解密方法、装置及系统
CN107547197A (zh) * 2016-06-28 2018-01-05 成都鼎桥通信技术有限公司 语音帧解密结果的检测方法和装置
US10175949B2 (en) 2016-09-06 2019-01-08 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Data compiler for true random number generation and related methods
ES2729950T3 (es) * 2016-09-29 2019-11-07 Univ Picardie Protocolo de autenticación que usa una contraseña de un solo uso
CN106789035B (zh) * 2017-01-18 2021-04-27 北京邮电大学 一种用于连续变量量子密钥分发系统中的信噪比自适应数据协调方法
US10432730B1 (en) 2017-01-25 2019-10-01 United States Of America As Represented By The Secretary Of The Air Force Apparatus and method for bus protection
CN108667608B (zh) 2017-03-28 2021-07-27 阿里巴巴集团控股有限公司 数据密钥的保护方法、装置和系统
US10296477B2 (en) 2017-03-30 2019-05-21 United States of America as represented by the Secretary of the AirForce Data bus logger
CN108667773B (zh) 2017-03-30 2021-03-12 阿里巴巴集团控股有限公司 网络防护系统、方法、装置及服务器
CN106850217B (zh) * 2017-04-06 2019-06-14 山西大学 一种实现一维调制连续变量量子密钥分发方法
CN108736981A (zh) 2017-04-19 2018-11-02 阿里巴巴集团控股有限公司 一种无线投屏方法、装置及系统
CN109994115B (zh) 2018-01-03 2023-07-07 阿里巴巴集团控股有限公司 通讯方法及装置、数据处理方法及设备
CN108429616B (zh) * 2018-02-11 2020-10-30 陈柱 一种自有后量子密码分配系统
CN108599942B (zh) * 2018-05-03 2020-11-03 浙江工商大学 不带纠缠的测量-重发半量子隐私比较方法
WO2019220609A1 (ja) * 2018-05-18 2019-11-21 日本電気株式会社 異常検出装置、異常検出方法及びプログラム
CN108965344B (zh) * 2018-09-30 2020-12-08 国网江苏省电力有限公司南京供电分公司 一种用于异地数据安全备份的系统及方法
CN109450620B (zh) 2018-10-12 2020-11-10 创新先进技术有限公司 一种移动终端中共享安全应用的方法及移动终端
CN109688141A (zh) * 2018-12-27 2019-04-26 杭州翼兔网络科技有限公司 一种生理参数数据加密传输方法
US11038852B2 (en) 2019-02-08 2021-06-15 Alibaba Group Holding Limited Method and system for preventing data leakage from trusted network to untrusted network
US11137923B2 (en) 2019-07-18 2021-10-05 Alibaba Group Holding Limited Method and system for data reduction in a storage infrastructure to support a high-ration thin-provisioned service
CN110808828B (zh) * 2019-09-26 2022-03-18 中国电子科技集团公司第三十研究所 一种用于量子密钥分发的多矩阵自适应译码装置及方法
GB2587438A (en) * 2019-09-30 2021-03-31 Governing Council Univ Toronto Key generation for use in secured communication
US11429519B2 (en) 2019-12-23 2022-08-30 Alibaba Group Holding Limited System and method for facilitating reduction of latency and mitigation of write amplification in a multi-tenancy storage drive
CN112769561B (zh) * 2020-12-31 2022-10-04 广东国腾量子科技有限公司 一种用于多自由度调制qkd的私钥放大方法及系统

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2620981A (en) * 1950-08-30 1952-12-09 Douglas Aircraft Co Inc Converting device
DE69133502T2 (de) * 1990-06-01 2006-09-14 Kabushiki Kaisha Toshiba, Kawasaki Geheimübertragungsverfahren und -gerät
US5515438A (en) * 1993-11-24 1996-05-07 International Business Machines Corporation Quantum key distribution using non-orthogonal macroscopic signals
WO2001065762A2 (en) * 2000-03-02 2001-09-07 Tivo, Inc. Conditional access system and method for prevention of replay attacks
KR100327494B1 (ko) 2000-03-24 2002-03-15 윤종용 다중 접근 방식을 이용한 보안 통신 시스템에서의 키 동의방법
US20030063751A1 (en) * 2001-09-20 2003-04-03 Aiden Bruen Key agreement protocol based on network dynamics
US7403623B2 (en) * 2002-07-05 2008-07-22 Universite Libre De Bruxelles High-rate quantum key distribution scheme relying on continuously phase and amplitude-modulated coherent light pulses
JP4290401B2 (ja) * 2002-09-18 2009-07-08 三菱電機株式会社 量子鍵配送方法および通信装置
US7333611B1 (en) * 2002-09-27 2008-02-19 Northwestern University Ultra-secure, ultra-efficient cryptographic system
US7627126B1 (en) * 2002-10-15 2009-12-01 Bbn Technologies Corp. Systems and methods for implementing path length control for quantum cryptographic systems
US7165824B2 (en) * 2002-12-02 2007-01-23 Silverbrook Research Pty Ltd Dead nozzle compensation
US7284024B1 (en) * 2003-02-07 2007-10-16 Magiq Technologies, Inc. Quantum noise random number generator
US7983422B2 (en) * 2003-07-25 2011-07-19 Hewlett-Packard Development Company, L.P. Quantum cryptography
US7831050B2 (en) 2003-12-04 2010-11-09 Geraldo Alexandre Barbosa Fast multi-photon key distribution scheme secured by quantum noise
JP4124194B2 (ja) * 2004-11-01 2008-07-23 日本電気株式会社 共有情報生成方法およびシステム
US7697687B2 (en) * 2005-04-13 2010-04-13 Nucrypt, Inc. Streaming implementation of AlphaEta physical layer encryption
US8315387B2 (en) * 2004-11-05 2012-11-20 Nucrypt Llc System and method for data transmission over arbitrary media using physical encryption
FR2879381B1 (fr) * 2004-12-15 2008-12-26 Thales Sa Systeme de distribution quantique de cle de cryptage a variables continues
WO2006078033A1 (ja) * 2005-01-24 2006-07-27 Inter-University Research Institute Corporation / Research Organization of Information and Systems 量子鍵配送方法、通信システムおよび通信装置
CN101288260A (zh) * 2005-01-27 2008-10-15 美商内数位科技公司 使用未由他人分享联合随机衍生秘钥方法及系统
FR2884663B1 (fr) 2005-04-15 2007-07-13 Sagem Procede de communication entre un lecteur et un marqueur d'indentification sans fil, lecteur et marqueur associes
JP4662040B2 (ja) * 2005-07-08 2011-03-30 日本電気株式会社 通信システムおよびその同期制御方法
JP5384781B2 (ja) * 2005-08-18 2014-01-08 日本電気株式会社 秘匿通信システムおよび共有秘密情報の生成方法
US8090101B2 (en) * 2005-12-20 2012-01-03 Interdigital Technology Corporation Method and system for generating a secret key from joint randomness
EP1841122A1 (en) * 2006-03-31 2007-10-03 Alain Schumacher Encryption method for highest security applications
US7831049B1 (en) * 2006-05-10 2010-11-09 Nucrypt, LLC Enhanced encryption method and system for ultra secure applications
JP4814736B2 (ja) * 2006-09-14 2011-11-16 日本電信電話株式会社 乱数発生方法および乱数発生装置
JP5424008B2 (ja) * 2006-12-19 2014-02-26 日本電気株式会社 共有情報の管理方法およびシステム
CN101227270B (zh) * 2007-01-16 2014-11-26 王旭 一种新型密钥建立的方法
KR101455978B1 (ko) * 2007-03-27 2014-11-04 엘지전자 주식회사 Ldpc 부호를 이용한 부호화 방법
JP5074823B2 (ja) 2007-05-29 2012-11-14 パナソニック株式会社 データ送信装置及びデータ受信装置
GB2455496B (en) * 2007-10-31 2012-05-30 Hewlett Packard Development Co Error detection method and apparatus
GB2455283A (en) * 2007-10-31 2009-06-10 Hewlett Packard Development Co Error correction in data communication apparatus using toroidal-web Tanner graph
US8855316B2 (en) * 2008-01-25 2014-10-07 Qinetiq Limited Quantum cryptography apparatus
EP2294751A1 (en) 2008-05-12 2011-03-16 Interdigital Patent Holdings, Inc. Information-theoretically secure secrecy generation
US8503673B2 (en) * 2008-09-11 2013-08-06 University Of Utah Research Foundation Method and system for secret key exchange using wireless link characteristics and random device movement
US8189785B2 (en) * 2008-09-30 2012-05-29 The Mitre Corporation Generating identical numerical sequences utilizing a physical property and secure communication using such sequences
WO2010103628A1 (ja) * 2009-03-11 2010-09-16 株式会社日立製作所 暗号通信システム
US8515058B1 (en) * 2009-11-10 2013-08-20 The Board Of Trustees Of The Leland Stanford Junior University Bootstrappable homomorphic encryption method, computer program and apparatus
GB201001422D0 (en) * 2010-01-29 2010-03-17 Hewlett Packard Development Co Quantum key distribution method and apparatus
US8554814B2 (en) 2010-08-20 2013-10-08 The Governing Council Of The University Of Toronto Random signal generator using quantum noise
US8483387B2 (en) * 2010-12-07 2013-07-09 Mitsubishi Electric Research Laboratories, Inc. Method for generating private keys in wireless networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190001165A (ko) 2017-06-26 2019-01-04 고려대학교 산학협력단 연속 변수 양자키 분배의 정보 조정을 위한 이진 비트키 추정 방법 및 장치

Also Published As

Publication number Publication date
US10009175B2 (en) 2018-06-26
AU2013265020B2 (en) 2017-10-12
US20150134947A1 (en) 2015-05-14
EP2859679B1 (en) 2020-09-02
WO2013175224A1 (en) 2013-11-28
JP2015522998A (ja) 2015-08-06
CN104412538B (zh) 2019-04-09
CN104412538A (zh) 2015-03-11
AU2013265020A1 (en) 2015-01-22
EP2859679A1 (en) 2015-04-15

Similar Documents

Publication Publication Date Title
EP2859679B1 (en) Secure communication
US11743049B2 (en) Streaming authentication and multi-level security for communications networks using quantum cryptography
Djordjevic Physical-layer security and quantum key distribution
US7570767B2 (en) Decoupling error correction from privacy amplification in quantum key distribution
US8639927B2 (en) Method of user-authenticated quantum key distribution
JP4885960B2 (ja) 秘密通信方法及びその秘密通信装置
EP1715615B1 (en) Quantum key delivering method and communication device
US8189787B2 (en) Data transmitting apparatus, data receiving apparatus and data communication apparatus
US20120314867A1 (en) Encrypted communication system, transmitter and receiver using same
WO2010103628A1 (ja) 暗号通信システム
Trushechkin et al. Security of the decoy state method for quantum key distribution
US6754824B1 (en) Modulated message authentication system and method
CN113645038B (zh) 一种测量设备无关的量子数字签名系统及方法
US11128445B2 (en) Method for creating and distributing cryptographic keys
US20220278834A1 (en) Long-distance quantum key distribution
Harun et al. Hybrid M-Ary in Braided Single Stage Approach for Multiphoton Quantum Secure Direct Communication Protocol
Beals et al. Distributed relay protocol for probabilistic information-theoretic security in a randomly-compromised network
Gilbert et al. Secrecy, computational loads and rates in practical quantum cryptography
Kulkarni et al. Neural Crypto-Coding Based Approach to Enhance the Security of Images over the Untrusted Cloud Environment. Cryptography 2023, 7, 23
CN117407920B (zh) 基于区块链的数据保护方法及系统
EP4236194A1 (en) Authentication method and system, a quantum communication network, and a node for quantum communication
Babu et al. Ortho Linear Feedback Shift Register Cryptographic System
Saracino Implementation and experimentation of a practical Quantum Identity Authentication protocol
Sharma et al. The Quantum Cryptography Approach: Unleashing the Potential of Quantum Key Reconciliation Protocol for Secure Communication
Venkat et al. En-BB84: Advancements in Secure Quantum Key Distribution with Improved Error Resilience and Built-in Authentication

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination