Did you know that you can navigate the posts by swiping left and right?

[암호학] 양자암호통신과 양자 키 분배

22 Feb 2017 . category: Cryptology . Comments
#cryptology #quantum #qkd

양자암호통신

양자역학의 불확정성을 이용하여 통신상에서 비밀키를 안전하게 나누어 갖고 암호 통신을 수행하는 것

양자암호통신을 이해하기 위해서는 양자컴퓨터에 대한 이해가 필요하고, 그러기 위해서는 양자의 고유한 특성을 알아야한다. 양자는 에너지의 최소 단위로 양자중첩, 양자얽힘, 불확정성 이라는 3가지 특성1을 갖는다.

양자의 특성 1. 양자중첩 (Quantum Superposition)

양자중첩이란 여러 상태가 확률적으로 하나의 양자에 동시에 존재하고 측정하기 전까지 정확한 양자상태를 알 수 없다는 특성이다. 하나의 양자가 동시에 존재한다는게 말이 되는진 모르겠지만, 현대의 물리학자들은 동시에 존재할 수 있다고 말한다. 우리가 익히 들어 알고 있는 ‘슈뢰딩거의 고양이‘가 이 내용이다. 슈뢰딩거의 고양이에서 고양이가 살았을지 죽었을지의 확률은 50%인데, 상자를 열어보기 전에는 살아있는 상태와 죽어있는 상태가 중첩되어 있다는 것이다. 반쯤 맛이 간(혼수상태의) 고양이가 존재하는 것이 아니라, 죽어있는 고양이 1마리와 살아있는 고양이 1마리가 각각 공존한다는 의미이다. 그리고 측정을 하면, 고양이가 살았는지 죽었는지 알 수 있기 때문에(하나로 정해지기 때문에) 마찬가지로 양자가 어떤 상태인지를 알 수 있다는 특성이다.

양자의 특성 2. 양자얽힘 (Quantum Entanglement)

양자얽힘은 둘 이상의 양자가 가지는 비고전적 상관관계로 두 양자가 서로 멀리 떨어져 있어도 존재하는 특성이다. 엄청 어려운 말로 쓰였지만, 실상은 간단하다. 철수는 흰돌과 검은돌을 가지고 있다고 해보자. 영희에게 둘중에 하나를 주기로 하는데, 영희가 받은 돌의 색깔은 흰색이었다. 그렇다면 자동적으로 철수는 검은돌을 가지고 있다는 것을 영희는 알 수 있다. 즉, 이처럼 서로 관계가 얽힌 양자가 수 없이 많다면, 더 많은 정보가 결정될 것이다.

양자의 특성 3. 불확정성의 원리 (Uncertainty Principle)

불확정성의 원리는 양자 역학에서 맞바꿈 관측량(Commuting Observables)이 아닌 두 개의 관측가능량(observable)을 동시에 측정할 때, 둘 사이의 정확도에는 물리적 한계가 있다는 원리다. 엄청 어려운 말로 쓰여있지만, 쉽게 생각해볼 수 있다. 어떤 물리량을 측정할 때는 연산자를 사용하는데, A를 측정할 때에 사용한 연산자와, B를 측정할 때 사용한 연산자가 교환법칙(맞바꿈 관계)이 서로 성립하지 않으면 두 연산자에 대해서 불확정성의 원리가 성립하고 고로, 두 물리량을 동시에 정확히 알아낼 수 없으며, 부정확도를 일정 수준 이하로 줄일 수 없다. 비전공자의 입장에서 물리라는 학문은 겁나 어려운 내용인건 확실한 거 같다.불확정성의 원리가 양자암호통신에 있어 중요한 이유는 바로 양자가 복제 불가능하다는 것을 증명하기 때문이다. 위에서 말했듯이 양자중첩 때문에 양자는 여러 상태를 동시에 가지고 있고, 불확정성의 원리 때문에 동시에 정확하게 측정할 수 없다. 고로, 양자는 복제될 수 없고 이 원리에 기반하여 양자암호가 안전하다는 것을 입증할 수 있다.

