카이사르 암호
이론과 설명
카이사르 암호는 로마의 정치가이자 군인이었던 카이사르 (Julius Caesar, 100-44 B.C.)의 이름을 딴 것이다. 세토니우스에 의하면 카이사르는 암호를 유용하게 잘 다루었다고 한다. 카이사르가 애용했던 암호화 방법은 각각의 알파벳을 아래의 규칙에 따라 치환하는 것이었다.
평문 | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
암호문 | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
쉽게 규칙을 말하자면 각각의 알파벳을 세번째 다음 순서의 알파벳으로 바꾸는 것이다. 이 방법을 통해 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이 아닌 다른 정수로 대체해도 역시 비슷한 암호화를 할 수 있는데, 이를 일반화된 카이사르 암호라고 부른다.