많은 고전 암호에서는 송신자와 수신자가 같은 키를 가지고 있어야 했습니다. 카이사르 암호에서는 두 사람이 알파벳을 미는 칸의 수를 공유하고 있어야 했고, 비제네르 암호에서는 키워드를 공유하고 있어야 했습니다. 이렇게 송신자와 수신자가 같은 키를 공유해야하는 암호 시스템을 **대칭키 암호 시스템(Symmetric Key Cryptosystem)**이라고 부릅니다.

같은 키를 갖고 있어야 하는 특성상, 대칭키 암호 시스템은 사전에 서로 키를 공유하는 과정이 반드시 필요합니다. 그런데 현대에 많은 데이터가 오가는 네트워크는 도청에 매우 취약하므로 키를 평문으로 공유하기는 부적절합니다. 그래서 학자들은 외부인이 키가 공유되는 과정을 도청해도, 공유되는 키는 알지 못하게 하는 **키 공유 알고리즘(Key-Sharing Algorithm)**을 연구하였습니다.

1970년 중반에 Diffie와 Hellman이 Diffie-Hellman 키 교환 알고리즘을 제시하였고, 송신자와 수신자가 서로 다른 키를 사용하는 **공개키 암호 시스템(Public Key Cryptosystem)**의 개념을 창안했습니다. 이는 대칭키와 대비되어 **비대칭키 암호 시스템(Asymmetric Cryptography)**이라고도 불립니다.

이번 코스에서는 대칭키 암호와 비대칭키 암호를 소개하고, 현대 암호학에서 제공하는 기밀성, 무결성, 인증, 부인 방지란 무엇인지 간략히 설명하겠습니다.

Untitled

혼돈과 확산

1945년에 암호학자 Claude Shannon은 안전한 암호 시스템은 **혼돈(Confusion)**과 **확산(Diffusion)**의 성질을 만족해야한다고 발표했습니다. 현대의 많은 암호 시스템이 두 성질을 따르고 있습니다.

혼돈

혼돈은 암호문에서 평문의 특성을 알아내기 힘든 성질을 말합니다. 단일 치환 암호를 사용하여 같은 평문을 두 번 암호화하면 출력된 두 암호문은 서로 같습니다. 공격자는 암호문을 보고 평문이 무엇인지 유추하지는 못하더라도 암호문을 생성한 두 평문이 같다는 사실은 알 수 있습니다. 따라서 단일 치환 암호는 혼돈 성질을 만족하지 못하는 암호입니다.

Untitled

확산

확산은 평문의 작은 변화가 암호문의 큰 변화로 이어지는 성질입니다. 이 성질은 대부분의 고전 암호에서 찾아보기 힘든 성질입니다.

Untitled