카이사르 암호

Written by Integralus

이론과 설명

카이사르 암호는 로마의 정치가이자 군인이었던 카이사르 (Julius Caesar, 100-44 B.C.)의 이름을 딴 것이다. 세토니우스에 의하면 카이사르는 암호를 유용하게 잘 다루었다고 한다. 카이사르가 애용했던 암호화 방법은 각각의 알파벳을 아래의 규칙에 따라 치환하는 것이었다.

평문 abcd efgh ijkl mnop qrst uvwx yz
암호문 DEFG HIJK LMNO PQRS TUVW XYZA BC


쉽게 규칙을 말하자면 각각의 알파벳을 세번째 다음 순서의 알파벳으로 바꾸는 것이다. 이 방법을 통해 cipher를 암호화하면 FLSKHU가 된다. 암호화한 규칙을 알고 있다면 복호화 절차 역시 어렵지 않다. 이 암호화 절차를 수학적으로 표기하면 다음과 같다.

$$f(x)=x+3 \pmod{26}$$

A부터 Z까지의 알파벳을 차례로 0부터 25까지의 정수에 대응한다면, 위 공식에 따라 법을 26으로 하는 덧셈으로 카이사르 암호화를 설명할 수 있다. 이 함수 f를 카이사르 암호화 함수라고 부르도록 하자.

복호화 과정은 카이사르 암호화 함수 f의 역함수를 구하는 과정이 된다. 26을 법으로 하는 정수군은 덧셈에 대한 항등원과 역원을 가지므로 간단한 산수를 동원해 역함수를 계산할 수 있다.

$$f^{-1}(x)=x-3 \pmod{26}$$

카이사르 암호 변환기

카이사르 암호 방식으로 평문을 암호화하거나, 암호문을 해독할 수 있습니다.

결과

일반화

카이사르 암호는 암호화 할때 세번째 다음의 알파벳을 사용하므로 암호화 열쇠(key)를 3이라고 할 수 있다. 암호화 열쇠를 3이 아닌 다른 정수로 대체해도 역시 비슷한 암호화를 할 수 있는데, 이를 일반화된 카이사르 암호라고 부른다.