비피드 암호
비피드 암호를 암호화하고 복호화하세요. 각 글자를 폴리비오스 좌표로 분할한 다음 그것들을 섞어, 출력되는 모든 글자가 두 개의 입력에 의존하게 만듭니다. 주기를 설정하고, 5×5와 6×6 사각형을 전환하며, 선택적 키워드를 더하고, 실시간 분할 과정을 따라가면서 결과를 복사하거나 다운로드하고 공유할 수 있습니다. 모든 작업은 브라우저에서 실행됩니다.
사각형
주기
키워드
주기는 블록 크기입니다. 텍스트는 이만큼의 글자로 이루어진 블록으로 나뉘고, 좌표는 각 블록 안에서 섞입니다. 양쪽 모두 같은 주기를 써야 합니다.
위에 텍스트를 입력하면 결과가 여기에 표시됩니다.
폴리비오스 사각형
1
2
3
4
5
1
2
3
4
5
비피드 암호 사용 방법
- 1
암호화 또는 복호화 선택
평문을 비피드 암호문으로 바꾸려면 암호화를, 암호문을 다시 평문으로 바꾸려면 복호화를 고르세요.
- 2
사각형과 키워드 고르기
I와 J가 한 칸을 함께 쓰는 고전 5×5 사각형을 고르거나, 숫자 0부터 9까지를 더하는 6×6 사각형을 고르세요. 평범한 사각형을 쓰려면 키워드를 비워 두고, 섞으려면 하나를 입력하세요.
- 3
주기 설정
암호가 작동하는 블록 크기를 고르세요. 주기 0은 메시지 전체를 하나의 블록으로 다룹니다. 양쪽 모두 같은 주기를 써야 합니다.
- 4
텍스트 입력 또는 붙여넣기
메시지를 입력하면 입력하는 즉시 변환됩니다. 분할 패널이 각 블록의 글자들을 그 행 숫자와 열 숫자 위에 보여 줍니다.
- 5
복사, 다운로드, 공유
결과를 복사하거나 텍스트 파일로 다운로드하거나, 입력한 텍스트와 사각형, 키워드, 주기를 그대로 갖춘 채 도구를 다시 여는 링크로 공유하세요.
비피드 암호 이해하기
비피드 암호란 무엇인가요?
비피드 암호는 프랑스의 암호학자 Félix-Marie Délastelle가 1901년 무렵에 고안한 고전 암호입니다. 이는 폴리비오스 사각형 위에 곧바로 쌓아 올립니다. 모든 글자는 먼저 한 쌍의 좌표 — 그 행과 열 — 로 바뀌고, 그다음 그 좌표들이 한데 뒤섞인 뒤 다시 글자로 읽힙니다. 이 두 단계 설계는 치환과 전치를 결합하는데, 바로 이것이 평범한 폴리비오스 치환과 견주어 비피드에 힘을 실어 주는 것입니다.
기발한 부분은 섞는 데 있습니다. 이웃한 글자들의 행 숫자와 열 숫자가 다시 짝지어지기 전에 서로 엮이기 때문에, 출력의 각 글자는 결국 입력의 서로 다른 두 글자에 의존하게 됩니다. 이렇게 정보가 퍼지는 것 — 확산이라 불리는 것 — 은 단순 치환 암호를 그토록 깨기 쉽게 만드는 글자 빈도의 드러나는 패턴을 숨기며, 분할이 어떻게 암호를 강하게 만드는지 보여 주는 즐겨 쓰이는 교육 예시로 비피드를 만들어 줍니다.
비피드 암호가 작동하는 방식
암호화는 세 단계로 이루어집니다. 첫째, 분할: 각 글자를 사각형에서 찾아 그 행 번호와 열 번호로 바꿉니다. 둘째, 한 블록의 글자들의 좌표를 두 줄로 적습니다 — 모든 행 숫자를 윗줄에, 모든 열 숫자를 아랫줄에 적습니다. 셋째, 그렇게 합쳐진 숫자의 연속을 죽 가로질러 읽으며 두 개씩 묶고, 각 쌍을 사각형에서 행과 열로 찾아 암호 글자를 만듭니다.
행을 먼저 적고 열을 나중에 적는 것이 이 방법의 핵심입니다. 그것이 서로 다른 글자에서 온 숫자들을 엮어 주기 때문입니다. 위 도구는 이를 실시간으로 보여 줍니다. 입력하는 동안 분할 패널이 각 블록의 글자들을 그 행 숫자와 열 숫자 위에 펼쳐 놓는데, 종이 위에서 손으로 암호를 풀 때와 똑같은 방식이라, 하나의 입력 글자의 숫자들이 두 개의 서로 다른 출력 글자로 갈라지는 모습을 지켜볼 수 있습니다.
폴리비오스 사각형: 5×5와 6×6
비피드는 좌표를 읽어 낼 폴리비오스 사각형이 필요하며, 그 크기를 고를 수 있습니다. 고전적인 5×5 사각형은 25개의 칸을 가져 26자 알파벳에서 하나가 모자라므로, 전통에 따라 I와 J가 한 칸을 함께 씁니다. 따라서 암호화한 J는 복호화하면 I로 돌아옵니다. 행과 열에는 1부터 5까지 번호가 매겨지며, 이는 거의 모든 교과서의 비피드 예제에서 쓰이는 방식입니다.
6×6 사각형은 36개의 칸을 가져 — 26개 글자 모두에 숫자 0부터 9까지를 더한 것입니다 — 합쳐지는 것이 없어 글자와 숫자 모두 정확하게 왕복합니다. 어느 사각형이든 키워드로 섞을 수도 있습니다. 키워드의 중복 없는 글자들을 순서대로 반복 없이 먼저 적어 넣고, 나머지 알파벳이 뒤를 잇는데, 이는 키가 적용된 Playfair나 폴리비오스 사각형을 만드는 방식과 똑같습니다. 실시간 격자는 키워드 글자를 강조해 섞이는 모습을 볼 수 있게 합니다.
주기, 곧 블록 크기
주기는 비피드가 작동하는 블록 크기입니다. 텍스트는 그만큼의 글자로 이루어진 블록으로 나뉘고, 행 다음 열로 엮는 작업은 각 블록 안에서 따로 이루어집니다. 짧은 주기는 각 글자의 영향이 퍼질 수 있는 범위를 제한하고, 긴 주기는 그것을 메시지의 더 넓은 곳으로 퍼뜨립니다. 흔한 선택은 다섯에서 열 글자의 주기이며, 보내는 이와 받는 이는 같은 값에 합의해야 합니다.
주기를 0으로 두는 것은 주기가 아예 없다는 뜻입니다: 메시지 전체를 하나의 블록으로 다루는데, 이는 Délastelle가 본래 기술한 방식이며 가장 강한 확산을 줍니다. 그 대가는 길고 주기가 없는 메시지는 손으로 풀기가 더 어렵다는 것입니다. 위에서 주기를 바꿔 보며, 사각형과 텍스트가 그대로인데도 암호문이 어떻게 달라지는지 지켜보세요 — 그 민감함이야말로 블록 구조의 핵심입니다.
비피드 예제 풀이
단어 HELLO를 평범한 5×5 사각형과 단어 전체를 덮는 주기로 다뤄 봅시다. 먼저 분할합니다: H는 행 2 열 3, E는 행 1 열 5, L은 행 3 열 1, 두 번째 L도 다시 행 3 열 1, O는 행 3 열 4입니다. 행을 한 줄에 적으면 2 1 3 3 3이 되고, 열을 그다음 줄에 적으면 3 5 1 1 4가 됩니다.
이제 두 줄을 하나의 연속으로 죽 가로질러 읽고 — 2 1 3 3 3 3 5 1 1 4 — 숫자를 쌍으로 묶습니다: 21, 33, 33, 51, 14. 각 쌍을 사각형에서 행과 열로 찾으면 F, N, N, V 그리고 D가 되므로, HELLO는 FNNVD로 암호화됩니다. 반복되는 L들이 더는 출력에서 반복되는 패턴으로 나타나지 않는 것을 눈여겨보세요 — 그것이 확산이 일하는 모습입니다. 주기를 3으로 하면 같은 단어가 대신 FNVND가 되는데, 블록이 다른 자리에서 끊기기 때문입니다.
비피드 암호 복호화하기
복호화는 단계를 거꾸로 돌립니다. 각 블록에서 암호 글자들의 좌표를 순서대로 읽어 내면, 합쳐진 숫자의 연속이 되살아납니다. 그 연속을 반으로 나누면 앞쪽 절반이 원래의 행 숫자, 뒤쪽 절반이 원래의 열 숫자가 되고, 각 행을 그에 맞는 열과 짝지으면 평문 글자가 다시 만들어집니다. 복호화를 선택하면 도구가 이 모두를 대신 해 줍니다.
올바르게 복호화하려면 암호화에 쓰인 것과 같은 세 가지 설정을 써야 합니다: 같은 사각형 크기, 같은 키워드, 같은 주기. 그중 어느 하나라도 틀리면 좌표가 엉뚱한 자리에서 나뉘어 뒤죽박죽인 텍스트가 나오는데 — 이는 바로 이 암호를 쓸모 있게 만드는 성질이기도 합니다. 또한 5×5 사각형에서는 두 글자가 칸을 함께 썼던 까닭에 원래의 J가 I로 돌아온다는 점도 기억하세요.
비피드 암호의 역사와 안전성
Félix Délastelle는 1902년의 암호학 논저에서 비피드 암호를 발표했는데, 삼차원 격자를 쓰는 그 친척 Trifid 암호와 사각형 넷·둘 암호도 나란히 실었습니다. 비피드는 결코 군사 등급의 체계는 아니었지만, 분할과 전치를 결합하면 단순한 빈도 분석을 어떻게 이겨 낼 수 있는지 보여 준 중요한 한 걸음이었고, 오늘날에도 퍼즐과 암호 챌린지, 암호학 강의의 단골로 남아 있습니다.
현대의 기준으로 보면 비피드는 안전하지 않습니다. 암호 해독가들은 특히 주기가 알려졌거나 짧고 충분한 암호문이 있을 때 이를 깨는 잘 확립된 방법을 가지고 있으며, 키워드는 그 문턱을 조금 높일 뿐입니다. 오늘날 그 진짜 가치는 교육에 있습니다: 확산이 왜 중요한지 직접 손으로 볼 수 있는 분명한 방법이기 때문입니다. 실제 정보를 보호하려면 언제나 AES 같은 현대적이고 동료 검토를 거친 알고리즘을 쓰고, 비피드는 학습과 퍼즐, 캡처 더 플래그 챌린지를 위해 남겨 두세요.
자주 묻는 질문
비피드 암호란 무엇인가요?
비피드 암호는 어떻게 작동하나요?
비피드 암호는 누가 고안했나요?
비피드 암호에서 주기란 무엇인가요?
키워드는 무엇을 하나요?
5×5와 6×6 사각형의 차이는 무엇인가요?
비피드 예제 풀이를 보여 줄 수 있나요?
비피드 암호는 어떻게 복호화하나요?
비피드는 폴리비오스 사각형과 어떻게 다른가요?
비피드 암호는 얼마나 안전한가요?
비피드와 Trifid의 차이는 무엇인가요?
내 텍스트가 서버로 전송되나요?
관련 도구
이런 편리한 도구도 함께 사용해 보세요