전치 암호(轉置暗號, transposition cipher)는 암호학에서 평문 단위의 위치(보통 문자열이나 문자열의 그룹)가 정규 시스템에 따라 이동되면서 암호문이 평문의 순열(permutation)을 이루는 암호화 방식이다. 즉, 문자 자체를 다른 문자로 바꾸는 치환 암호(substitution cipher)와 달리, 평문을 구성하는 문자들의 순서를 재배치하는 방식이다. 수학적으로는 전단사 함수(bijection)가 암호화를 위해 문자의 위치에, 복호화를 위해 역함수에 사용된다.
전치 암호는 고전 암호의 한 축을 이루며, 치환 암호와 함께 가장 기본적인 암호화 방식으로 분류된다. 두 방식은 종종 결합되어 사용되기도 하는데, 대표적인 예로 ADFGVX 암호나 현대의 AES(Advanced Encryption Standard)와 같은 고급 암호화 방식에서도 전치와 치환의 결합이 핵심 원리로 활용된다.
주요 유형
- 레일 펜스 암호(Rail Fence Cipher): 평문을 지그재그 패턴으로 여러 개의 "레일"에 나누어 쓴 후 행 단위로 읽어 암호문을 생성한다.
- 스키테일(Scytale): 고대 그리스에서 사용된 물리적 전치 장치로, 원통에 리본을 감아 글자를 쓴 후 풀어내면 문자가 재배열되는 방식이다.
- 경로 암호(Route Cipher): 평문을 일정한 크기의 격자(grid)에 쓴 후, 미리 정해진 경로(예: 나선형, 지그재그 등)를 따라 읽어 암호문을 생성한다.
- 컬럼 전치 암호(Columnar Transposition): 평문을 고정된 길이의 행으로 격자에 쓴 후, 키(key)에 의해 결정된 순서대로 열(column)을 읽어 암호문을 만든다. 키워드의 알파벳 순서를 이용하여 열의 순서를 결정하는 방식이 일반적이다.
- 이중 전치 암호(Double Transposition): 컬럼 전치 암호를 두 번 연속 적용하는 방식으로, 단일 전치보다 훨씬 강력한 보안성을 제공한다. 제1차 세계 대전 당시 독일군이 사용한 Übchi 암호, 제2차 세계 대전 중 네덜란드 저항군과 영국 SOE(Special Operations Executive) 등이 사용한 것으로 알려져 있다.
- 미즈코우스키 전치(Myszkowski Transposition): 키워드에 중복된 문자가 있을 경우 동일한 번호를 부여하는 변형 방식으로, 1902년 에밀 빅토르 테오도르 미즈코우스키(Émile Victor Théodore Myszkowski)가 제안하였다.
- 그릴(Grille) 암호: 물리적 마스크(구멍이 뚫린 판)를 사용하여 특정 위치에만 글자를 쓰는 방식으로, 1550년에 처음 제안되었으며 제1차 세계 대전 초기까지 군사용으로 사용되었다.
암호 분석
전치 암호는 문자 자체를 바꾸지 않으므로 암호문의 문자 빈도 분포가 평문의 문자 빈도 분포와 동일하게 유지된다. 이 특성 때문에 암호 분석가는 빈도 분석(frequency analysis)을 통해 해당 암호가 전치 암호임을 쉽게 탐지할 수 있다. 이후 애너그래밍(anagramming), 통계적 공격, 사전 기반 무차별 대입(brute-force) 공격, 기지 평문 공격(known-plaintext attack) 등의 방법으로 해독이 시도될 수 있다.
현대적 의의
단독으로 사용될 때 간단한 전치 암호는 현대 기준으로 안전하지 않다고 평가된다. 그러나 전치(순열)의 원리는 현대 블록 암호의 핵심 구성 요소로, 확산(diffusion)을 달성하기 위한 필수적인 연산으로 사용된다. AES와 같은 현대 암호 알고리즘은 치환(substitution)과 전치(transposition)를 여러 계층으로 결합한 곱 암호(product cipher) 구조를 채택하고 있다.