BB84: 양자 비밀을 공유하는 방법

양자역학은 메시지를 보낼 수 없지만, 암호학에서 가장 오래된 문제를 풀 수 있습니다.

Sohum Thakkar
Sohum Thakkar · CEO, Qolour
May 11, 2026

지난 섹션에서 우리는 양자 얽힘이 메시지를 보내는 데 사용될 수 없음을 보았습니다. Alice와 Bob이 얽힌 쌍을 공유할 때 그들 사이에는 어떤 정보도 이동하지 않습니다.

그러면 양자역학이 통신에 대해 무엇을 할 수 있을까요?

알고 보니 양자역학은 메시지를 더 빠르거나 더 비밀스럽게 보내는 것을 도울 수는 없지만, 암호학의 가장 오래된 문제 중 하나를 풀 수 있습니다: 스파이에게 가로채이지 않으면서 누군가와 비밀 키를 공유하는 방법은 무엇인가?

고전 암호화

왜 그것이 중요한지 이해하려면 한 걸음 물러서야 합니다. 암호화는 인류 역사의 근본적인 부분이었습니다. 고대 로마부터 제2차 세계대전, 지금 이 순간 잠금 해제되는 여러분의 휴대폰까지, 인간은 항상 안전하게 통신할 방법이 필요했습니다. 이로 인해 수학자들은 메시지를 암호화하는 새로운 방법을 찾게 되었습니다.

사람들이 찾은 최고의 답은 버넘 암호로, 일회용 패드라고도 불립니다. 이 암호화 방식은 비밀 키를 사용해 누구도 읽을 수 없도록 메시지를 암호화하며, 송신자와 수신자가 동일한 키를 공유해야 합니다.

제2차 세계대전 중 Claude Shannon은 이것이 완벽하게 안전하고 완전히 깨질 수 없음을 수학적으로 증명했지만, 단 세 가지 조건 하에서만입니다:

  1. 1. 키가 완전히 비밀이다.
  2. 2. 키가 완전히 무작위이다.
  3. 3. 키를 절대 재사용하지 않는다.
수학자 Claude Shannon의 흑백 사진
이 사람이 그 수학 천재 Claude Shannon입니다. 자신의 암호화 체계가 긴 비밀 키를 공유해야 하기에 화가 난 듯한 표정입니다. 또한 자신의 이름이 이제 AI에 사용된다는 점에도 화가 났습니다.

그러나 몇 가지 문제가 있습니다:

  • 키는 메시지만큼 길어야 합니다. 1기가바이트의 데이터를 보내려면 1기가바이트의 키가 필요합니다.
  • 키는 한 번만 사용할 수 있습니다. 사용하는 순간 사라집니다. 다음 메시지에는 새로운 키가 필요합니다.

그런데 왜 어디에서나 이것을 사용하지 않을까요? 우리는 여전히 동일한 원래 문제를 가지고 있기 때문입니다: 먼저 어떻게 키를 Bob에게 안전하게 전달할 것인가?

여러분이 보내는 어떤 키도 가로채여 복사될 수 있고, 여러분은 절대 알지 못합니다.

양자 키 분배

1984년 Charles Bennett와 Gilles Brassard는 BB84를 발표했습니다: 양자역학을 사용해 비밀 키를 안전하게 분배할 수 있는 최초의 프로토콜입니다.

이는 양자 암호화가 아닙니다. 메시지는 여전히 일회용 패드로 고전적으로 암호화됩니다. 양자역학이 하는 일은 키 분배 문제를 푸는 것입니다. Alice와 Bob이 만나지 않고도 공유된 무작위 키를 생성하고, 누가 가로채려고 하는지 탐지할 수 있게 합니다.

이는 우리가 이미 본 양자역학의 근본적 사실로 귀결됩니다: 양자 상태를 교란시키지 않고는 측정할 수 없습니다. 그리고 알 수 없는 양자 상태를 복제할 수 없습니다.

고전적으로 스파이는 메시지를 가로채 완벽하게 복사할 수 있으며, 여러분은 절대 알 수 없습니다. 양자 세계에서는 그것이 불가능합니다. 어떤 간섭이든 흔적을 남깁니다.

BB84 데모: 키 분배

Alice는 Bob에게 일련의 큐비트를 보낼 것입니다. Bob은 그것들을 측정할 것입니다. 그들이 결국 공유하게 되는 것은 메시지가 아닙니다 — 누구도 지문을 남기지 않고는 볼 수 없는 비밀 무작위 키입니다.

Alice가 정확히 하는 일입니다. 키의 각 비트에 대해 그녀는 동일한 절차를 따릅니다.

