Bifid 암호
키워드, 주기, 메시지를 입력해 Delastelle의 Bifid 암호로 암호화하거나 복호화하세요. 이 도구는 폴리비우스 사각형을 만들고, 블록마다 행과 열의 숫자, 그 숫자를 가로로 읽은 흐름, 그 결과 나온 암호 문자를 보여 줍니다. 무료이며 회원가입이 필요 없고, 모든 작업은 브라우저 안에서만 이루어집니다.
키워드의 문자(6 × 6 사각형에서는 숫자도)가 사각형을 먼저 채우며, 각 문자는 한 번씩만 씁니다. 나머지 알파벳은 순서대로 이어집니다. 25자 또는 36자를 모두 붙여넣으면 사각형을 직접 입력할 수 있습니다.
블록당 문자 수이며, 각 블록은 따로 암호화됩니다. 비워 두거나 0으로 두면 델라스텔처럼 메시지 전체를 한 블록으로 취급합니다.
행 방향으로 채우는 것이 일반적입니다. 미국 암호 학회(ACA)의 예시는 왼쪽 위 모서리에서 시작해 시계 방향 나선으로 씁니다.
문자(6 × 6 사각형에서는 숫자도)만 암호화됩니다. 공백과 문장부호는 제거되며, 결과는 대문자로 나옵니다.
I와 J가 한 칸을 공유하므로, 모든 J는 I로 돌아옵니다.
사각형과 블록
암호화: 각 평문 문자의 행 번호를 한 줄에 쓰고, 그 아래에 열 번호를 씁니다. 모든 행 번호, 다음에 모든 열 번호 순서로 숫자를 가로로 읽고, 두 자리씩 자릅니다. 각 쌍은 암호 문자 하나의 행과 열입니다.
| 1 | 2 | 3 | 4 | 5 | |
|---|---|---|---|---|---|
| 1 | E | X | T | R | A |
| 2 | K | L | M | P | O |
| 3 | H | W | Z | Q | D |
| 4 | G | V | U | S | I |
| 5 | F | C | B | Y | N |
행과 열은 1부터 번호가 매겨집니다.
블록 1
평문
| 평문 | O | D | D | P | E | R | I |
|---|---|---|---|---|---|---|---|
| 행 | 2 | 3 | 3 | 2 | 1 | 1 | 4 |
| 열 | 5 | 5 | 5 | 4 | 1 | 4 | 5 |
암호문
| 쌍 | 23 | 32 | 11 | 45 | 55 | 41 | 45 |
|---|---|---|---|---|---|---|---|
| 암호문 | M | W | E | I | N | G | I |
가로로 읽은 숫자: 2332114 5554145
블록 2
평문
| 평문 | O | D | S | A | R | E | P |
|---|---|---|---|---|---|---|---|
| 행 | 2 | 3 | 4 | 1 | 1 | 1 | 2 |
| 열 | 5 | 5 | 4 | 5 | 4 | 1 | 4 |
암호문
| 쌍 | 23 | 41 | 11 | 25 | 54 | 54 | 14 |
|---|---|---|---|---|---|---|---|
| 암호문 | M | G | E | O | Y | Y | R |
가로로 읽은 숫자: 2341112 5545414
블록 3
평문
| 평문 | O | P | U | L | A | R |
|---|---|---|---|---|---|---|
| 행 | 2 | 2 | 4 | 2 | 1 | 1 |
| 열 | 5 | 4 | 3 | 2 | 5 | 4 |
암호문
| 쌍 | 22 | 42 | 11 | 54 | 32 | 54 |
|---|---|---|---|---|---|---|
| 암호문 | L | V | E | Y | W | Y |
가로로 읽은 숫자: 224211 543254
Bifid 암호 도구 사용 방법
- 1. 사각형을 설정하세요. 키워드를 입력한 다음, I와 J가 한 칸을 공유하거나 Q를 뺀 5 × 5 사각형, 또는 문자와 숫자 0–9를 담는 6 × 6 사각형을 고르세요. 키워드를 어떻게 채워 넣을지도 고르세요.
- 2. 주기를 고르세요. 주기는 함께 암호화되는 문자의 수입니다. 비워 두거나 0으로 두면 메시지 전체를 한 블록으로 취급합니다.
- 3. 메시지를 입력하고 암호화 또는 복호화를 고르세요. 문자(6 × 6 사각형에서는 숫자도)만 암호화되며, 공백과 문장부호는 제거됩니다.
- 4. 과정을 읽으세요. 각 블록에는 문자, 행과 열의 숫자, 가로로 두 자리씩 끊어 읽은 숫자, 그리고 암호 문자가 나타납니다.
Bifid 암호의 작동 원리
Bifid 암호는 폴리비우스 사각형과 좌표의 전치를 결합합니다. 각 평문 문자는 사각형에서 행 번호와 열 번호를 가집니다. 메시지의 행 번호를 한 줄에 쓰고, 그 아래에 열 번호를 씁니다. 이제 숫자를 아래로가 아니라 가로로 읽습니다. 행 번호 전체를 먼저, 그다음 열 번호 전체를 하나의 흐름으로 읽으세요. 이 흐름을 두 자리씩 끊으면 각 쌍이 같은 사각형에서 암호 문자 하나를 가리킵니다.
이렇게 하면 각 문자의 두 좌표가 서로 다른 두 암호 문자로 나뉘며, 이름의 유래가 바로 여기에 있습니다(bifid는 둘로 나뉜다는 뜻). 그러면 모든 암호 문자는 서로 다른 두 평문 문자에 의존합니다. 하나의 행과 다른 하나의 열입니다. 이를 분할(fractionation)이라고 하며, 단순 치환 암호의 정체를 드러내는 문자 빈도를 가립니다. 복호화하려면 과정을 거꾸로 합니다. 암호 문자를 숫자 쌍으로 바꾸고, 흐름을 절반으로 나눈 뒤, 앞쪽 절반은 행으로, 뒤쪽 절반은 열로 읽습니다.
작업 예시
키워드 BIFID를 행 방향으로 채우고, I와 J가 한 칸을 공유하며, 주기를 5로 해서 ATTACK AT DAWN을 암호화해 봅시다. 사각형은 B I F D A / C E G H K / L M N O P …로 시작하고, 메시지는 ATTAC, KATDA, WN 블록으로 나뉩니다.
| 블록 | 행 숫자 | 열 숫자 | 가로로 읽은 쌍 | 암호 문자 |
|---|---|---|---|---|
| ATTAC | 14412 | 54451 | 14 41 25 44 51 | DQKTV |
| KATDA | 21411 | 55445 | 21 41 15 54 45 | CQAYU |
| WN | 53 | 23 | 53 23 | XG |
결과는 DQKTV CQAYU XG입니다. 첫 블록에서 평문 A(행 1, 열 5)는 행 숫자를 첫 번째 암호 문자 D에, 열 숫자를 세 번째 암호 문자 K에 넣으므로, 평문 문자 하나가 두 개의 암호 문자에 걸쳐 퍼집니다. 같은 키워드, 같은 사각형, 같은 주기로 복호화하면 ATTACKATDAWN이 돌아옵니다.
답을 바꾸는 약속들
세 가지 선택이 암호 문을 바꾸므로, 작업 중인 원본과 맞추세요. 사각형은 I와 J를 합치거나, Q를 빼거나, 6 × 6일 수 있습니다. 키워드는 행 방향, 열 방향, 또는 나선형으로 채울 수 있습니다. 미국 암호 학회(ACA)의 Bifid 예시는 EXTRAORDINARY를 시계 방향 나선으로 쓰며, 주기 7로 Odd periods are popular를 암호화하면 MWEINGIMGEOYYRLVEYWY가 됩니다. 그리고 주기가 중요합니다. 주기 1이면 텍스트가 바뀌지 않으며, 매우 짧은 주기는 보안을 거의 더해 주지 않습니다.
Bifid 암호의 유래
Bifid 암호는 프랑스의 아마추어 암호학자 펠릭스 들라스텔(Félix Delastelle, 1840–1902)의 작품입니다. 그는 1895년 Revue du Génie civil에 cryptographie nouvelle라는 이름으로 이 암호의 한 버전을 발표했고, 발명 시기를 1901년경으로 보는 자료도 있습니다. 그는 Traité élémentaire de cryptographie에서 bifid, trifid, four-square를 다루었으며, 이 책은 그가 세상을 떠난 뒤 몇 달 만인 1902년 파리의 Gauthier-Villars에서 출간되었습니다. Bifid는 문자를 분할하는 실용적인 손 암호였다는 점에서 중요한 진전이었고, 이 아이디어는 나중에 ADFGVX 같은 암호에서 쓰였습니다.
Bifid 암호는 어떻게 깨지는가
Bifid는 짧은 블록 암호이며, 블록 길이가 새어 나갑니다. 각 암호 문자가 일정한 거리에 떨어진 두 평문 문자에 의존하므로, 암호 문의 문자 쌍에 대한 통계와 이중 문자 빈도의 패턴이 주기를 드러냅니다. 한 발표된 방법은 반 주기 떨어진 문자들을 살핍니다. 주기가 짝수이면 각 문자는 두 평문 문자에, 홀수이면 세 평문 문자에 의존하므로, 홀수 주기가 이런 방식으로는 더 어렵다고 알려져 있습니다. 주기를 알아내면, 해독된 텍스트가 영어처럼 보이는 정도로 각 추측을 점수 매기는 언덕 오르기(hill-climbing) 소프트웨어로 키 사각형을 찾을 수 있습니다. 수백 자면 충분합니다.
퍼즐용이지, 비밀 보호용이 아닙니다
Bifid는 분할(fractionation)을 배우기에 좋습니다. 컴퓨터가 빠르게 깨뜨리므로, 개인적인 내용에는 절대 사용하지 마세요.
자주 묻는 질문
- Bifid 암호란 무엇인가요?
- Bifid 암호는 폴리비우스 사각형을 사용하는 분할 암호입니다. 메시지의 행 번호와 열 번호를 두 줄에 적고, 숫자를 가로로 읽은 다음, 새로 생긴 숫자 쌍마다 다시 문자로 바꿉니다. 프랑스의 암호학자 펠릭스 들라스텔이 발명했습니다.
- Bifid 암호는 어떻게 복호화하나요?
- 각 암호 문자를 행과 열로 바꾸고, 숫자를 하나의 흐름으로 적은 뒤, 블록마다 흐름을 절반으로 나눕니다. 앞쪽 절반은 행, 뒤쪽 절반은 열이 되며, 행과 열의 각 쌍이 평문 문자 하나입니다. 키워드, 사각형 규칙, 주기가 필요합니다.
- Bifid 암호에서 주기란 무엇인가요?
- 주기는 함께 암호화되는 문자의 수, 즉 한 블록의 길이입니다. 긴 메시지는 그 길이의 블록으로 잘리며, 각 블록은 따로 분할됩니다. 보통 주기는 약 5에서 13 사이이며, 여기서 주기 0은 메시지 전체가 한 블록임을 뜻합니다.
- Bifid는 폴리비우스 사각형 암호와 어떻게 다른가요?
- 단순한 폴리비우스 암호는 각 문자를 두 좌표로 바꾸므로 문자 빈도가 드러납니다. Bifid는 그 좌표들을 블록 전체에 걸쳐 섞은 다음 다시 문자로 바꾸므로, 모든 암호 문자가 두 평문 문자에 의존합니다.
- Bifid 암호에 숫자를 쓸 수 있나요?
- 네. 6 × 6 사각형은 26개 문자와 숫자 0–9를 담으므로 숫자도 문자와 함께 암호화할 수 있습니다. 이 도구는 이 옵션을 제공하며, 5 × 5 사각형에서는 숫자가 빠집니다.
- Bifid 암호는 안전한가요?
- 아닙니다. 단일 문자 빈도는 가리지만, 주기가 이중 문자 통계에 드러나며, 소프트웨어는 수백 자의 암호 문으로 키 사각형을 복구할 수 있습니다. 학습과 퍼즐을 위한 역사적 암호입니다.