개요
고전 암호학에서 가장 널리 알려진 두 가지 기법인 치환 암호(Substitution Cipher)와 전치 암호(Transposition Cipher)는 모두 평문(Plain Text)을 암호문(Cipher Text)으로 변환하는 전통적인 암호화 방식입니다. 두 기법은 암호화에 접근하는 방식에서 근본적인 차이를 보이며, 이 차이를 이해하는 것은 현대 암호학의 기초를 다지는 데 매우 중요합니다.
치환 암호 기법이란?
치환 암호 기법은 평문의 각 문자를 다른 문자, 숫자 또는 기호로 대체하여 암호문을 만드는 고전 암호 기법입니다. 이 기법에서는 문자 자체의 정체(identity)는 변경되지만, 문자의 위치는 그대로 유지됩니다.
대표적인 예로 카이사르 암호(Caesar Cipher)가 있으며, 각 알파벳을 일정한 간격만큼 밀어 다른 문자로 치환하는 방식입니다.
치환 암호의 종류
- 단일 문자 치환 암호(Monoalphabetic Substitution Cipher): 하나의 문자가 항상 동일한 문자로 치환됩니다.
- 다중 문자 치환 암호(Polyalphabetic Substitution Cipher): 같은 문자라도 위치에 따라 서로 다른 문자로 치환됩니다.
전치 암호 기법이란?
전치 암호 기법 역시 평문을 암호문으로 변환하는 고전 암호 기법으로, 문자의 정체는 그대로 둔 채 각 문자의 위치를 재배열하는 방식입니다. 즉, 사용된 문자는 동일하지만 배열 순서가 변경되어 원래 의미를 파악하기 어렵게 만듭니다.
대표적인 예로 레일 펜스 암호(Rail Fence Cipher)가 있으며, 문자를 지그재그 형태로 배치한 후 특정 순서로 읽어내는 방식입니다.
전치 암호의 종류
- 키 없는 전치 암호(Keyless Transposition Cipher): 미리 정해진 규칙에 따라 문자를 재배열합니다.
- 키 기반 전치 암호(Keyed Transposition Cipher): 키를 사용하여 문자의 재배열 순서를 결정합니다.
치환 암호 vs 전치 암호 주요 차이점
아래 표는 두 암호 기법의 핵심적인 차이점을 정리한 것입니다.
| 번호 | 구분 | 치환 암호 기법 | 전치 암호 기법 |
|---|---|---|---|
| 1 | 알고리즘 | 각 문자를 다른 문자·숫자·기호로 대체합니다. | 각 문자를 원래 위치와 다른 위치로 옮깁니다. |
| 2 | 종류 | 단일 문자 치환 암호와 다중 문자 치환 암호가 있습니다. | 키 없는 전치 암호와 키 기반 전치 암호가 있습니다. |
| 3 | 변경 요소 | 문자의 정체는 바뀌지만 위치는 그대로 유지됩니다. | 문자의 위치는 바뀌지만 정체는 그대로 유지됩니다. |
| 4 | 탐지 가능성 | 자주 사용되지 않는 문자를 통해 패턴이 쉽게 추적될 수 있습니다. | 원래 위치에 가까운 문자일수록 쉽게 추적될 수 있습니다. |
| 5 | 예시 | 카이사르 암호(Caesar Cipher) | 레일 펜스 암호(Rail Fence Cipher) |
마무리
치환 암호와 전치 암호는 '무엇을' 바꾸느냐의 차이로 구분됩니다. 치환 암호는 문자 자체를 바꾸고, 전치 암호는 문자의 순서를 바꾼다는 점이 핵심입니다. 흥미롭게도 현대 블록 암호인 DES나 AES 역시 치환과 전치의 개념을 조합하여 설계되었기 때문에, 이 두 고전 기법의 차이를 이해하면 현대 암호 시스템의 작동 원리를 더 깊이 있게 파악할 수 있습니다.