먼저 그녀는 동전을 던집니다. 이는 무작위 비트 b를 줍니다. 앞면은 0, 뒷면은 1.

그 다음 다시 던집니다. 이는 무작위 기저 p를 줍니다. 앞면은 0 (Z 기저), 뒷면은 1 (X 기저).

그녀는 이 표에 따라 자신의 큐비트를 준비합니다:

bp전송된 큐비트
00|0⟩
10|1⟩
01|+⟩
11|−⟩

그녀의 비트가 0이고 기저가 Z이면 |0⟩을 보냅니다. 비트가 1이고 기저가 Z이면 |1⟩을 보냅니다. 기저가 X이면 |+⟩ 또는 |−⟩을 대신 보냅니다.

주목하세요: Alice가 어느 기저를 사용했는지 모르면 그녀의 비트를 안정적으로 추출할 수 없습니다. Z 기저 상태를 X 기저에서 측정하면 완전히 무작위한 결과가 나오며 그 반대도 마찬가지입니다. 기저가 키의 키입니다.

Alice는 자신의 큐비트를 준비했습니다. 이제 여러분 차례입니다.

여러분이 Bob입니다. 각 라운드마다 Alice는 비밀리에 두 개의 동전을 던지고 큐비트를 준비했습니다. 기저를 — Z 또는 X — 선택하고 측정하세요. 결과를 기록하고 누구와도 공유하지 마세요.

10라운드가 끝나면, Alice는 각 라운드에서 어떤 기저를 사용했는지 공개적으로 발표합니다. 그녀의 비트가 아니라 오직 기저만요.

여러분의 기저 선택을 Alice의 것과 비교하세요. 다른 기저를 선택한 라운드는 모두 버리세요 — 얻은 측정값은 무작위이고 의미가 없습니다.

남은 것이 여러분의 공유 키입니다. Alice는 자신의 쪽에서 동일한 비트 시퀀스를 가지고 있습니다.

여러분 누구도 이 키를 선택하지 않았습니다. Alice는 자신의 비트를 무작위로 선택했고, 여러분은 자신의 기저를 무작위로 선택했습니다. 키는 우연히 일치한 라운드에서 등장했습니다.

BB84 데모: 간섭

그런데 만약 누군가 듣고 있었다면?

Eve는 각 큐비트가 여러분에게 도달하기 전에 가로챕니다. 그녀는 여러분이 가졌던 것과 동일한 문제를 안고 있습니다 — Alice의 기저를 모릅니다. 그녀는 추측해야 합니다.

Eve가 잘못된 기저를 추측하면 큐비트를 교란시킵니다. 그녀는 그것을 되돌릴 수 없습니다. 그녀는 자신이 측정한 것에 기반해 새로운 큐비트를 여러분에게 보내야 하는데, 이는 완전히 잘못된 것일 수 있습니다.

이번에는 채널에 Eve가 있는 상태에서 데모를 다시 실행하세요. 10라운드가 끝나면 Alice는 공유 키의 처음 5개 위치에 대한 자신의 비트를 공개적으로 드러낼 것입니다. 그것을 여러분의 것과 비교하세요.

오류가 보이나요? 그것이 Eve의 지문입니다. 그녀가 잘못된 기저를 추측했을 때, 그녀는 교란된 큐비트를 여러분에게 보냈고, 여러분의 측정은 잘못 나왔습니다.

도청자가 없는 깨끗한 채널에서는 오류율이 0이어야 합니다. Eve의 간섭은 이를 25%로 밀어 올립니다.

여러분의 샘플에 오류가 없다는 것은 도청자가 없다는 뜻입니다. 키는 안전합니다. 메시지를 암호화하기 위해 일회용 패드와 함께 사용하세요.

여러분의 샘플에 오류가 있다는 것은 누군가 듣고 있었다는 뜻입니다. 키를 버리고 다른 채널에서 다시 시작하세요.

결론

Shannon은 일회용 패드가 완벽하게 안전하다고 말했습니다. 문제는 항상 키를 Bob에게 전달하는 것이었습니다. BB84는 이를 해결합니다 — 키를 만질 수 없게 만드는 것이 아니라, 어떤 간섭이든 탐지 가능하게 함으로써.

  • 양자역학은 메시지를 보낼 수 없습니다.
  • 양자역학은 조용히 가로채일 수 없습니다.
  • 양자역학은 비밀 키를 분배할 수 있습니다.

계속 탐험하세요

손에 쥘 수 있는 두 개의 큐비트.

Qubi는 모델 큐비트입니다. 짝을 짓고, 게이트를 실행하고, BB84(그리고 모든 다른 프로토콜) 뒤의 직관을 손으로 쌓아 가세요.