KR101479112B1 - 양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법 - Google Patents

양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법 Download PDF

Info

Publication number
KR101479112B1
KR101479112B1 KR20120118138A KR20120118138A KR101479112B1 KR 101479112 B1 KR101479112 B1 KR 101479112B1 KR 20120118138 A KR20120118138 A KR 20120118138A KR 20120118138 A KR20120118138 A KR 20120118138A KR 101479112 B1 KR101479112 B1 KR 101479112B1
Authority
KR
South Korea
Prior art keywords
error correction
bit
length
block
bit string
Prior art date
Application number
KR20120118138A
Other languages
English (en)
Other versions
KR20140051736A (ko
Inventor
최정운
Original Assignee
에스케이 텔레콤주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이 텔레콤주식회사 filed Critical 에스케이 텔레콤주식회사
Priority to KR20120118138A priority Critical patent/KR101479112B1/ko
Priority to CN201380055185.XA priority patent/CN104737495B/zh
Priority to PCT/KR2013/007611 priority patent/WO2014065497A1/ko
Publication of KR20140051736A publication Critical patent/KR20140051736A/ko
Application granted granted Critical
Publication of KR101479112B1 publication Critical patent/KR101479112B1/ko
Priority to US14/694,742 priority patent/US10103881B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/34Encoding or coding, e.g. Huffman coding or error correction

Abstract

양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법을 개시한다.
본 실시예의 일 측면에 의하면, 다단계의 오류 수정 절차로 구성된 양자키 오류 수정 프로토콜에서 다음 오류 수정 단계의 수행에 앞서서 비트열의 순서를 치환(Permutation)하는 비트 오류 수정을 위한 비트열 치환 방법에 있어서, 상기 비트열의 길이와 다음 오류 수정 단계의 블록의 길이를 기초로 한 선형 모듈러(Linear Modulo) 연산을 수행하여 상기 수정된 비트열을 구성하는 비트들의 순서를 변경하는 과정을 포함하는 양자키 오류 수정 프로토콜에서 비트열을 치환하는 방법을 제공한다.

Description

양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법{Shuffling Method for Error Reconciliation in Quantum Key Distribution Protocol}
본 실시예는 양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법에 관한 것이다. 보다 상세하게는, 양자키 분배 프로토콜을 통해 생성된 키의 비트 오류를 제거하는 과정에서 오류의 위치를 효율적으로 변경하기 위한 치환 방법에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
양자 키 분배(Quantum Key Distribution; 이하 'QKD'라고 약칭함)에서는, 상기 불확정성(랜덤성)을 이용하여, 도청자에게 알려지지 않고 송신자와 수신자 사이에서 키를 공유한다.
이하에서는, QKD 프로토콜 중 하나인 BB84 프로토콜을 예시하여 양자 키 분배 수순에 관하여 설명하기로 한다. 우선, 송신자는, 난수열(1, 0의 열: 송신 데이터)을 발생시키고, 또한 송신 코드(+: 수평 수직 방향으로 편광된 광을 식별 가능한 측정기에 대응, ×: 경사 방향으로 편광된 광을 식별 가능한 측정기에 대응)를 랜덤으로 결정한다. 그 난수열과 송신 코드의 조합으로, 송신하는 광의 편광 방향이 자동적으로 정해진다. 여기서는, 0과 +의 조합으로 수평 방향으로 편광된 광을, 1과 +의 조합으로 수직 방향으로 편광된 광을, 0과 ×의 조합으로 45° 방향으로 편광된 광을, 1과 ×의 조합으로 135° 방향으로 편광된 광을, 양자 통신로에 각각 송신한다(송신 신호).
다음에, 수신자는, 수신 코드(+: 수평 수직 방향으로 편광된 광을 식별 가능한 측정기, ×: 경사 방향으로 편광된 광을 식별가능한 측정기)를 무작위로 결정하고, 양자 채널 상의 광을 측정함으로써 수신 데이터(초기 키: Raw Key)를 얻는다. 여기서는, 송신자와 수신자가 각각 송신코드와 수신코드를 임의로 결정했기 때문에 1/2의 확률로 송신 코드와 수신 코드가 일치할 수도 있고 불일치할 수도 있다. 일치한 경우에는, 수신자는 송신자가 생성한 난수열과 동일한 비트를 수신 데이터로 얻게 된다. 예를 들어, 수평 방향으로 편광된 광과 수신 코드 +의 조합으로 0을, 수직 방향으로 편광된 광과 수신 코드 +의 조합으로 1을, 45° 방향으로 편광된 광과 수신 코드 ×의 조합으로 0을, 135° 방향으로 편광된 광과 수신 코드 ×의 조합으로 1을 각각 얻는다. 그렇지만, 불일치한 경우에는 양자 역학적 특성에 의해 송신자가 생성한 난수열과 수신자가 측정한 수신 데이터 사이에는 아무런 관련성이 없게 된다.
다음에, 송신자와 수신자는 송신 코드와 수신 코드의 일치 여부를 확인하기 위해 상대방에게 코드 정보를 전송/공유하고, 일치하는 부분에 대한 난수열 또는 수신 데이터만을 남긴다.
다음에, 송수신자 남겨진 난수열과 수신 데이터에 대해 임의로 정한 일정 부분(예: 절반)을 공개하여 오류 정도(Quantum Bit Error Rate; 이하 'QBER'이라고 약칭함)를 확인함으로써 공격자의 도청 여부를 확인한다. 송수신 시스템 및 통신 채널상에 오류가 없다면, 남겨진 난수열과 수신 데이터는 완벽하게 일치하겠지만, 일반적으로는 송수신 시스템 및 채널의 불완전성으로 인해 3~7% 정도의 QBER이 발생한다. 그렇지만 공격자의 도청 공격은 양자 역학적 원리에 의해 QBER을 25% 이상(전체 비트열에 대한 도청 공격 시)으로 높이기 때문에, 적정 기준(예를 들어, 8%)을 통해 도청 공격 여부를 판단한다. 적정 기준 이상의 QBER을 발생시킨 경우는 도청이 감지되었다고 판단, QKD 프로토콜을 중단하고 처음부터 다시 시작하며, 적정 기준 이하의 QBER을 발생시킨 경우는 정상으로 판단하여, QBER 계산을 위해 사용되고 남은 절반 정도의 난수열 또는 수신 데이터를 공유키(걸러진 키: Sifted Key)로 한다.
QKD 프로토콜을 통해 생성된 걸러진 키는 채널 및 송수신 시스템의 불완전성으로 인해 3~7% 정도의 비트 오류를 갖게 되기 때문에, 비트 오류를 수정 또는 제거하기 위한 오류 수정 과정 및 양자 통신 과정에서 누출된 정보와 오류 수정 과정에서 누출된 정보를 제거하기 위한 비밀성 증폭 단계로 이뤄진 후처리 프로토콜을 필수적으로 구현해야 한다. 후처리 과정이 포함된 QKD 프로토콜의 키 생성 속도를 높이기 위해서는 후처리 과정에서의 연산 및 통신 측면에서의 효율성을 극대화해야 한다.
오류 수정 과정에서는 매우 다양한 오류 수정 프로토콜(Key Reconciliation Protocol)을 사용하고 있다. 그 대표적인 예로 Cascade, Winnow, LDPC(Low Density Parity Check) 등의 프로토콜을 들 수 있으며, 이들 기법의 효율성을 개선한 기법들이 제안되고 있다.
도 1a 및 도 1b에 Cascade와 Winnow 프로토콜의 기본적인 동작을 예시하였다.
Cascade 프로토콜은 도 1a에 예시된 바와 같이, 비트열을 적당한 크기의 블록으로 분할하고, 각 블럭들의 패리티 연산에 기초한 바이너리 검색(Binary Search)을 통해 각 블록에 포함된 오류비트의 위치를 찾아 수정 또는 제거하는 방식이다. Cascade 프로토콜은 오류 수정과정에서 추가적인 오류를 생성하지 않지만,
한 번의 오류 수정을 통해서는 블록에 홀수 개의 오류가 존재한 경우에 대해서만 하나의 오류를 수정할 수 있기 때문에, 모든 오류를 수정하기 위해서는 수많은 반복 작업을 수행해야 하므로, 빠른 속도의 QKD 프로토콜을 구현하는 데 적합하지 않다.
도 1b에 예시된 Winnow 프로토콜은 바이너리 검색 대신에 다른 패리티(Parity)를 갖는 블록에 포함된 오류비트를 수정하기 위해 해밍코드(Hamming Code)의 신드롬(Syndrome)을 사용하는 방식이다.
표 1에 Cascade, Winnow 및 LDPC 프로토콜의 특징을 정리하였다.
Cascade Winnow LDPC
연산 복잡도 매우 간단함 매우 간단함 복잡함
통신 횟수 많음 적음(20회 정도) 1회
한편, Cascade, Winnow와 같은 QKD 후처리 프로토콜에서 사용되는 대부분의 오류 수정 프로토콜들은 송수신 시스템간의 쌍방향 통신(Interactive Communication)을 통해 다단계로 오류를 수정하며, 각 단계마다 오류의 위치를 임의로 변경하기 위해 무작위 치환(Random Permutation) 또는 무작위 혼합(Random Shuffling)이라 불리는 절차를 필수적으로 수행한다.
각 오류 수정 단계를 통해 남겨진 비트 오류는 블록마다 짝수 개로만 존재할 수 있게 되는데, 이러한 오류 분포를 흩트리지 않는다면 다음 오류 수정 단계를 통해서도 잔여 비트 오류들이 제거되지 않는다. 이를 고려하여 다음 오류 수정 단계를 수행하기 전에 무작위 혼합을 수행하여 비트 오류의 위치를 임의로 변경하는 것이다.
무작위 혼합을 구현하기 위해서는 각 단계별로 생성된 키 비트열의 길이(n)에 대해 n!개의 치환 가변성을 제공하기 위해 TRNG(True Random Number Generator) 또는 PRNG(Pseudo Random Number Generator) 기반의 난수 생성 알고리즘을 이용하여 치환 정보를 생성해야 하며, 그 치환 정보를 반드시 상대방에게 전송해야만 한다.
그러나, 오류 수정에서의 치환 또는 혼합의 목적은 무작위성에 있는 것이 아니라, 블록 내에 존재하는 짝수 개의 오류를 가능한 효율적으로 홀수 개가 존재하도록 변형하는 데 있음을 상기해야 한다.
본 실시예는, QKD 후처리 과정의 오류 수정 단계를 구현함에 있어서, 비트 오류를 임의로 재배열하기 위해 무작위 치환을 수행하는 대신, 선형 모듈러(Linear Modulo) 연산만을 사용하여 치환하는 방법을 제공하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, 다단계의 오류 수정 절차로 구성된 양자키 오류 수정 프로토콜에서 다음 오류 수정 단계의 수행에 앞서서 비트열의 순서를 치환하는 비트 오류 수정을 위한 비트열 치환 방법에 있어서, 상기 비트열의 길이(n)와 다음 오류 수정 단계의 블록의 길이(a)를 기초로 한 선형 모듈러 연산을 수행하여 상기 수정된 비트열을 구성하는 비트들의 순서를 변경하는 과정을 포함하는 양자키 오류 수정 프로토콜에서 비트열을 치환하는 방법을 제공한다.
상기 선형 모듈러 연산(F)은 F: x → ax + b (mod n)로 표현될 수 있다. 여기서 x는 비트의 위치, a는 다음 오류 수정 단계의 블록의 길이, b는 임의의 정수, n은 상기 비트열의 길이이다.
또한, 상기 방법은 상기 비트열의 길이(n)와 다음 블록의 길이(a)가 gcd(n,a)=1인 조건을 만족하도록 상기 n 또는 상기 a 중 적어도 어느 하나를 변경하는 과정을 더 포함할 수 있다.
또한, 상기 n 또는 상기 a 중 적어도 어느 하나를 변경하는 과정은 상기 a가 2의 거듭제곱인 경우, 상기 n을 홀수로 변형하는 과정일 수 있다.
또한, 상기 양자키 오류 수정 프로토콜은 각 단위 오류 수정 절차의 결과인 비트열을 블록화하여, 각 블록에 대해 소정의 연산을 수행하는 방식일 수 있다.
본 실시예의 또다른 측면에 의하면, 양자 키 분배 프로토콜을 통해 생성된 걸러진 키에 포함된 비트 오류를 수정하는 방법에 있어서, 비트 오류를 수정할 비트열을 소정의 길이로 분할하여 블록화하는 제1과정, 상기 제1과정을 통해 분할된 블록별로 패리티 확인을 통해 홀수 개의 비트 오류를 포함하는 블록을 찾는 제2과정, 및 상기 홀수 개의 비트 오류를 포함하는 블록에 대하여 오류 수정 프로토콜에 따른 소정의 연산을 수행하는 제3과정으로 구성된 단위 오류 수정 절차를 복수 회에 걸쳐 수행하되, 다음 단위 오류 수정 절차를 수행하기에 앞서서, 이전 단위 오류 수정 절차에서 수정된 비트열을 구성하는 비트들의 순서를, 상기 수정된 비트열의 길이와 다음 단위 오류 수정 절차의 블럭의 길이를 기초로 한 선형 모듈러(Linear Modulo) 연산을 수행하여, 변경하는 것을 특징으로 하는 QKD 프로토콜을 통해 생성된 초기 키에 포함된 비트 오류를 수정하는 방법을 제공한다.
본 실시예에 의하면, 송신측과 수신측이 선형 모듈러 연산을 통해 치환함으로써, 기존의 무작위 치환 기법과 달리 TRNG/PRNG로 생성한 난수열을 요구하지 않을 뿐만 아니라, 치환 정보를 전송할 필요가 없기 때문에 통신으로 발생하는 시간 지연이 없다.
또한, 이전 단계의 오류 수정 과정에서 동일 블록 내에 있던 모든 비트들을 다음 단계의 오류 수정 과정에 앞서 서로 다른 블록에 존재하도록 재배치하며, 특히 연속된 오류비트들인 버스트 비트(Burst Bit)를 흩트리는 데 매우 효과적인 알고리즘이다.
더불어, 연산 효율성 관점에서는 n!의 임의 치환을 수행하기 위해 TRNG/PRNG를 통해 난수열 호출과 비트 메모리 스와핑(Swapping)의 n번 반복 적용을 통해 치환 정보를 생성하고 n개의 비트마다 각각 적용하는 대신, 하나의 선형 모듈로 연산을 각 비트에 적용하는 것으로 단순화할 수 있으며, 특히 병렬적인 연산처리가 가능하다는 이점을 갖는다.
도 1a 및 도 1b는 Cascade와 Winnow 프로토콜의 기본적인 동작을 예시한 도면이다.
도 2는 Winnow 프로토콜의 오류 수정 과정을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 치환 알고리즘의 동작 과정을 예시한 흐름도이다.
도 4는 선형 모듈러 연산을 통해 비트열을 섞는 방법을 예시한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
본 발명에 따른 치환 알고리즘은 다단계의 오류 수정 단계로 구성된 양자키 오류 수정 프로토콜에서 다음 오류 수정 단계의 수행에 앞서서 수정된 비트열을 치환하는 방법으로서, 이를 Winnow 프로토콜의 오류 수정 과정을 예시하여 설명하기로 한다.
도 2는 Winnow 프로토콜의 오류 수정 과정을 도시한 도면이다.
앞서 언급한 바와 같이, Winnow 프로토콜에서는 QKD 시스템의 송신부와 수신부가 걸러진 키(Sifted Key)를 적당한 크기의 블록으로 분할하고, 분할된 각 블럭의 패리티를 계산하여 상대방과 비교한다. 패리티 값이 불일치하는 블럭은 홀수 개의 오류비트를 포함하고 있으며, 이러한 블럭에 대해 해밍 신드롬(Hamming Syndrome)을 이용하여 오류비트를 찾는다. 이러한 블럭 분할 및 해밍 신드롬을 통한 오류비트 수정은 비트열의 순서를 섞은 후 반복하여 수행된다. 여기서 분할된 블럭의 길이 a는 2의 배수로서, 예컨대 a∈{8, 16, 32, 64, 128, 256, 512} 일 수 있다.
종래에는 S240 과정에서 난수 호출 알고리즘을 이용하여 생성한 치환 정보에 따라 무작위 치환(Random Permutation) 방식을 적용하였으나, 본 발명에서는 비트열의 길이(n) 및 다음 오류 수정 단계의 블록의 길이(a)를 기초로 한 선형 모듈러 연산(Linear Modulo)을 통해 비트열의 순서를 섞는다.
도 3은 본 발명의 일 실시예에 따른 치환 알고리즘의 동작 과정을 예시한 흐름도이다.
본 실시예에 따른 치환 알고리즘은 크게 다음과 같은 4단계로 이루어진다.
제1단계: 수정할 비트열의 길이(Length)가 짝수인지 홀수인지를 구분한다.
제2단계: 수정할 비트열의 길이가 짝수인 경우, 예컨대 마지막 비트를 제거함으로써 홀수 길이(n←n-1)의 비트열로 변형한다. 홀수 길이인 경우는 그대로 진행한다.
제3단계: 입력 비트열의 위치 x와 다음 오류 수정 단계에서 분할될 블록의 크기 a에 대해 아래의 수학식 1로 표현되는 선형 모듈러 연산을 수행함으로써, 비트열의 위치를 치환한다. a는 2의 배수로서, 예컨대 a∈{8, 16, 32, 64, 128, 256, 512} 일 수 있다.
Figure 112012086486504-pat00001
여기서, x는 비트의 위치, a는 다음 오류 수정 단계의 블록의 크기, n은 비트열의 길이이다.
한편, 선형 모듈러 연산 결과를 임의의 값만큼 시프트(Shift) 하더라도 그 효과에는 영향이 없으므로, 위 수학식 1의 선형 모듈러 연산(F)은 임의의 정수 b에 대하여 아래의 수학식 2로 대체하는 것도 가능하다.
Figure 112012086486504-pat00002
제4단계: x위치의 비트를 F(x)=ax 또는 ax+b (mod n)의 위치로 변경한다.
이상의 치환 알고리즘이 순서만 변경하는 치환이 되기 위해서는 선형 모듈러 연산(F)이 일대일 대응 조건을 만족하여야 하며, 선형 모듈러 연산(F)의 일대일 대응 조건은 다음과 같은 명제로 표현될 수 있다.
명제: 'x≠y이면, ax
Figure 112012086486504-pat00003
ay (mod n)이다.'
수학적 귀류법(Reductio Ad Absurdum)을 통해 위 명제를 증명하기로 한다. 위 명제의 대우 명제는 다음과 같다.
대우명제: 'ax≡ay (mod n)이면, x=y이다.'
만일 ax와 ay가 모듈러 n의 합동이라면, 모듈러 연산의 성질에 의해 a(x-y)는 n의 배수이다. 여기서 n은 홀수, a는 짝수이므로, n과 a의 최대공약수는 1이고, 따라서 x-y는 n의 배수임을 알 수 있다. x와 y는 n보다 작으므로, x-y가 n의 배수이기 위해서는 x-y=0이어야 하며, 결국 x와 y는 같아야 한다. 따라서 대우명제가 참이므로, 위 명제 또한 참임을 알 수 있다.
이를 간략히 표현하면, 다음과 같다.
ax≡ay (mod n) ⇔ n|a(x-y)
⇔ n|x-y (∵ gcd(n,a)=1)
⇔ x=y (∵ 0 ≤ x,y < n)
한편, 제1단계 및 제2단계는 선형 모듈러 연산 F가 일대일 대응 조건을 만족하도록, 즉 일대일 함수가 되도록 하기 위한 절차이다. 이상에서는 Winnow 프로토콜에서 a가 8, 16, 32, 64, … 와 같이 2의 거듭제곱 형태로 주어진다 점을 고려하여, a와 n의 최대공약수(Greatest Common Divisor)가 1이 되도록 하기 위해 비트열을 홀수 길이의 비트열로 변경하는 방법을 예시하여 설명하였으나, 이 외에 다양한 방법으로 제1단계 및 제2단계를 구현할 수 있다. 예컨대, n과 a의 최대공약수가 1이 되도록 즉, g(n,a)=1을 만족하도록, 수정할 비트열의 길이(n) 또는 다음 오류 수정 단계의 블록의 길이(a) 중 적어도 어느 하나를 늘리거나 줄이는 다양한 방법으로 구현될 수 있다.
도 4는 선형 모듈러 연산을 통해 비트열을 섞는 방법을 예시한 도면이다.
도 4에서는 수학식 1을 이용하되, 다음 오류 수정 단계의 블록의 크기가 8 비트인 경우를 가정하여, x 위치의 비트를 F(x)의 위치로 치환하는 방법을 도식화하였다. 도 4에 도시된 바와 같이, 동일 블록 내에 있던 비트들이 선형 모듈러 연산을 적용한 결과 모두 서로 다른 블록에 존재하도록 재배치됨을 알 수 있다. 다시 말해, 동일 블록에 존재하던 오류 비트들이 모두 다른 블록으로 흩어지게 되며, 특히 연속된 오류비트들인 버스트 비트(Burst Bit)를 흩트리는 데 선형 모듈러 연산이 매우 효과적임을 알 수 있다.
또한, 연산 효율성 관점에서, 종래의 무작위 치환 알고리즘이 n!의 무작위 치환을 수행하기 위해 TRNG/PRNG를 통해 난수열 호출과 비트 메모리 스와핑(Swapping)의 n번 반복 적용을 통해 치환 정보를 생성하고 n개의 비트에 각각 적용해야 하는 데 반해, 본 실시예에 따른 선형 모듈러 연산은 n번의 선형 모듈러 연산만 수행하는 것으로 단순화할 수 있으며, 병렬적인 연산처리가 가능하다는 장점을 갖는다.
더불어, 통신 관점에서는 종래의 무작위 혼합 기법과 달리, 난수열과 같은 치환 정보를 통신 채널을 통해 상대방과 공유할 필요가 없다.
이상의 설명은 본 실시예에 따른 치환 알고리즘을 Winnow 프로토콜에 적용하는 경우를 예시한 것이나, 다단계의 오류 수정 절차로 구성된 양자키 오류 수정 프로토콜들, 특히 각 단계가 비트열을 블럭화한 후 오류수정을 위한 소정의 연산을 수행하는 절차로 구성된 모든 양자키 오류 수정 프로토콜에 적용 가능하다.
한편, 도 3에 도시된 흐름도의 각 단계는 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (6)

  1. 다단계의 오류 수정 절차로 구성된 양자키 오류 수정 프로토콜에서 다음 오류 수정 단계의 수행에 앞서서 비트열의 순서를 치환(Permutation)하는 비트열 치환 방법에 있어서,
    상기 비트열의 길이(n)와 다음 오류 수정 단계의 블록의 길이(a)를 기초로 한 선형 모듈러(Linear Modulo) 연산을 수행하여, 이전 단계의 오류 수정 단계에서 동일 블록 내에 있던 비트들을 다음 오류 수정 단계에서 서로 다른 블록에 존재하도록 재배치하는 과정
    을 포함하는 양자키 오류 수정 프로토콜에서 비트열을 치환하는 방법.
  2. 제1항에 있어서,
    상기 선형 모듈러 연산(F)은,
    F: x → ax + b (mod n)로 표현되되, x는 비트의 위치, a는 다음 오류 수정 단계의 블록의 길이, b는 임의의 정수, n은 상기 비트열의 길이인 것을 특징으로 하는 양자키 오류 수정 프로토콜에서 비트열을 치환하는 방법.
  3. 제1항에 있어서,
    상기 비트열의 길이(n)와 다음 블록의 길이(a)가 gcd(n,a)=1인 조건을 만족하도록 상기 n 또는 상기 a 중 적어도 어느 하나를 변경하는 과정을 더 포함하는 것을 특징으로 하는 양자키 오류 수정 프로토콜에서 비트열을 치환하는 방법.
  4. 제3항에 있어서,
    상기 n 또는 상기 a 중 적어도 어느 하나를 변경하는 과정은,
    상기 a가 2의 거듭제곱인 경우, 상기 n을 홀수로 변형하는 과정임을 특징으로 하는 양자키 오류 수정 프로토콜에서 비트열을 치환하는 방법.
  5. 제1항에 있어서,
    상기 양자키 오류 수정 프로토콜은,
    각 단위 오류 수정 절차의 결과인 비트열을 블록화하여, 각 블록에 대해 소정의 연산을 수행하는 방식인 것을 특징으로 하는 양자키 오류 수정 프로토콜에서 비트열을 치환하는 방법.
  6. 양자 키 분배(Quantum Key Distribution; QKD) 프로토콜을 통해 생성된 걸러진 키(Sifted Key)에 포함된 비트 오류를 수정하는 방법에 있어서,
    비트 오류를 수정할 비트열을 소정의 길이로 분할하여 블록화하는 제1과정, 상기 제1과정을 통해 분할된 블록별로 패리티 확인을 통해 홀수 개의 비트 오류를 포함하는 블록을 찾는 제2과정, 및 상기 홀수 개의 비트 오류를 포함하는 블록에 대하여 오류 수정 프로토콜에 따른 소정의 연산을 수행하는 제3과정으로 구성된 단위 오류 수정 절차를 복수 회에 걸쳐 수행하되,
    다음 단위 오류 수정 절차를 수행하기에 앞서서, 이전 단위 오류 수정 절차에서 수정된 비트열을 구성하는 비트들의 순서를, 상기 수정된 비트열의 길이와 다음 단위 오류 수정 절차의 블럭의 길이를 기초로 한 선형 모듈러(Linear Modulo) 연산을 수행하여, 변경하는 것을 특징으로 하는 QKD 프로토콜을 통해 생성된 초기 키에 포함된 비트 오류를 수정하는 방법.
KR20120118138A 2012-10-23 2012-10-23 양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법 KR101479112B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR20120118138A KR101479112B1 (ko) 2012-10-23 2012-10-23 양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법
CN201380055185.XA CN104737495B (zh) 2012-10-23 2013-08-26 校正量子密钥分配协议中的比特误差的排列方法
PCT/KR2013/007611 WO2014065497A1 (ko) 2012-10-23 2013-08-26 양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법
US14/694,742 US10103881B2 (en) 2012-10-23 2015-04-23 Permutation method for correcting bit error in quantum key distribution protocol

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120118138A KR101479112B1 (ko) 2012-10-23 2012-10-23 양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법

Publications (2)

Publication Number Publication Date
KR20140051736A KR20140051736A (ko) 2014-05-02
KR101479112B1 true KR101479112B1 (ko) 2015-01-07

Family

ID=50544843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120118138A KR101479112B1 (ko) 2012-10-23 2012-10-23 양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법

Country Status (4)

Country Link
US (1) US10103881B2 (ko)
KR (1) KR101479112B1 (ko)
CN (1) CN104737495B (ko)
WO (1) WO2014065497A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210045285A (ko) 2019-10-16 2021-04-26 고태영 양자 엔트로피 운용 서비스 시스템
US11048839B2 (en) 2019-03-29 2021-06-29 International Business Machines Corporation Adaptive error correction in quantum computing

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6359285B2 (ja) * 2014-02-17 2018-07-18 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
JP6400441B2 (ja) * 2014-11-19 2018-10-03 株式会社東芝 量子鍵配送装置、量子鍵配送システムおよび量子鍵配送方法
KR101924100B1 (ko) * 2017-05-23 2019-02-22 경희대학교 산학협력단 복수의 기기들 간에 양자 키 분배를 수행하는 방법 및 기기
KR101992959B1 (ko) * 2017-06-26 2019-06-26 고려대학교 산학협력단 연속 변수 양자키 분배의 정보 조정을 위한 이진 비트키 추정 방법 및 장치
US11025416B1 (en) 2018-03-09 2021-06-01 Wells Fargo Bank, N.A. Systems and methods for quantum session authentication
US10728029B1 (en) 2018-03-09 2020-07-28 Wells Fargo Bank, N.A. Systems and methods for multi-server quantum session authentication
US10855454B1 (en) 2018-03-09 2020-12-01 Wells Fargo Bank, N.A. Systems and methods for quantum session authentication
US11343087B1 (en) * 2018-03-09 2022-05-24 Wells Fargo Bank, N.A. Systems and methods for server-side quantum session authentication
US11095439B1 (en) 2018-08-20 2021-08-17 Wells Fargo Bank, N.A. Systems and methods for centralized quantum session authentication
US11240013B1 (en) 2018-08-20 2022-02-01 Wells Fargo Bank, N.A. Systems and methods for passive quantum session authentication
US10540146B1 (en) 2018-08-20 2020-01-21 Wells Fargo Bank, N.A. Systems and methods for single chip quantum random number generation
US10855453B1 (en) 2018-08-20 2020-12-01 Wells Fargo Bank, N.A. Systems and methods for time-bin quantum session authentication
US11190349B1 (en) 2018-08-20 2021-11-30 Wells Fargo Bank, N.A. Systems and methods for providing randomness-as-a-service
CN109639422B (zh) * 2019-01-23 2021-04-20 哈尔滨工业大学 一种面向离散型量子密钥分发系统的误码协商方法及装置
CN113302874B (zh) * 2019-05-16 2024-01-02 杜塞尔多夫华为技术有限公司 量子密钥分发系统中执行信息协调的设备及方法
WO2022092373A1 (ko) * 2020-11-02 2022-05-05 엘지전자 주식회사 Qkd 시스템에서 신드롬 비교 기반 qber 추정 방법 및 장치
CN112769555B (zh) * 2020-12-30 2022-11-22 华南师范大学 一种用于多自由度调制qkd的密钥协商方法
NL2032162B1 (en) 2022-06-14 2023-12-21 Univ Delft Tech Segmented error correction for QKD post-processing
FR3138593A1 (fr) * 2022-07-28 2024-02-02 Thales Procédés de distribution quantique et dispositifs de télécommunication associés

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004349833A (ja) 2003-05-20 2004-12-09 Nippon Telegr & Teleph Corp <Ntt> 量子匿名送信装置、量子匿名受信装置、量子状態配布装置、量子匿名通信方法、及びプログラム
US20080292102A1 (en) 2007-05-25 2008-11-27 Shuoqin Wang Quantum key distribution system and method
JP2009296217A (ja) * 2008-06-04 2009-12-17 Hitachi Ltd 暗号通信装置
JP2011061833A (ja) 2010-10-28 2011-03-24 Mitsubishi Electric Corp 量子暗号通信システムおよび送信装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030223579A1 (en) * 2000-07-13 2003-12-04 Eran Kanter Secure and linear public-key cryptosystem based on parity-check error-correcting
JP2002351499A (ja) * 2001-05-29 2002-12-06 Victor Co Of Japan Ltd 音声符号化データの編集方法、及び音声符号化信号編集装置
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
GB0512229D0 (en) * 2005-06-16 2005-07-27 Hewlett Packard Development Co Quantum key distribution apparatus & method
JP4888630B2 (ja) * 2005-07-08 2012-02-29 日本電気株式会社 通信システムおよびその監視制御方法
JP5384781B2 (ja) * 2005-08-18 2014-01-08 日本電気株式会社 秘匿通信システムおよび共有秘密情報の生成方法
JP5093513B2 (ja) * 2006-05-29 2012-12-12 日本電気株式会社 不正者失効システム、暗号化装置、暗号化方法およびプログラム
JP2008203548A (ja) * 2007-02-20 2008-09-04 Oki Electric Ind Co Ltd 二次双曲線群を使用する鍵生成方法、復号方法、署名検証方法、鍵ストリーム生成方法および装置。
US20110206204A1 (en) * 2008-10-17 2011-08-25 Dmitry Ivanovich Sychev Methods and devices of quantum encoding on dwdm (roadm) network and fiber optic links .
WO2010103628A1 (ja) * 2009-03-11 2010-09-16 株式会社日立製作所 暗号通信システム
CN101697512B (zh) * 2009-11-09 2011-08-24 中国电子科技集团公司第三十研究所 一种抗干扰量子保密直接通信的方法及系统
KR101351012B1 (ko) * 2009-12-18 2014-01-10 한국전자통신연구원 다자간 양자 통신에서의 사용자 인증 방법 및 장치
US8666068B2 (en) * 2011-10-20 2014-03-04 Sandisk Technologies Inc. Method for scrambling shaped data

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004349833A (ja) 2003-05-20 2004-12-09 Nippon Telegr & Teleph Corp <Ntt> 量子匿名送信装置、量子匿名受信装置、量子状態配布装置、量子匿名通信方法、及びプログラム
US20080292102A1 (en) 2007-05-25 2008-11-27 Shuoqin Wang Quantum key distribution system and method
JP2009296217A (ja) * 2008-06-04 2009-12-17 Hitachi Ltd 暗号通信装置
JP2011061833A (ja) 2010-10-28 2011-03-24 Mitsubishi Electric Corp 量子暗号通信システムおよび送信装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11048839B2 (en) 2019-03-29 2021-06-29 International Business Machines Corporation Adaptive error correction in quantum computing
KR20210045285A (ko) 2019-10-16 2021-04-26 고태영 양자 엔트로피 운용 서비스 시스템

Also Published As

Publication number Publication date
US10103881B2 (en) 2018-10-16
WO2014065497A1 (ko) 2014-05-01
KR20140051736A (ko) 2014-05-02
CN104737495B (zh) 2018-03-27
US20150312035A1 (en) 2015-10-29
CN104737495A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
KR101479112B1 (ko) 양자키 분배 프로토콜에서 비트 오류 수정을 위한 치환 방법
Buttler et al. Fast, efficient error reconciliation for quantum cryptography
KR100697476B1 (ko) 양자키 배송 방법 및 통신 장치
Carlet et al. Boolean Functions for Cryptography and Error-Correcting Codes.
US20170104590A1 (en) Method and Apparatus for Error Correcting Code Based Public Key Encryption Schemes
Hwang et al. Secret error-correcting codes (SECC)
Wang Quantum resistant random linear code based public key encryption scheme RLCE
JP5871142B2 (ja) 暗号鍵共有システムにおける通信装置および暗号鍵生成方法
US20080298583A1 (en) System and method of quantum encryption
JP2004274459A (ja) 量子鍵配送方法および通信装置
Dubrova et al. CRC-based message authentication for 5G mobile technology
Hemenway et al. Non-committing encryption from Φ-hiding
RU2295199C1 (ru) Способ формирования ключа шифрования/дешифрования
Lee et al. Ciphertext-only attack on linear feedback shift register-based Esmaeili-Gulliver cryptosystem
TW202324968A (zh) Qap型式同態加密中的多方系統設計的方法
IL227264A (en) A method and system that allows you to test the cryptographic honestness of an error-prone data item
Moldovyan et al. Symmetric encryption for error correction
US20220060274A1 (en) Physical Layer Security
RU2183051C2 (ru) Способ формирования ключа шифрования/дешифрования
RU2713694C1 (ru) Способ формирования ключа шифрования/дешифрования
Pfister Finite blocklength secrecy coding
Stuart et al. A novel low‐complexity scheme for improving security of NLFG‐based symmetric key cryptosystem using secure concatenated RS–QCLDPC code
RU2749016C1 (ru) Способ формирования ключа шифрования / дешифрования
RU2774103C1 (ru) Способ формирования ключа шифрования / дешифрования
CN101944993A (zh) 基于ldpc码的加密方案中移位矩阵生成方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20181203

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190730

Year of fee payment: 6