그래서 양자를 어떻게 사용하는가?

스핀이라는 양자의 상태를 이용해서 정보를 표현한다!

양자역학에서의 에너지는 모두 기본에너지 \(\epsilon = \hbar \nu \) (\(\epsilon\)은 에너지, \(\hbar\)는 플랑크상수, \(\nu\)는 진동수)의 정수배2이다. 고로 임의의 에너지 값을 가질 수 없으므로 에너지 값은 불연속적이다. 모든 물체는 진동하지만, 어떤 물체건 간에 항상 일정한 진동수를 가질 수 없다. 어떤 양자역학계가 불연속적인 두 상태로 이루어져있다면, 우리는 일반적인 컴퓨터에서 사용하는 이진법인 0과 1을 나타내는에 사용할 수 있을 것이다. 그런데, 스핀이라고 하는 상태는 두 가지의 양자역학적 상태만 가능하기 때문에 이진법을 표현하는데 사용3될 수 있다.

컴퓨터에서는 정보의 최소 단위가 0과 1 둘중에 하나의 값을 가지는 Bit이다. 그러나, 양자 컴퓨터에서는 정보의 최소 단위를 양자 비트(Quantum Bit) 또는 큐빗(Qubit)라고 한다. 큐빗은 0과 1 뿐만 아니라 0과 1의 중첩상태를 값으로 가질 수 있다. (양자의 상태를 측정만 하면 그 또한 다른 정보로 표현될테니깐 말이다.)

이제 좀더 물리학적인 표현으로 들어가보자. 큐빗이란 불연속적인 두 양자 역학계를 표시하는 \(\lbrace \vert 0 \rangle\), \(\vert 1 \rangle \rbrace\) 를 직교 기저(Orthonormal Basis)로 하는 2차원 Hilbert 공간에서의 임의의 상태를 말한다. 큐빗은 일반적으로 중첩상태 에 있는데 이를 수학적으로 \(a \vert 0 \rangle + b \vert 1 \rangle\) 로 표현되며, 여기서 \(a, b\) 는 \(\vert a \vert ^2 + \vert b \vert ^2 = 1\) 을 만족하는 복소수라고 한다. 여기서 \(\vert a \vert ^2\) 과 \(\vert b \vert ^2\) 는 각각 0과 1이 측정될 확률이다.

양자컴퓨터의 특징은 양자병렬(Quantum Parallelism)이라는 것이다. 큐빗의 \(a \vert 0 \rangle + b \vert 1 \rangle\) 이라는 중첩상태에 대하여 양자역학적 상호작용을 통해서 연산을 수행하게 되는데, 중첩상태라는 것이 무한히 가능한 여러 상태의 연산 을 의미하기 때문에 한번의 연산으로 여러 계산을 동시에 수행하는 효과를 얻을 수 있다. 즉, 어마어마한 병렬적 프로세싱 이 가능해진다는 말이다.

중첩상태에서 측정을 하면 측정 결과는 0과 1중에 하나로 나타난다. 왜냐하면 불확정성의 원리에 의해서 두가지 이상의 특성을 동시에 (정확하게) 측정할 수 없기 때문이다. 또한 위에서 말한대로 양자중첩 이론에 의하면 측정하면 어떤 특성으로 확정되기 때문이다. 슈뢰딩거의 고양이에서 상자를 열어보면 살았거나, 죽었거나 둘 중에 하나 인것 처럼

양자로 정보를 보내자.

Alice라는 사람이 Bob에게 양자로 정보를 보내려는 상황이라고 가정하자. Alice가 양자전송장치를 통해서 1개의 큐빗를 보냈다고 하자. 위에서 언급한 불확정성의 원리에 의하면, Bob은 1개의 큐빗에 1bit로 밖에 측정(해석)할 수 밖에 없다. 힘들게 큐빗으로 보냈는데, 1큐빗에 1bit의 정보를 전달할 수 밖에 없다면, 비효율적인 통신방법이 된다. 그런데, 위에서 언급한 양자얽힘 현상을 적절하게 이용하면 1큐빗으로 2bits의 정보를 전송할 수 있다. 그 이유를 아래에서 자세히 설명해보겠다.

