ADFGVX 암호
사각형, 전치 키워드, 메시지를 입력하면 ADFGVX 암호로 암호화하거나 복호화합니다. 그 전신인 5 × 5 암호 ADFGX도 쓸 수 있습니다. 도구는 두 단계를 모두 보여 줍니다. 각 문자를 두 글자로 바꾸는 Polybius 사각형, 그리고 그 글자들을 뒤섞는 열 전치입니다. 무료이며 회원가입이 필요 없고, 내용은 브라우저 밖으로 나가지 않습니다.
키워드의 문자들이 사각형을 먼저 채우며, 각 문자는 한 번씩만 씁니다. 나머지 알파벳(과 숫자)이 그 뒤를 따릅니다. 25자 또는 36자를 모두 입력하면 사각형이 정확히 정해집니다.
두 번째 단계에서 열의 순서를 정합니다. 같은 글자는 왼쪽에서 오른쪽 순서로 취합니다. 문자나 숫자를 두 개 이상 쓰세요.
행을 따라 채우는 것이 보통의 방식입니다. 실제 사각형은 임의로 섞은 알파벳이었으므로, 25자 또는 36자짜리 완전한 키워드를 입력하면 어떤 방식을 골라도 사각형이 고정됩니다.
문자(6 × 6 사각형에서는 숫자도)만 암호화됩니다. 공백과 문장부호는 빠지고, 결과는 대문자로 나옵니다. 암호문은 A, D, F, G, X(그리고 V)만 사용합니다.
두 단계 모두
1단계 — Polybius 사각형
평문의 각 문자는 두 글자가 됩니다. 먼저 그 문자의 행 표시, 그다음 열 표시입니다.
| A | D | F | G | V | X | |
|---|---|---|---|---|---|---|
| A | N | A | 1 | C | 3 | H |
| D | 8 | T | B | 2 | O | M |
| F | E | 5 | W | R | P | D |
| G | 4 | F | 6 | G | 7 | I |
| V | 9 | J | 0 | K | L | Q |
| X | S | U | V | X | Y | Z |
문자와 그 쌍
| 평문 | A | T | T | A | C | K | A | T | 1 | 2 | 0 | 0 | A | M |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 쌍 | AD | DD | DD | AD | AG | VG | AD | DD | AF | DG | VF | VF | AD | DX |
2단계 — 열 전치
글자 쌍을 키워드 아래 행에 씁니다. 키워드 글자의 알파벳 순서대로 열에 번호를 매기고(같은 글자는 왼쪽에서 오른쪽 순서), 그 순서대로 열을 위에서 아래로 읽습니다.
| P | R | I | V | A | C | Y |
|---|---|---|---|---|---|---|
| 4 | 5 | 3 | 6 | 1 | 2 | 7 |
| A | D | D | D | D | D | A |
| D | A | G | V | G | A | D |
| D | D | A | F | D | G | V |
| F | V | F | A | D | D | X |
첫 행은 열을 읽는 순서입니다. 마지막 행은 짧을 수 있으며, 채워 넣지 않습니다.
순서대로 나열한 글자 쌍: ADDDDDADAGVGADDDAFDGVFVFADDX
ADFGVX 암호 도구 사용 방법
- 1. ADFGVX 또는 ADFGX를 고르세요. ADFGVX는 문자와 숫자 0–9를 담은 6 × 6 사각형을 씁니다. ADFGX는 5 × 5 사각형을 쓰며, I와 J가 한 칸을 공유하거나 Q를 뺍니다.
- 2. 사각형을 설정하세요. 키워드를 입력하면 나머지 알파벳이 그 뒤를 따릅니다. 또는 원래의 혼합 알파벳처럼 25자 또는 36자를 모두 입력해 사각형을 정확히 고정할 수 있습니다.
- 3. 전치 키워드를 입력하세요. 두 번째 단계에서 열을 읽는 순서를 정합니다. 문자나 숫자를 두 개 이상 쓰세요.
- 4. 메시지를 입력하고 암호화 또는 복호화를 고르세요. 문자와 숫자만 암호화됩니다. 작업 과정에는 사각형, 각 문자의 글자 쌍, 전치 격자가 나타납니다.
ADFGVX 암호의 작동 원리
ADFGVX는 두 단계로 이루어진 암호입니다. 첫 단계에서는 행과 열에 A, D, F, G, V, X가 표시된 Polybius 사각형으로 각 평문 문자를 두 글자로 바꿉니다. 앞 글자는 그 문자가 있는 행의 표시이고, 뒤 글자는 열의 표시입니다. 이것이 분수화(fractionation)이며, 메시지의 길이가 두 배가 됩니다. 두 번째 단계에서는 이 글자 쌍을 전치 키워드 아래 행에 적습니다. 그런 다음 키워드 글자의 알파벳 순서대로 열을 위에서 아래로 읽어 냅니다. 같은 글자는 왼쪽에서 오른쪽 순서로 취하며, 마지막 행은 짧은 채로 둡니다. 암호문은 이 여섯 글자만 사용합니다.
두 단계는 각각만으로는 강하지 않습니다. 단순한 Polybius 치환은 글자 빈도를 드러내고, 단순한 전치는 글자 자체를 그대로 드러냅니다. 둘을 함께 쓰면 글자 쌍의 두 절반이 서로 다른 열로 흩어집니다. 복호화하려면 순서를 거꾸로 하세요. 먼저 암호문을 올바른 길이의 열로 잘라 전치를 되돌리고, 그 격자를 행 단위로 읽어 글자 쌍을 얻은 다음, 사각형에서 각 쌍을 찾습니다.
실제 예시
Wikipedia의 ADFGVX 예시는 사각형 NA1C3H8TB2OME5WRPD4F6G7I9J0KLQSUVXYZ를 전체 키워드로 입력하고, 전치 키워드 PRIVACY를 씁니다. 메시지는 attack at 1200am입니다.
| 단계 | 결과 |
|---|---|
| 평문 문자 | A T T A C K A T 1 2 0 0 A M |
| 1단계: 글자 쌍 | AD DD DD AD AG VG AD DD AF DG VF VF AD DX |
| 키워드 열 순서 | P R I V A C Y → 4 5 3 6 1 2 7 (A, C, I, P, R, V, Y 순서로 읽기) |
| 2단계: 암호문 | DGDD DAGD DGAF ADDF DADV DVFA ADVX |
첫 단계에서 A는 사각형의 A행, D열에 있으므로 AD가 됩니다. 이어서 28개의 글자가 PRIVACY 아래 네 행을 채우고, 열을 A, C, I, P, R, V, Y 순서로 읽으면 암호문이 나옵니다. 이 도구는 두 줄을 모두 재현합니다. ADFGX도 같은 방식으로 작동하며 5 × 5 사각형을 씁니다. Wikipedia의 ADFGX 예시는 키워드 CARGO로 attack at once를 FAXDF ADDDG DGFFF AFAXA FAFX로 바꿉니다.
ADFGVX 암호의 역사
ADFGVX는 제1차 세계대전 때 독일 제국군이 쓴 현장 암호로, 중위 Fritz Nebel이 고안했습니다. 선행 암호인 ADFGX는 1918년 3월 1일 서부 전선에서 처음 쓰였고, ADFGVX는 1918년 6월 1일에 나왔습니다. 이때 숫자를 보낼 수 있도록 V가 더해지고 사각형의 행과 열이 확장되었습니다. 이 글자들은 모스 부호로 보냈을 때 서로 아주 다르게 들리도록 골라졌으며, 이는 무선 교신 담당자의 실수를 줄였습니다. 사각형과 전치 키워드는 모두 날마다 바뀌었습니다.
해독 과정
프랑스의 암호 분석가 Georges Painvin은 1918년 이 암호를 해독했습니다. 그는 시작 문구가 정형화된 메시지에서 출발해 전치의 패턴을 찾았습니다. 키워드 길이가 짝수일 때 열들이 사각형의 행 쪽과 열 쪽에서 나온 글자를 번갈아 담는다는 점, 그리고 그 두 쪽의 빈도 분포가 서로 다르다는 점을 활용했습니다. 프랑스 쪽 기록은 그의 해독이 독일의 봄 공세를 저지하는 데 도움이 되었다고 보지만, 역사학자 Hilmar-Detlef Brückner는 그 결정성에 이의를 제기합니다. 오늘날에는 컴퓨터가 비교적 적은 양의 암호문으로도 ADFGVX를 깨뜨릴 수 있습니다.
역사적 암호이며, 안전한 암호가 아닙니다
ADFGVX는 1918년에는 진지한 암호였지만 지금은 안전하지 않습니다. 역사 공부, 퍼즐, 교육용으로만 쓰고 개인적인 내용에는 절대 사용하지 마세요.
자주 묻는 질문
- ADFGVX 암호란 무엇인가요?
- ADFGVX는 1918년 독일군이 쓴, 사람이 손으로 계산해 쓰는 암호입니다. 6 × 6 Polybius 사각형에서 각 문자를 두 글자로 바꾼 뒤, 열 전치로 글자들을 뒤섞습니다. 암호문은 A, D, F, G, V, X 여섯 글자만 사용합니다.
- ADFGX와 ADFGVX는 무엇이 다른가요?
- ADFGX가 먼저, 1918년 3월에 나왔습니다. 5 × 5 사각형을 쓰며 I와 J가 한 칸을 공유합니다. ADFGVX는 1918년 6월에 나왔고, 26개 알파벳 전체와 숫자 0–9를 담는 6 × 6 사각형을 써서 숫자도 보낼 수 있게 했습니다.
- ADFGVX 암호는 어떻게 복호화하나요?
- 먼저 전치를 되돌리세요. 키워드와 메시지 길이에서 열의 길이를 구하고, 암호문을 키워드의 알파벳 순서에 맞춰 그 길이로 잘라 격자에 다시 채웁니다. 격자를 행 단위로 읽어 글자 쌍을 얻고, 각 쌍을 Polybius 사각형에서 찾으세요.
- 왜 하필 A, D, F, G, V, X 글자를 썼나요?
- 모스 부호로 보냈을 때 서로 아주 다르게 들려서 무선 교신 담당자의 실수가 줄었기 때문입니다. 이 글자들 자체에는 의미가 없으며, 서로 다른 여섯 글자라면 어떤 것을 골라도 같은 암호가 됩니다.
- 누가 ADFGVX 암호를 깼나요?
- 프랑스의 Georges Painvin 중위가 1918년에 깼습니다. 그는 정형화된 메시지 시작 문구와, 각 쌍의 행 쪽 절반과 열 쪽 절반이 가진 서로 다른 글자 통계를 이용해 전치를 찾아낸 뒤 사각형을 복원했습니다.
- ADFGVX 암호는 안전한가요?
- 아니요. 당시에는 강한 암호였지만, 현대 소프트웨어는 비교적 적은 양의 텍스트로 두 키를 모두 복원합니다. 학습과 퍼즐을 위한 역사적 암호로만 다루세요.