자동 키 암호
짧은 프라이머와 메시지를 입력하면 도구가 비지네르 자동 키 암호로 암호화하거나 복호화합니다. 키는 반복되지 않습니다. 메시지 자체가 키를 이어 가기 때문입니다. 텍스트 아래로 키가 맞춰 나타나고, 각 글자 뒤의 합도 볼 수 있습니다. 무료이며 회원가입이 필요 없고, 입력한 내용은 브라우저 밖으로 나가지 않습니다.
키의 출발점이 되는 짧은 키워드입니다. 그 뒤로는 키가 메시지 자체로 이어지므로 절대 반복되지 않습니다.
평문 자동 키는 고전적인 암호이며, 퍼즐 사이트가 “autokey”라고 말할 때 뜻하는 것입니다. 암호문 형태는 교과서에 나오는 다른 버전입니다. 주고받는 쪽이 같은 방식을 골라야 합니다.
계산 과정
키를 글자 단위로 — 처음 12글자
| 평문 | A | T | T | A | C | K | A | T | D | A | W | N |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 키 | Q | U | E | E | N | L | Y | A | T | T | A | C |
| 암호문 | Q | N | X | E | P | V | Y | T | W | T | W | P |
처음 7개의 키 글자(음영)는 프라이머입니다. 그 뒤로 각 키 글자는 평문에서 7칸 앞의 글자입니다.
- 글자는 A = 0, B = 1 … Z = 25로 번호를 매기며, 모든 합은 26에서 다시 0으로 돌아갑니다.
- 암호화: 암호문 글자 = 평문 글자 + 키 글자.
- 키는 프라이머 뒤에 평문이 이어진 것이므로, 복호화하면서 복원한 글자가 차례로 키에 합류합니다.
비지네르 사각형
| 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 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| A | 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 |
| B | 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 | A |
| C | C | 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 |
| D | 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 |
| E | 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 | D |
| F | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E |
| G | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F |
| H | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G |
| I | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H |
| J | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I |
| K | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J |
| L | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K |
| M | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L |
| N | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M |
| O | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N |
| P | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| Q | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P |
| R | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q |
| S | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R |
| T | T | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S |
| U | U | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T |
| V | V | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U |
| W | W | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V |
| X | X | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W |
| Y | Y | Z | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X |
| Z | Z | 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 |
행 = 키 글자, 열 = 평문 글자, 칸 = 암호문 글자입니다. 아래에서 글자를 고르면 그 행과 열이 파랗게 바뀌고, 둘이 만나는 칸은 호박색이 됩니다.
| 평문 글자 | 키 글자 | 산술 | 암호문 글자 |
|---|---|---|---|
| Q | 0 + 16 = 16 | Q | |
| U | 19 + 20 = 39 ≡ 13 | N | |
| E | 19 + 4 = 23 | X | |
| E | 0 + 4 = 4 | E | |
| N | 2 + 13 = 15 | P | |
| L | 10 + 11 = 21 | V | |
| Y | 0 + 24 = 24 | Y | |
| A | 19 + 0 = 19 | T | |
| T | 3 + 19 = 22 | W | |
| T | 0 + 19 = 19 | T | |
| A | 22 + 0 = 22 | W | |
| C | 13 + 2 = 15 | P |
자동 키 암호 도구 사용 방법
- 1. 프라이머를 고르세요. 키의 출발점이 되는 짧은 키워드입니다(예: QUEENLY). 프라이머에서는 글자만 셉니다.
- 2. 키를 이어 갈 대상을 고르세요. 고전적인 자동 키는 평문을 씁니다. 교과서에서 쓰는 암호문 방식도 제공합니다. 주고받는 쪽이 같은 방식을 골라야 합니다.
- 3. 메시지를 입력하고 암호화 또는 복호화를 고르세요. 공백, 숫자, 문장 부호는 그대로 통과하며 키 글자를 쓰지 않습니다.
- 4. 키가 만들어지는 과정을 보세요. 키 표는 평문, 키, 암호문을 줄 맞춰 보여 주고 프라이머 부분에 음영을 줍니다. 작업 표에서 글자를 고르면 비지네르 사각형에서 그 자리를 볼 수 있습니다.
자동 키 암호의 원리
자동 키 암호는 키가 반복되지 않는다는 점만 바꾼 비지네르 암호입니다. 송신자와 수신자는 짧은 프라이머에 합의하며, 키는 프라이머 뒤에 메시지 자체가 이어지는 형태입니다. A = 0부터 Z = 25로 두면 각 암호문 글자는 C = P + K(mod 26)이며, 비지네르 암호와 똑같습니다. 복호화는 키를 다시 빼서 P = C − K로 계산합니다.
복호화가 가능한 이유는 키가 항상 독자보다 한 걸음 앞서 있기 때문입니다. 프라이머가 처음 몇 글자를 풀면, 풀린 평문 글자가 다음 키 글자가 되어 그다음 글자를 풀고, 이렇게 끝까지 이어집니다. 프라이머 QUEENLY와 메시지 ATTACKATDAWN을 예로 들겠습니다:
| 평문 | 키 | 합 | 암호문 |
|---|---|---|---|
| A (0) | Q (16) | 0 + 16 = 16 | Q |
| T (19) | U (20) | 19 + 20 = 39 ≡ 13 | N |
| T (19) | E (4) | 19 + 4 = 23 | X |
| A (0) | E (4) | 0 + 4 = 4 | E |
| C (2) | N (13) | 2 + 13 = 15 | P |
전체 메시지는 QNXEPVYTWTWP가 되며, 이는 위키백과의 자동 키 암호 문서가 이 예에 대해 제시하는 답과 같습니다. 키는 QUEENLY에 ATTACKATDAWN이 이어진 것이고, 여덟 번째 글자인 A가 메시지의 첫 글자입니다. 도구는 입력한 텍스트 바로 아래에 이 키 줄을 보여 주므로, 프라이머가 어디서 끝나고 메시지가 어디서 이어지는지 볼 수 있습니다.
자동 키 암호의 짧은 역사
메시지 자체로 키를 만든다는 아이디어는 보통 1500년대 중반 이탈리아의 다방면 학자 지롤라모 카르다노의 공으로 여겨집니다. 그의 방식은 단어마다 키를 다시 시작했는데, David Kahn의 역사책 The Codebreakers에 따르면 이 때문에 읽는 사람에게도 적의 암호 분석가에게도 첫 단어가 똑같이 풀기 어려웠습니다. 1586년 블레즈 드 비즈네르는 Traicté des chiffres에서 더 깔끔한 방식을 설명했습니다. 프라이머 글자 하나로 시작하고, 키는 다시 시작하지 않고 메시지를 따라 이어집니다. 오늘날 가르치는 자동 키 암호가 바로 이것입니다. 비지네르의 이름이 붙은 더 유명한 반복 키워드 암호는 Giovan Battista Bellaso가 먼저 고안한 다른 암호이며, 그 이름은 19세기에 잘못 붙었습니다.
자동 키 암호는 어떻게 깨지나
키가 반복되지 않으면 비지네르 암호를 무너뜨리는 공격이 통하지 않습니다. 카시스키 검사는 키 길이만큼 떨어진 반복 조각을 찾고, 일치 지수는 주기를 찾는데, 자동 키로 만든 메시지에는 둘 다 없습니다. 그러나 키가 일상 언어로 이루어져 있다는 것이 약점입니다. 분석가는 THE 같은 흔한 단어를 추측해 암호문 위로 밀어 보며 뺍니다. 결과가 읽을 수 있는 영어가 되는 곳이 키이기도 하며, 그 조각은 프라이머 길이만큼 더 뒤의 평문을 드러냅니다. 맞춘 추측은 다음 추측을 낳고, 메시지는 빠르게 풀립니다. 처음 몇 글자는 프라이머만으로 암호화되므로 짧은 키를 쓰는 일반 비지네르 암호와 같습니다. 또 다른 단점은 오류 전파입니다. 암호화하거나 옮겨 적을 때 글자 하나가 틀리면 그 뒤의 모든 글자가 틀어집니다.
퍼즐과 교육용이며, 보안용은 아닙니다
자동 키 암호는 반복 키보다 한 걸음 나아간 암호지만, 오래전부터 깨져 왔습니다. 키가 이어지는 원리를 배우는 데 쓰고, 개인적인 내용을 보호하는 데는 절대 쓰지 마세요.
자주 묻는 질문
- 자동 키 암호란 무엇인가요?
- 자동 키 암호는 키가 짧은 프라이머에 메시지 자체를 이어 붙인 것인 다중 치환 암호입니다. 각 글자는 비지네르 규칙 C = P + K (mod 26)으로 암호화되므로, 키는 메시지만큼 길고 반복되지 않습니다.
- 자동 키 암호는 어떻게 복호화하나요?
- 프라이머를 쓰고, 각 키 글자를 대응하는 암호문 글자에서 빼서 평문 글자를 얻은 뒤, 그 평문 글자를 키 뒤에 덧붙여 계속하세요. 프라이머를 다 쓰고 나면 키는 이미 복원한 평문 자체가 됩니다. 복호화를 고르면 이 도구가 이 과정을 대신합니다.
- 자동 키 암호와 비지네르 암호는 어떻게 다른가요?
- 비지네르 암호는 키워드를 메시지 전체에 반복하지만, 자동 키는 키워드를 한 번만 쓰고 메시지로 이어 갑니다. 그래서 카시스키 검사와 일치 지수가 의존하는 반복 패턴이 사라지고, 이 때문에 자동 키는 그런 공격에 강했습니다.
- 자동 키 암호는 안전한가요?
- 아닙니다. 키가 평문으로 이루어져 있으므로, 추측한 단어 하나가 메시지의 한 조각과 키의 한 조각을 동시에 드러내고 그 조각들이 이어집니다. 흔한 단어로 하는 크립 드래깅은 손으로도 깨뜨릴 수 있으며, 소프트웨어는 몇백 글자만으로도 프라이머를 복구합니다.
- 프라이머는 얼마나 길어야 하나요?
- 한 글자부터 얼마든지 가능합니다. 비지네르의 원래 방식은 글자 하나를 썼고, 미국 암호학회(American Cryptogram Association)의 예는 여섯 글자 PRIMER를 씁니다. 프라이머가 길면 처음 몇 글자가 조금 더 잘 숨겨지지만, 근본적인 약점은 바뀌지 않습니다. 프라이머 뒤에서 키는 결국 평문 자체이기 때문입니다.
- 암호문 자동 키란 무엇인가요?
- 암호문 형태에서는 키가 평문 대신 암호문을 이어 갑니다. 전체 키가 암호문에서 바로 보이므로 복호화는 더 쉽지만, 누구나 그 키를 읽을 수 있다는 뜻이기도 하므로 짧은 비지네르 키와 비교해 보안이 거의 나아지지 않습니다. 주고받는 쪽이 같은 방식을 골라야 합니다.