암호학에서 고전 암호(古典暗號)란 과거에 사용되었으나 지금은 잘 사용하지 않는 암호의 한 형태이다. 일반적으로 고전 암호는 손이나 간단한 기계 장치로 알파벳 문자(A~Z)을 조작하여 암호화한다. 반면, 현대적인 암호에서는 컴퓨터나 다른 디지털 기술을 이용하여 비트바이트를 조작한다. 고전 암호는, 빈도 분석 등을 통해 시스템 자체에 대한 정보 없이 암호문만을 분석하는 방식의 공격에 취약한 경우가 자주 있다.

종류 편집

고전 암호는 주로 이동 암호치환 암호로 구분할 수 있다. 더욱 복잡한 알고리즘은 암호 생성시에 치환과 이동을 섞는 것이다. DES와 같은 현대적 블록 암호는 치환과 이동을 몇 차례 반복한다.

치환 암호 편집

치환 암호는 문자(또는 문자열)이 체계적으로 다른 문자(또는 문자열)로 대체되는 것이다. 예를 들어, 간단한 암호화 방법으로 알파벳에서 각 문자를 다음 문자로 치환하는 방법이 있다.(즉, a는 b로, b는 c로, c는 d로, …, 마지막으로 z는 a로 치환한다. 물론 이 방법은 깨지기 쉽다.) 이 방법을 사용하면 "Hello my name is Bob."이 "Ifmmp nz obnf jt Cpc."로 암호화된다.

이동 암호 편집

이동 암호는 각 문자를 다른 문자로 치환하지 않고 그대로 두되, 어떤 규칙에 따라 문자들의 순서를 뒤섞은 것이다. 이런 방식의 간단한 암호화 방법으로는 문장 내의 단어를 거꾸로 쓰는 방법이 있다.(이 방법 역시 깨지기 쉽다.) 이 방법을 사용하면 "Hello my name is Bob."이 "olleH ym eman si boB."로 암호화된다.