본문 바로가기

이론/보안

[암호학] 스핀에 기반한 양자암호

양자 암호란?

 

'양자'란, 더이상 쪼개지지 않는 물리량의 최소 단위를 말합니다. 

 

양자암호

 

양자역학적 원리를 이용한 암호체계입니다.

 

양자 암호 중 가장 대표적인 방법은 '양자 키 분배' 입니다.

 

'양자 키 분배'는, 입자의 스핀(spin)에 기반한 암호시스템입니다. 

 

스핀(Spin)이란,

 

양자 역학에서 입자의 운동과 무관한 고유의 각 운동량이라고 정의합니다.

 

전자는 스핀 양자수 -½  , 양자는 스핀 양자수 1을 갖습니다.

 

atom (원자)


양자 암호 흐름

 

1) 송신

 

먼저 송신측(Alice)에서 '01100001101' 이라는 메시지를 보내고 싶으면,

 

각각의 숫자를 양자의 스핀(spin)으로 겁니다. 

 

양자를 위로 Spin 을 걸면 -> 1

 

아래로 Spin을 걸면 -> 0 이라고 가정합니다.

 

2) 수신

 

수신측(Bob)에서는, 양자 암호문들이 막 날아옵니다.

 

이때, 암호문의 Spin이 아래/위인지, 좌/우인지 모릅니다.

 

그러므로 한 광자 필터를 통해 방향을 정해서 읽습니다.

 

3) 수신 후 송신측,수신측 비교  

 

 수신측(Bob)이 양자 암호문의 400비트 정도를 측정을 마치고 나면, 200비트 정도를 버립니다.

 

200비트 중 100비트 정도를 뽑아서 송신측(Alice)수신측(Bob)이 비교합니다.

 

송신측과 수신측이 비교해서 100비트 정도가 다 같으면 성공이고 아니면 실패입니다.

 

이 비교는 공개적으로 진행됩니다. 

 

나머지 100비트는 송신측, 수신측이 비공개로 공유할 수 도 있습니다. 

 

4) 도청 여부 판단

 

만약, 중간에 엿듣는 사람이 있을경우,

 

도청자(중간에 엿듣는 사람)도 양자의 Spin을 읽어야합니다.

 

이때, 도청자도 Spin의 방향을 모르기 때문에 아래/위 또는 좌우를 정해서 읽어야합니다.

 

도청자가 양자 암호문을 읽을 경우, Spin의 값이 바뀌어 버립니다. 

 

따라서 송신측과 수신측은 

 

송신값의 방향과 수신값의 방향이 같은데, 

 

보낸 메시지와 받은 메시지가 다르면 중간에 누가 도청했다는 여부를 알아챌 수 있습니다.