순수하게 양자를 보내서 정보를 전달하는 방법은 다음과 같다. Alice가 Bob에게 어떤 양자를 보낸다고 하자. 보내고 싶은 광자(양자 중의 한 종류)를 BBO결정을 통과하게 하여 두개의 광자로 분리한다. 두 광자는 본래 하나의 광자이기 때문에 상호관련이 있으며(서로 양자얽힘의 관계에 있다.) 이것은 벨쌍이라는 상태로 표현할 수 있다.

\[ \Large |Bell = |H \rangle _{Alice} |V \rangle _{Bob} - |V \rangle _{Alice} |H \rangle _{Bob} \]

위의 수식에 의해서 Alice의 편광을 측정했을 때 H(수평편광)으로 밝혀지면, 양자얽힘 이론에 의해서 Bob의 편광이 V(수직편광)임을 알 수 있고 Alice의 편광이 V(수직편광)으로 밝혀지면, Bob의 편광이 H(수평편광)임을 알 수 있다. 이것을 이용해서 Superdense Coding 이라는 기술을 접목하면 양자원격전송(Quantum Teleportation) 기술을 실현할 수 있다. 내용이 너무 어렵다.

양자 키 분배 (Quantum Key Distribution)

양자암호통신의 핵심은 비밀키를 실시간으로 통신상에서 안전하게 분배하는 기술4이다. 비밀키를 양자의 특성을 이용해서 안전하게 분배하는 기술을 양자 키 분배라고 한다. 일회성 패드의 한계점을 극복할 수 있는 기술이다. 1984년 제안된 BB84 Protocol이 안정성과 구현가능성 면에서 가장 강력한 프로토콜로 인정받았으며, 실제 시스템에 채용되고 있다.

BB84 Protocol

Imgur

위의 표처럼 먼저 송신자와 수신자가 네 가지 극성의 비트 표현법을 결정한다. 편광에는 2종류를 사용하기로 한다. 수직편광과 수평편광.

  1. 송신자가 4n 비트의 데이터를 +와 x의 편광필터를 랜덤으로 선택해서 송신한다. 그리고 보낸 데이터와 필터를 기록한다.
  2. 수신자는 수신받은 데이터를 +와 x의 편광검출기를 자기 나름대로의 랜덤으로 선택해서 관측한다.
  3. 수신자는 송신자에게 자신이 사용한 필터를 송신자의 기록과 비교대조 한다.
  4. 필터와 검출기가 일치하면 데이터를 가지고 있고, 다르면 데이터를 버린다. 일치할 확률이 \1 \over 2\이므로 2n비트의 동일한 데이터를 서로 공유하게 된다.
  5. 수신자는 데이터의 일부를 공개하고 송신자는 데이터를 자신이 보낸 데이터와 대조해서 일치여부를 확인한다.
  6. 데이터가 일치하면 일회성패드로 사용하고, 데이터가 일치하지 않으면 도청이 있었다는 것으로 간주, 데이터를 모두 버리고 다시 반복해서 일회성패드를 생성한다.

도청자가 존재한다면, 양자의 특성 중의 하나의 불확정성 원리 때문에 양자를 완벽히 복제하여 재전송이 불가능하기 때문에 광자의 극성이 변화하게 될 것이고, 결국 데이터를 변조하게 된다. 그렇다면 에러율이 매우 높아지기 때문에 도청의 여부를 쉽게 파악할 수 있는 안전한 암호법이다.




  1. 한상욱 외 3명, <물리계층의 신개념 보안통신기술, 양자암호통신>, 한국과학기술연구원 

  2. 이화연 외 2명, <양자 키분배="" 프로토콜="">, 정보보호학회지, 12권 5호, 2002년 10월 

  3. 아마 고등학교 화학1에서 배우는 파울리 배타 원리에 나오는 자기 스핀 양자수를 말하는게 아닐까 싶다. (필자의 주관적인 견해) 

  4. 한상욱, Ibid. 


Me

Coding Future, Decoding Society.