-
큐비트 기반 양자암호 구현 기초 (1)Category Q/Quantum Computing 2023. 7. 2. 20:03
QUANTUM KOREA 2023
▼ 참관 후기 (접은글)
더보기2023. 06. 28 수요일, 회사 연차를 내고 퀀텀 코리아 2023 컨퍼런스 세션에 참여하였다.
01234DDP에서 개최된 Quantum Korea 2023 아침 8시30분, 무려 피터 쇼어 교수가 기조연설을 진행하였다.
현장에 있던 많은 사람들도 명강의를 직접 들을 수 있다는 것에 매우 들뜬 분위기였다.
쇼어 알고리즘으로도 유명한 학자인 만큼 양자 암호를 기반으로 한 화폐시스템에 대한 주제를 다루었는데
일반적으로 업계 동향 정도만 짚고 넘어가는 기조연설과 달리
한 시간동안 수식과 알고리즘들을 자세히 설명하였기 때문에 모든 내용을 이해하기는 쉽지 않았다.
동형사상(고르디아스 매듭), 사원수(해밀턴수), 벡터 및 텐서가 기본 원리로 작용한다고 하며
이에 대한 내용은 3분기 내 후속 학습을 통해 자세히 다뤄볼 예정이다.
컨퍼런스 후 느낀점과 학습 방향에 대한 고민
28일 하루동안 무려 20개에 가까운 세션들이 진행되었고
세계 석학들의 연구 주제와 현황을 볼 수 있어서 매우 흥미로웠다.
동시에 큰 벽에 가로막힌 느낌 (=) 왠지 모를 막막함도 느꼈는데
엄청난 자본을 투입하여 이미 수 년간 연구를 진행하고 있는 해외 사례들을 보면서
보다 뛰어난 연구성과를 내려면 얼마만큼의 노력과 투자가 필요할지.. 머릿속이 복잡해졌다.
그래도 내 수준에서는 아직 저런걸 걱정하기 보다는 그냥 열심히 학습에 몰두하는게 더 낫기 때문에
마음을 다잡고 10시간동안 들었던 세션들을 하나하나 되짚어 보았다.
가장 재미있었던 주제들은 역시나 쇼어교수의 강의를 포함하여 암호, 네트워크, safety에 대한 내용들이었다.
그래서 당분간 양자 암호에 대한 학습을 병행하고자 한다.
양자암호의 선형대수적 표현
고전 컴퓨팅 분야에서 암호학을 배울 때 가장 많이 나오는 가상의 인물
Alice(송신자), Bob(수신자), Eve(도청자) 를 예시로 암호통신의 선형대수적 표현에 대해 짚고 넘어가자.
Alice → Bob 큐비트 송신 스트림
1. 앨리스는 본인의 정규직교 기저 $|a_{0}\rangle$, $|a_{1}\rangle$, 을 사용해 큐비트를 측정한다.
2. 밥은 앨리스가 보낸 큐비트를 자신의 정규직교 기저 $|b_{0}\rangle$, $|b_{1}\rangle$ 을 사용해 측정한다.
3. 이 때 $|a_{0}\rangle = d_{0}|b_{0}\rangle + d_{1}|b_{1}\rangle$ 이다.
4. 밥이 큐비트를 측정할 때 $d_{0} ^{2}$의 확률로 $|b_{0}\rangle$ 상태가 되거나, $d_{1}^{2}$의 확률로 $|b_{1}\rangle$ 상태로 관측된다.양자암호와 일반적인 현대암호체계의 차이점은 하기 내용과 같다.
- 송수신 양방의 관측 기저에 따라 실제 주고받는 데이터 값이 달라질 수 있다.
- 관측 기저와 수신데이터로 순서열 테이블을 만들고 이를 통해 보안 검토와 키값을 교환할 수 있다.
- 관측 하는 순간 큐비트의 상태가 변경되어 통신의 도청 유무를 바로 파악할 수 있다.
보안통신을 위해 전자 스핀을 0, 120, 240도 방향으로 세팅하는 시나리오에서
앨리스가 240도, 밥이 120도 방향으로 큐비트를 측정한다고 가정하였을 때
$\theta$ 방향의 정규직교 기저는 $\begin{bmatrix} cos(\frac{\theta}{2}) \\-sin(\frac{\theta}{2}) \end{bmatrix}$, $\begin{bmatrix} sin(\frac{\theta}{2}) \\cos(\frac{\theta}{2}) \end{bmatrix}$ 이다.
[1]
앨리스가 보낸 데이터를 측정하는 것은
큐비트를 밥의 기저벡터를 사용해 선형중첩으로 표현하는 것과 같다. (=관측)
구체적으로는 밥의 기저벡터의 전치행렬(bra)과 큐비트를 곱해 확률진폭을 구하는 개념이다.
$$ \begin{bmatrix}\frac{1}{2} & -\frac{\sqrt{3}}{2} \\\frac{\sqrt{3}}{2} & \frac{1}{2} \end{bmatrix} \begin{bmatrix}\frac{1}{2}\\\frac{\sqrt{3}}{2}\end{bmatrix} =\begin{bmatrix}-\frac{1}{2}\\\frac{\sqrt{3}}{2}\end{bmatrix} $$
좌측 2 X 2 행렬은 밥의 기저의 전치행렬(bra)이며, 좌측 2 X 1 행렬은 앨리스가 보낸 0 데이터에 해당하는 기저이다.
따라서 데이터 측정의 결과값은 하기 내용과 같다.
$$\begin{bmatrix}\frac{1}{2}\\\frac{\sqrt{3}}{2}\end{bmatrix}
= -\frac{1}{2}\begin{bmatrix}\frac{1}{2}\\-\frac{\sqrt{3}}{2}\end{bmatrix}+\frac{\sqrt{3}}{2}\begin{bmatrix}\frac{\sqrt{3}}{2}\\\frac{1}{2}\end{bmatrix}$$$-\frac{1}{2}$와 $\frac{\sqrt{3}}{2}$는 각각 확률진폭이므로,
계산 결과 밥이 앨리스가 보낸 큐비트를 측정할 때 1/4 확률로 0을 얻고, 3/4 확률로 1을 얻게 된다.
이 개념은 아래 BB84 프로토콜에서 도청 유무 검증에도 사용된다.
BB84 프로토콜과 암호 통신
BB84 프로토콜은 1984년 창안자인 찰스 베넷 (Charles Bennett)과 질 브라사르 (Gilles Brassard)의 이름을 따 만들어진 알고리즘으로, 2개의 순서 정규직교 기저를 활용하며, 양자암호를 대표하는 상징성을 가지고 있다.
마찬가지로 앨리스와 밥, 이브가 등장한다. [2]
앨리스와 밥은 아래 표와 같은 내용의 필터-데이터 대응값을 사용한다.
Basis 0 1 수직 ↑ ↓ 수평 ↙ ↗ 1. 엘리스가 임의의 비트를 생성한다.
2. 비트를 전송할 편광신호로 변환하기 위해 필터를 하나 선택한다.
3. 필터에 대응되는 편광신호를 생성하고 양자채널로 보낸다
4. 밥은 측정하기 위한 편광필터를 임의로 선택한다.
5. 선택한 편광필터로 값을 측정하여 보관한다.송신자와 수신자 양측에서 각각 데이터 필터를 랜덤하게 선택한다는 것이 핵심 내용이다.
이러한 데이터 송수신을 계속해서 거치면 길이가 각각의 기저와 관측 데이터가 기록된 길이 (4n+키값)의 순서열이 만들어 진다.
데이터 0 1 1 0 0 0 1 0 Alice
필터수직 수직 수평 수직 수평 수평 수평 수직 Alice
측정값↑ ↓ ↗ ↑ ↙ ↙ ↗ ↑ Bob
필터수직 수평 수직 수직 수평 수직 수평 수평 Bob
측정값↑ ↗ ↓ ↑ ↙ ↑ ↗ ↙ 키 값 0 불일치 불일치 0 0 불일치 1 불일치 6. 엘리스와 밥은 퍼블릭 채널을 통해 같은 필터를 사용했는지 여부를 검증한다 (필터값에 대응하는 2n 값 교환)
7. 만약 사용한 필터의 순서가 다르다면 중간에 도청이 의심되기 때문에 점검 로직을 실행한다.
8. 필터 순서열이 동일하면 같은 필터를 사용한 데이터를 저장하고 이를 키값으로 활용한다.
위의 표에서는 0001이 키값이 된다.중간에서 패킷을 도청한다면, 이브 역시 반드시 필터를 랜덤하게 선택해야 한다.
이 때 50% 확률로 Bob과 다른 필터를 선택하게 되고, 잘못 선택한 필터에서도 옳은 데이터를 관측할 확률 또한 각 50%이다.
(위에서 설명한 $|a_{0}\rangle = d_{0}|b_{0}\rangle + d_{1}|b_{1}\rangle$ 의 수식 때문이다.)
따라서 이브가 단일 패킷에 실린 데이터를 '잘못' 측정할 확률은 $\frac{1}{2}$ X $\frac{1}{2}$ = 25% 이며
$$P_{d}=1-(\frac{3}{4})^n$$
로 나타낼 수 있다. 이 때 n=72 이상의 데이터에서 도청이 발견될 확률은 100%에 육박한다.
송수신 데이터의 형태를 표현하면 아래 내용과 같다.
Qiskit Qbit 상태값 - 좌측부터 [A, B, C, D]로 칭한다. 좌측부터 순서기저 $\begin{bmatrix}1 \\0 \end{bmatrix},\begin{bmatrix}0 \\1 \end{bmatrix},\begin{bmatrix}\frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}} \end{bmatrix},\begin{bmatrix}\frac{1}{\sqrt{2}} \\\frac{1}{\sqrt{2}} \end{bmatrix}$ 로 나타낼 수 있다.
A($|0\rangle$) 상태에서 Pauli-X 게이트 (Not)를 통과시키면 그림 B와 같이 큐비트의 상태가 $|1\rangle$로 변하며
Pauli - X Gate : 큐비트의 상태값을 X축 중심으로 180도 반전시킴 A($|0\rangle$) 상태에서 Hadamard 게이트를 통과시키면 그림 C와 같이 0과 1이 중첩된 상태로 변경된다.
Hadamard Gate : 큐비트를 중첩 상태로 만들어줌 마찬가지로 C(중첩) 상태에서 Pauli-Y 게이트를 통과시키면 D의 상태로 변경된다.
** 양자 컴퓨팅에서 사용되는 각각의 회로에 대한 자세한 내용은 이후 별도 포스팅을 통해 다룰 예정이다.
따라서 양자 암호 통신의 경우
- 도청 유무를 확실하게 판별할 수 있으며
- 양자 통신을 통해 키를 배분한 후, OTP등을 활용하여 안전한 통신세션 구축이 가능하다.
그러나 양자 암호 구간을 벗어난 End Point 에서의 정보유출에는 취약하다.
예를 들어, 밥의 컴퓨터가 실시간으로 해킹되고 있다면 양자통신 이후 저장된 키값을 바로 탈취당할 수 있기 때문이다.
이에 따라 양자암호를 활용한 통신 구축 및 보안 검증에는 고전/현대 보안 기술이 병행되어야 한다는 점을 알 수 있다.
참고자료
[1] Quantum Computing for Everyone : 크리스 베른하트 지음, 이정문 옮김
[2] 위키피디아 : https://ko.wikipedia.org/wiki/양자_키_분배
'Category Q > Quantum Computing' 카테고리의 다른 글
양자 게이트 기초 (2) - 벨 회로와 양자통신 (0) 2023.07.29