보퍼트 암호
메시지와 키워드를 입력해 보퍼트 암호로 인코딩하거나 디코딩하세요. 변형 보퍼트(비지네르 암호를 거꾸로 실행한 것)도 쓸 수 있습니다. 도구는 보퍼트 표와 각 글자 뒤의 합을 보여 주므로 손으로 결과를 확인할 수 있습니다. 무료이며 가입이 필요 없고, 아무것도 브라우저 밖으로 나가지 않습니다.
글자만 입력하세요. 키워드는 메시지를 따라 반복되며, 메시지 글자 하나마다 키 글자 하나를 씁니다.
클래식 보퍼트는 상호적입니다. 같은 단계로 인코딩과 디코딩을 합니다. 변형은 비지네르 암호를 거꾸로 실행한 것이므로, 디코딩은 키를 다시 더합니다.
계산
- 글자는 A = 0, B = 1 … Z = 25로 번호를 매기며, 모든 합은 26에서 한 바퀴 돕니다.
- 인코딩: 암호 글자 = 키 글자 − 평문 글자.
보퍼트 표
| 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 | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B |
| B | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C |
| C | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D |
| D | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E |
| E | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F |
| F | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G |
| G | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H |
| H | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I |
| I | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J |
| J | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K |
| K | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L |
| L | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M |
| M | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O | N |
| N | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P | O |
| O | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q | P |
| P | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R | Q |
| Q | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S | R |
| R | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T | S |
| S | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U | T |
| T | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V | U |
| U | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W | V |
| V | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X | W |
| W | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y | X |
| X | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z | Y |
| Y | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A | Z |
| Z | Z | Y | X | W | V | U | T | S | R | Q | P | O | N | M | L | K | J | I | H | G | F | E | D | C | B | A |
행 = 키 글자, 열 = 평문 글자, 칸 = 암호 글자. 아래에서 글자를 고르면 해당 행과 열이 파랗게 바뀌고, 둘이 만나는 칸이 호박색으로 바뀝니다.
| 평문 글자 | 키 글자 | 연산 | 암호 글자 |
|---|---|---|---|
| F | 5 − 3 = 2 | C | |
| O | 14 − 4 = 10 | K | |
| R | 17 − 5 = 12 | M | |
| T | 19 − 4 = 15 | P | |
| F | 5 − 13 = −8 ≡ 18 | S | |
| O | 14 − 3 = 11 | L | |
| R | 17 − 19 = −2 ≡ 24 | Y | |
| T | 19 − 7 = 12 | M | |
| F | 5 − 4 = 1 | B | |
| O | 14 − 4 = 10 | K | |
| R | 17 − 0 = 17 | R | |
| T | 19 − 18 = 1 | B | |
| F | 5 − 19 = −14 ≡ 12 | M | |
| O | 14 − 22 = −8 ≡ 18 | S | |
| R | 17 − 0 = 17 | R | |
| T | 19 − 11 = 8 | I | |
| F | 5 − 11 = −6 ≡ 20 | U | |
| O | 14 − 14 = 0 | A | |
| R | 17 − 5 = 12 | M | |
| T | 19 − 19 = 0 | A |
처음 20개 글자를 표시하고 있습니다.
보퍼트 암호 도구 사용 방법
- 1. 버전을 고르세요. 클래식 보퍼트는 키 글자에서 평문 글자를 뺍니다. 변형은 평문 글자에서 키 글자를 뺍니다. 보내는 사람과 받는 사람은 같은 버전을 써야 합니다.
- 2. 키워드를 입력하세요. 글자만 셉니다. 키워드는 메시지를 따라 반복되며, 메시지 글자 하나마다 키 글자가 하나씩 진행됩니다.
- 3. 메시지를 입력하거나 붙여넣으세요. 평문은 인코딩, 암호문은 디코딩을 고르세요. 공백, 숫자, 문장 부호는 키 글자를 쓰지 않고 그대로 통과합니다.
- 4. 계산 과정을 읽으세요. 계산 표에서 글자를 고르면 그 행, 열, 그리고 결과 칸이 표에서 강조됩니다.
보퍼트 암호는 어떻게 작동하나요
보퍼트 암호는 비지네르 암호와 같은 26 × 26 표를 쓰는 다표식 치환 암호입니다. 글자를 A = 0부터 Z = 25까지 번호 매기세요. 메시지의 각 글자에 대해, 반복되는 키워드의 다음 글자 K와 메시지 글자 P를 가져와 C = K − P (mod 26)을 계산합니다. 비지네르 암호에서는 키를 평문 글자에 더하지만, 여기서는 평문 글자를 키에서 뺍니다.
이 한 가지 변화 때문에 암호가 상호적(reciprocal)이 됩니다. P = K − C도 같은 뺄셈이므로, 보퍼트 메시지는 같은 키워드로 다시 인코딩해서 복호화합니다. 별도의 복호화 절차가 없으며, 그래서 단일 설정을 가진 손 암호나 기계에 알맞았습니다. 손으로 할 때는 표 위쪽에서 평문 글자를 찾고, 키 글자가 있는 행까지 내려간 다음, 그 열에서 암호 글자를 읽습니다.
변형 보퍼트
변형 보퍼트는 C = P − K를 씁니다. 이는 정확히 비지네르 암호의 복호화 식이므로, 변형 보퍼트 메시지는 복호화 모드로 아무 비지네르 도구에서나 읽을 수 있습니다. 변형은 상호적이지 않습니다. 복호화하려면 키를 다시 더해야 합니다. P = C + K. 퍼즐 책과 American Cryptogram Association은 두 방식을 별개의 암호 종류로 나열하며, 이 도구가 두 가지를 모두 제공하는 이유입니다.
실제 예시
키워드 FORT로 DEFEND THE EAST WALL을 인코딩해 보세요. 키 글자는 F = 5, O = 14, R = 17, T = 19이며 반복됩니다. 도구의 출력은 ciphersonline.com에 실린 예시와 맞으며, 계산 표에서 각 단계를 확인할 수 있습니다.
| 평문 | 키 | 계산 | 암호문 |
|---|---|---|---|
| D (3) | F (5) | 5 − 3 = 2 | C |
| E (4) | O (14) | 14 − 4 = 10 | K |
| F (5) | R (17) | 17 − 5 = 12 | M |
| E (4) | T (19) | 19 − 4 = 15 | P |
| N (13) | F (5) | 5 − 13 = −8 ≡ 18 | S |
전체 메시지는 CKMPSL YMB KRBM SRIU가 됩니다. 같은 키로 다시 넣으면 보퍼트가 DEFEND THE EAST WALL을 돌려줍니다. 첫 번째 E와 두 번째 E가 각각 K와 P로 암호화되는 것을 보세요. 평문 글자 하나가 여러 암호 글자가 될 수 있으며, 이 때문에 단순한 글자 세기로는 메시지를 깨뜨릴 수 없습니다.
보퍼트 암호는 누가 만들었나요?
이 암호는 아일랜드에서 태어난 영국 해군 장교이자 수로학자 프랜시스 보퍼트 경(Sir Francis Beaufort, 1774–1857)의 이름을 땄으며, 그는 같은 이름의 풍력 등급으로 더 잘 알려져 있습니다. 뿌리는 더 오래되었습니다. 반복되는 키가 글자마다 다른 알파벳을 고른다는 아이디어는 1553년 조반 바티스타 벨라소가 제시했고, 1586년 블레즈 드 비지네르가 대중화했습니다. 보퍼트 암호는 그 방식에서 뺄셈 방향을 뒤집은 것입니다. 이 체계에 대한 설명은 보퍼트가 세상을 떠난 해인 1857년에 발표되었습니다. 가장 잘 알려진 후대의 사용은 기계 안에서였습니다. 미 육군의 제2차 세계대전 야전 암호 장치였던 Hagelin M-209는 반복되지 않는 키로 보퍼트 유형의 치환을 수행합니다.
보퍼트 암호는 어떻게 깨지나요
비지네르 암호와 마찬가지로 보퍼트는 짧고 반복되는 키를 글자마다 적용하므로, 같은 공격이 통합니다. 프리드리히 카시스키의 1863년 방법은 암호문에서 반복되는 조각을 찾는데, 그 간격은 키 길이의 배수입니다. 윌리엄 프리드먼의 일치 지수(index of coincidence)는 1920년경 개발되었으며, 키 길이를 통계적으로 추정합니다. 길이를 알면 n번째마다 같은 키 글자로 암호화된 것이므로, 각 열은 알파벳이 뒤집힌 단순 치환이 되어 빈도 분석으로 깨집니다. 지름길도 있습니다. 암호문과 키의 알파벳을 모두 뒤집으면(A↔Z, B↔Y, 아트배시 대응), 보퍼트 메시지가 평범한 비지네르 메시지로 바뀝니다.
비밀에는 쓰지 마세요
보퍼트 암호는 수업과 퍼즐용 암호입니다. 컴퓨터는 몇백 글자의 암호문만으로도 이를 깨므로, 중요한 것을 보호하는 데는 절대 쓰지 마세요.
자주 묻는 질문
- 보퍼트 암호란 무엇인가요?
- 반복되는 키워드를 써서, 각 글자를 키 글자에서 평문 글자를 뺀 값(모듈로 26)으로 암호화하는 다표식 치환 암호입니다. 비지네르 암호와 같은 표를 쓰지만 다르게 읽으며, 영국 해군 수로학자 프랜시스 보퍼트 경의 이름을 땄습니다.
- 보퍼트 암호는 비지네르 암호와 어떻게 다른가요?
- 비지네르는 평문 글자에 키 글자를 더하고(C = P + K), 보퍼트는 키 글자에서 평문 글자를 뺍니다(C = K − P). 그 결과 보퍼트는 상호적입니다. 같은 연산으로 암호화와 복호화를 모두 하며, 비지네르는 별도의 복호화 단계가 필요합니다.
- 보퍼트 암호는 어떻게 복호화하나요?
- 같은 키워드를 넣고 암호문에 같은 연산을 적용하세요. 평문 글자 = 키 글자 − 암호 글자입니다. 이 도구에서는 디코딩을 고르거나 그냥 다시 인코딩할 수 있으며, 클래식 보퍼트에서는 둘 다 같은 답을 줍니다.
- 변형 보퍼트 암호란 무엇인가요?
- 변형 보퍼트는 C = P − K를 계산하는데, 이것은 비지네르 암호의 복호화 식입니다. 키를 다시 더해 복호화하므로, 클래식 보퍼트와 달리 상호적이지 않습니다. 퍼즐이나 교과서가 지정하는 버전을 고르세요.
- 보퍼트 암호는 안전한가요?
- 아니요. 반복되는 키는 비지네르와 같은 패턴을 남기므로, 카시스키 조사와 일치 지수로 키 길이를 찾고 빈도 분석으로 각 키 글자를 복구할 수 있습니다. 아트배시로 알파벳을 뒤집으면 비지네르 암호가 되기도 합니다. 배움의 대상인 역사적 암호로만 다루세요.
- 공백과 문장 부호는 어떻게 되나요?
- A–Z 글자만 암호화됩니다. 각 글자는 대소문자를 그대로 유지하고, 악센트가 있는 라틴 문자는 기본 글자로 취급하며, 그 밖의 것은 키 글자를 쓰지 않고 그대로 통과합니다. 전통적인 암호문 블록을 원하면 다섯 글자씩 묶기를 켜세요.