대칭 암호 vs 비대칭 암호(공개키 암호)
- 예전에는 DES가 표준 대칭키 암호였지만 NIST에 의해 2000년에 표준 대칭키 암호가 RSA로 선정되었다.
- 하지만 평문을 암호화하고 암호문을 복호화 하는 데 같은 키를 사용하기 때문에 정당하지 않는 수신자가 키를 사용해서 복호화 할 수 있는 가능성이 있다.
그러므로 정당한 수신자에게만 키를 전달하기 위해서는 공개 키 암호(비대칭 암호) 기술이 필요하다.
공개키
- 공개 키 암호에서는 암호화 키와 복호화키(이 두개를 합쳐 키 쌍-key pair-이라고 부른다)가 분리되어 있다.
- 개인이 가지고 있는 복호화키는 절대로 공개해서는 안된다. 개인 키(private key)라고도 부른다.
- 송신자는 암호화 키를 써서 메세지를 암호화하고, 수신자는 복호화키를 써서 암호문을 복호화한다.
- 주요 이해하는데 개념은 나머지 연산과 소수이다.
- 밥은 공개 키/개인 키로 이루어진 한 쌍의 키를 만든다.
- 밥은 자신의 공개 키를 앨리스에게 보낸다.
- 앨리스는 밥의 공개 키를 써서 메세지를 암호화 한다.
- 암호화한 메세지는 밥의 개인 키로만 복호화 할 수 있다. 앨리 스는 방의 공개키를 가지고 있지만, 밥의 공개키를 사용해도 암호문을 복호화할 수 없다.
- 앨리스는 암호문을 밥에게 보낸다.
- 이 암호 문은 도청자 이브가 봐도 괜 찮다. 이브는 밥의 공개 키를 가지고 있을지도 모르지만, 밥의 공개키로 복호화할 수는 없다.
- 밥은 자신이 개인 키를 써서 암호문을 복호화 한다.
키 배송 문제는 사라졌지만 정말 공개키가 정당한 수신자가 보낸 공개키인지 확인할 필요가 있다. 맬로리가 키를 도청하거나 탈취해서 수신자 행세를 할 수 있다.
공개키를 탈취해서 맬로리가 밥의 행세를 할 수 있다.