시저 암호 (Caesar Cipher)
시저 암호는 가장 오래되고 간단한 형태의 치환 암호(Substitution Cipher)입니다. 평문(원본 메시지)의 각 알파벳을 일정한 거리(Shift Key)만큼 뒤로 밀거나 앞으로 당겨서 암호문으로 만드는 방식입니다.
1. 작동 원리: 치환 (Substitution)
- 원리: 메시지에 사용된 각 글자를 알파벳 순서에서 일정 간격 떨어진 다른 글자로 대체합니다.
- 핵심: '키(Key)'는 글자를 몇 칸 이동시킬지 결정하는 숫자입니다.
2. 암호화 과정 (Encryption)
평문 (Plaintext): ATTACK
키 (Key): 3 (오른쪽으로 3칸 이동)
- A를 3칸 이동: C, D $\rightarrow$ D
- T를 3칸 이동: U, V, W $\rightarrow$ W
- A를 3칸 이동: D $\rightarrow$ D
- C를 3칸 이동: D, E, F $\rightarrow$ F
-
K를 3칸 이동: L, M, N $\rightarrow$ N
-
암호문 (Ciphertext):
DWWDFN
원형 (Circular) 처리: 만약 Z에서 3칸 이동해야 한다면 다시 A로 돌아와 B, C로 이동합니다. (모듈러 연산 $\pmod{26}$ 사용)
3. 해독 (Decryption)
해독은 암호화의 반대 과정입니다. 암호화 키가 +3이었다면, 해독 키는 -3 또는 알파벳 수(26)에서 3을 뺀 +23이 됩니다.
- 암호문 (Ciphertext):
DWWDFN -
해독 키 (Decryption Key):
-3 -
D를 3칸 되돌림 $\rightarrow$ A
- W를 3칸 되돌림 $\rightarrow$ T
4. 보안의 취약점
시저 암호는 현대 암호학 관점에서 볼 때 보안성이 매우 취약합니다.
- 키의 개수 제한: 알파벳이 26개이므로 키의 종류는 25가지(
1부터25까지)에 불과합니다. - 브루트 포스 공격: 모든 가능한 키(25가지)를 대입해보는 무차별 대입 공격(Brute Force Attack)으로 몇 초 만에 해독이 가능합니다.