T

Text Machine

강력한 텍스트 도구를 브라우저에서

바제리 암호

프랑스 암호 분석가 에티엔 바제리가 고안한 2단계 체계인 바제리 암호를 암호화하고 복호화하세요. 여기서는 하나의 비밀 숫자가 두 가지 일을 한꺼번에 해냅니다. 그 자릿수는 메시지를 묶음으로 잘라 각 묶음을 뒤집고, 같은 숫자를 단어로 풀어 쓴 것은 평문 알파벳 옆에 놓인 치환 정사각형의 키가 됩니다. 숫자를 고르고, 암호화와 복호화를 전환하며, 두 정사각형이 채워지는 동안 전치와 치환이 글자 하나씩 펼쳐지는 모습을 지켜보세요. 모든 것이 브라우저에서 실행됩니다.

비밀 숫자 키

숫자

단어로 풀어 쓴 숫자는 오른쪽 정사각형의 키가 되고, 그 자릿수는 전치 묶음의 크기를 정합니다. 고전적인 예제는 23을 사용합니다.

실시간 암호 정사각형

정사각형 1 — 평문 알파벳, 열을 따라 아래로

A
F
L
Q
V
B
G
M
R
W
C
H
N
S
X
D
I
O
T
Y
E
K
P
U
Z

정사각형 2 — 숫자로 키를 만들고, 행을 가로질러

T
W
E
N
Y
H
R
A
B
C
D
F
G
I
K
L
M
O
P
Q
S
U
V
X
Z

정사각형 2 키: TWENTYTHREE

평문
암호문

위에 텍스트를 입력하면 바제리 암호 결과가 여기에 표시됩니다.

바제리 암호 사용 방법

  1. 1

    암호화 또는 복호화 선택

    평문을 바제리 암호문으로 바꾸려면 암호화를, 암호문을 다시 평문으로 바꾸려면 복호화를 고르세요. 어느 방향이든 같은 비밀 숫자가 쓰입니다.

  2. 2

    비밀 숫자 입력

    1부터 999999까지의 정수를 입력하세요. 도구는 그것을 단어로 풀어 써서 오른쪽 정사각형의 키를 만들고, 그 자릿수를 써서 전치 묶음의 크기를 정합니다. 두 개의 실시간 정사각형은 당신의 숫자가 알파벳을 어떻게 배열하는지 정확히 보여 줍니다.

  3. 3

    텍스트 입력 또는 붙여넣기

    메시지나 암호문을 입력하세요. 암호는 자동으로 실행되어 숫자 크기의 각 묶음을 뒤집고 두 정사각형 사이를 치환하며, 단계별 계산 과정을 보여 줍니다.

  4. 4

    보기, 복사, 공유

    결과를 읽은 뒤, 복사하거나 텍스트 파일로 다운로드하거나, 당신의 정확한 숫자와 방향, 텍스트 그대로 도구를 다시 여는 링크로 공유하세요. 모든 것이 브라우저 안에 머뭅니다.

바제리 암호 이해하기

바제리 암호란 무엇인가요?

바제리 암호는 19세기 말의 저명한 프랑스 육군 암호 분석가 에티엔 바제리의 이름을 딴 2단계 종이와 연필 암호입니다. 이것을 우아하게 만드는 점은 하나의 비밀 숫자가 전체 체계를 제어한다는 것입니다. 같은 숫자가 두 가지 다른 방식으로 쓰입니다. 자릿수의 나열로 읽으면 전치를 이끌고, 단어로 풀어 쓰면 치환의 키가 됩니다. 이렇게 전치와 치환을 결합한 것을 암호학자들은 곱 암호(product cipher)라고 부르며, 이는 바제리 암호를 두 단계 어느 하나만 쓸 때보다 눈에 띄게 더 강하게 만듭니다.

두 단계 모두 I와 J가 한 칸을 공유하는 25글자 알파벳에서 작동하는데, 이는 폴리비우스 정사각형과 플레이페어 암호가 쓰는 것과 같은 관습입니다. 암호화기는 먼저 작은 글자 묶음을 뒤집은 다음, 나란히 놓인 두 정사각형을 사용해 각 글자를 바꿉니다. 두 정사각형이 의도적으로 서로 다른 방식으로 만들어지기 때문에, 치환은 단순한 자리 이동이 아니라 알파벳의 진정한 뒤섞임이 됩니다. 그 결과는 글자의 순서와 정체를 모두 숨기는데, 이것이 바로 바제리가 노린 조합입니다.

바제리 암호가 작동하는 방식

두 개의 5x5 정사각형이 서로 옆에 놓입니다. 정사각형 1은 평문 알파벳을 담지만, 열을 따라 아래로 적혀 있어서 그 행을 읽으면 첫째 줄에 A, F, L, Q, V가, 그다음 B, G, M, R, W가, 이런 식으로 이어집니다. 정사각형 2는 키로 만든 정사각형입니다. 비밀 숫자를 단어로 풀어 쓰고, 반복된 글자는 지워 내며, 남은 알파벳을 덧붙이는데, 모두 평소의 왼쪽에서 오른쪽 읽기 순서로 행을 가로질러 적습니다. 숫자 23이면 키워드는 TWENTYTHREE이며, 이는 TWENYHR로 다듬어지므로, 정사각형 2는 첫째 행에 TWENY를, 그다음 HRABC를 읽고, 알파벳의 나머지가 따라옵니다.

암호화는 두 번의 통과로 일어납니다. 먼저 전치입니다. 평문은 숫자의 자릿수를 차례로, 또 반복해 가져온 길이를 갖는 연속된 묶음으로 잘리고, 각 묶음은 거꾸로 적힙니다. 키 23이면 메시지는 글자 둘, 글자 셋, 둘, 셋, 이런 식으로 나뉘고, 작은 묶음마다 뒤집힙니다. 다음은 치환입니다. 그 전치된 텍스트의 각 글자를 정사각형 1에서 찾고, 정사각형 2의 바로 같은 칸을 차지하는 글자를 그 자리에 적습니다. 복호화는 그저 이 기계를 거꾸로 돌릴 뿐입니다. 정사각형 2에서 정사각형 1로 치환을 되돌린 다음, 같은 묶음을 다시 한 번 뒤집어 원래 순서를 복원합니다.

예제 풀이

키 23으로 단어 DCODE를 잡습니다. 자릿수 2와 3은 이를 DC와 ODE로 나누고, 각 묶음을 뒤집으면 CD와 EDO가 되므로, 전치된 텍스트는 CDEDO입니다. 이제 치환합니다. 정사각형 1에서 글자 C는, 정사각형 2에서 D가 자리한 칸에 놓여 있습니다. 마찬가지로 D는 L로, E는 S로, 두 번째 D는 다시 L로, O는 O로 대응됩니다. 그것들을 읽어 내면 암호문 DLSLO가 나옵니다. 이 DCODE에서 DLSLO로의 결과는 바제리 암호의 표준 참조 벡터이므로, 이것을 써서 이 도구를 포함한 어떤 구현이든 검증할 수 있습니다.

더 긴 메시지가 뒤섞임을 더 잘 보여 줍니다. 같은 키 23으로 WEHAVETAKENTHEBRIDGE를 암호화하면 SCYTFPSSUTPGHSFMBSRL이 나옵니다. 평문에서 글자 패턴의 두 사본이 암호문에서는 깔끔하게 맞아떨어지지 않는다는 점에 주목하세요. 치환이 글자를 보기도 전에 전치가 글자들을 뒤섞어 놓았기 때문입니다. 이를 되돌리려면 도구를 복호화로 설정하고, 같은 숫자 23을 입력한 뒤, SCYTFPSSUTPGHSFMBSRL을 붙여넣으면 원래의 WEHAVETAKENTHEBRIDGE가 돌아옵니다. 두 통신자가 공유해야 할 것은 같은 숫자 하나뿐입니다.

숫자 키: 하나의 비밀, 두 가지 일

바제리 암호의 영리한 핵심은 하나의 숫자가 키 전체를 짊어진다는 것입니다. 영어 단어로 풀어 쓰고 반복을 걷어 내면, 그것은 정사각형 2를 뒤섞는 키워드가 되므로, 숫자가 바뀌면 치환 알파벳이 완전히 바뀝니다. 그 대신 자릿수의 나열로 읽으면, 바로 같은 숫자가 전치의 리듬을 정합니다. 키 23은 둘과 셋의 묶음을 뒤집고, 키 451이라면 넷, 다섯, 하나의 묶음을 뒤집습니다. 따라서 짧은 숫자 하나는 기억하기 쉬우면서도 두 개의 독립적인 메커니즘을 마련합니다.

이 도구는 1부터 999999까지의 어떤 정수든 받아들입니다. 한 번 입력하면 정사각형 2가 풀어 쓴 키워드를 중심으로 다시 만들어지고, 키 글자가 색조로 표시되어 뒤섞임을 지켜볼 수 있으며, 아래 계산 과정의 전치 묶음이 자릿수에 맞춰 크기가 바뀝니다. 숫자만으로 모든 것이 정해지기 때문에, 공유 링크 안을 이동하는 것은 오직 그 숫자뿐, 평문 자체는 결코 아닙니다. 자릿수 중의 0은 묶기가 언제나 앞으로 나아가도록 열 개짜리 완전한 묶음으로 다뤄지며, 키는 그저 숫자이므로 앞자리의 0은 무시됩니다.

암호 분석가 에티엔 바제리

에티엔 바제리는 프랑스 군 암호국 안팎에서 수십 년을 보내며 그 시대의 위대한 암호 해독가 중 한 명이라는 명성을 얻었습니다. 그는 두 세기 동안 분석에 버텨 온 명명 암호(nomenclator)인 루이 14세의 대암호(Great Cipher)를 푼 것으로, 그리고 당대의 암호 장치를 향한 날카로운 공개 비판으로 가장 잘 기억됩니다. 그는 깨질 수 없다고 여겨지던 체계가 실은 그렇지 않음을 보여 주기를 즐겼고, 자신이 겨루던 암호학자들에게 던지는 교육용 예제이자 도전으로서 자신만의 암호를 제안했습니다.

그의 이름을 공유하는 두 가지를 구분할 가치가 있습니다. 이 페이지의 바제리 암호는 숫자로 작동하는 종이와 연필 전치·치환 체계입니다. 바제리 실린더는 다른 발명품으로, 제퍼슨 디스크와 후대 미국의 M-94 장치 계열에 속하는 글자가 적힌 바퀴 한 벌입니다. 둘 다 같은 쉴 줄 모르는 정신에서 자라났지만, 기계적으로는 서로 무관합니다. 여기서는 두 개의 정사각형과 숫자, 연필만으로 온전히 다룰 수 있는 그 암호에 초점을 맞춥니다.

바제리 암호는 얼마나 강력한가요?

그 시대 자체의 기준으로 보면 바제리 암호는 점잖은 손 암호 체계였는데, 바로 두 가지 다른 발상을 겹쳐 쌓았기 때문입니다. 전치 단계는 글자를 이리저리 옮겨 빈도 분석이 암호문에서 치환 알파벳을 그냥 읽어 낼 수 없게 하고, 치환 단계는 각 글자의 정체를 가려 아나그램만으로는 단어를 복원할 수 없게 합니다. 한 단계가 이미 분석가가 의지할 증거를 흐려 놓았다면, 한 번에 한 단계씩 깨뜨리는 일은 훨씬 어려워집니다.

하지만 현대의 방법에 맞서면 그것은 아무런 실질적 보안도 제공하지 못합니다. 키 공간이 너무 작습니다. 짧은 숫자는 가능성이 한 줌뿐이고, 여섯 자리 숫자조차 컴퓨터가 전수 탐색하기에는 사소합니다. 일단 숫자가 추측되면 두 단계 모두 즉시 풀립니다. 게다가 전치는 고정된 키에 대해 자기 역(self-inverse)이고 치환은 고정된 단일 알파벳 대응이므로, 그 구조는 끈질긴 암호 분석가에게 여러 발판을 줍니다. 그것은 매혹적인 역사적 곱 암호이지, 오늘날 중요한 무언가를 지키기 위한 도구가 아닙니다.

바제리 암호는 안전한가요?

아니요. 바제리 암호는 민감한 정보를 위한 보호가 아니라 암호학 역사의 한 조각이자 퍼즐로 대하세요. 작은 키와 깔끔하고 되돌릴 수 있는 구조는 컴퓨터를 가진 누구든, 그리고 흔히 인내심과 연필을 가진 누구든 메시지를 복원할 수 있음을 뜻합니다. 그것은 전치와 치환이 어떻게 서로를 보완하는지 배우는 방법으로 빛나며, 바로 그 이유로 퍼즐 헌트와 방 탈출, 깃발 뺏기(CTF) 문제에서 사랑받습니다.

이 도구로 바제리가 두 단순한 단계를 어느 하나보다 더 영리한 무언가로 결합한 방식을 탐구하고, 퍼즐을 만들고 풀며, 표준 DCODE에서 DLSLO 벡터에 견주어 작업을 검증하세요. 실제 기밀 유지를 위해서는 AES처럼 현대적이고 충분히 검증된 알고리즘에 의지하세요. 여기 있는 모든 것은 브라우저 안에서 로컬로 실행되므로, 입력하는 어떤 것도 기기를 떠나지 않는 상태로 마음껏 실험할 수 있습니다.

자주 묻는 질문

바제리 암호란 무엇인가요?
바제리 암호는 프랑스 암호 분석가 에티엔 바제리가 만든 2단계 암호입니다. 하나의 비밀 숫자가 두 단계를 모두 이끕니다. 그 자릿수는 작은 글자 묶음을 뒤집는 전치를 정하고, 같은 숫자를 단어로 풀어 쓴 것은 두 개의 5x5 정사각형 사이의 치환에 키를 줍니다. 전치와 치환을 결합한 것이 이것을 곱 암호로 만듭니다.
숫자 키는 어떻게 작동하나요?
숫자는 한꺼번에 두 가지 방식으로 쓰입니다. 영어 단어로 풀어 쓰고 반복된 글자를 걷어 내면, 그것은 두 번째 정사각형을 위한 키워드가 되므로 치환 알파벳이 그것에 좌우됩니다. 자릿수의 나열로 읽으면, 그다음에 뒤집히는 전치 묶음의 길이를 정합니다. 키 23은 둘과 셋의 묶음, 그리고 키워드 TWENTYTHREE를 뜻합니다.
두 정사각형은 왜 서로 다르게 만들어지나요?
정사각형 1은 열을 따라 아래로 적힌 평문 알파벳이고, 정사각형 2는 행을 가로질러 적힌, 키로 만든 알파벳입니다. 채우는 방향의 이 의도적인 차이는 고전적 정의의 일부이며, 치환을 단순한 자리 이동이 아니라 알파벳의 진정한 뒤섞임으로 만드는 요소입니다. 또한 이것이 바로 표준 DCODE에서 DLSLO 테스트 벡터를 재현하는 것입니다.
바제리 암호 예제를 보여 줄 수 있나요?
키 23으로 단어 DCODE는 DC와 ODE로 나뉘고, 각 묶음이 뒤집혀 CDEDO가 되며, 두 정사각형 사이를 치환하면 암호문 DLSLO가 나옵니다. 같은 숫자 23으로 DLSLO를 복호화하면 DCODE가 돌아옵니다. 더 긴 예제로는, WEHAVETAKENTHEBRIDGE가 SCYTFPSSUTPGHSFMBSRL로 암호화됩니다.
바제리 암호는 어떻게 복호화하나요?
도구를 복호화로 전환하고, 메시지가 암호화될 때 쓰인 것과 같은 숫자를 입력한 뒤, 암호문을 붙여넣으세요. 도구는 먼저 정사각형 2에서 정사각형 1로 치환을 되돌린 다음, 같은 숫자 크기의 묶음을 다시 한 번 뒤집어 원래 글자 순서를 복원하여 평문을 다시 만듭니다.
J와 공백, 문장 부호는 어떻게 되나요?
바제리 암호는 I와 J가 한 칸을 공유하는 25글자 알파벳에서 작동하므로, 모든 J는 I로 다뤄집니다. 암호화할 때 글자는 하나의 대소문자로 통일되고, 공백과 숫자, 문장 부호를 포함해 글자가 아닌 것은 모두 버려집니다. 그것이 복호화된 텍스트가 공백 없이 이어지는 글자로 돌아오는 이유입니다.
바제리 암호는 바제리 실린더와 같은가요?
아니요. 둘은 발명가를 공유하지만 기계적으로는 무관합니다. 바제리 암호는 숫자로 작동하는 종이와 연필 전치·치환 체계로, 이 도구가 구현하는 것입니다. 바제리 실린더는 제퍼슨 디스크와 미국의 M-94 계열에 속하는 바퀴 암호로, 정사각형 대신 회전하는 글자 디스크를 사용합니다.
에티엔 바제리는 누구였나요?
에티엔 바제리는 20세기로 넘어갈 무렵에 활동한 프랑스 군 암호 분석가로, 약 이백 년 동안 읽히지 않은 채 남아 있던 루이 14세의 대암호를 푼 것으로 유명합니다. 그는 당대의 암호 기계를 거침없이 비판했고, 자신만의 암호를 부분적으로는 시연이자 동료들에게 던지는 도전으로 고안했습니다.
왜 고정된 블록 크기 대신 묶음을 뒤집나요?
숫자의 자릿수가 묶음 길이를 정하게 하면 전치를 치환에 키를 주는 같은 비밀에 묶을 수 있으므로, 짧은 숫자 하나가 모든 것을 제어합니다. 또한 가변적인 묶음 크기는 하나의 고정된 블록보다 텍스트를 더 불규칙하게 쪼개므로, 치환 단계가 적용되기 전에 반복된 패턴을 숨기는 데 도움이 됩니다.
바제리 암호는 안전한가요?
아니요. 전치와 치환을 겹쳐 쌓은 것이 그 시절에는 점잖은 손 암호로 만들었지만, 키 공간이 너무 작아 컴퓨터가 순식간에 모든 숫자를 시도할 수 있습니다. 일단 숫자가 발견되면 두 단계가 곧바로 풀립니다. 그것을 역사로, 그리고 퍼즐로 대하고, 실제 보안을 위해서는 AES 같은 현대 알고리즘을 쓰세요.
키로 어떤 숫자를 쓸 수 있나요?
1부터 999999까지의 어떤 정수든 됩니다. 도구는 그 숫자를 풀어 써서 키로 만든 정사각형을 만들고, 그 자릿수를 전치에 씁니다. 자릿수 중의 0은 묶기가 언제나 나아가도록 열 개짜리 묶음으로 다뤄지며, 키는 그저 숫자의 값이므로 앞자리의 0은 무시됩니다.
제 텍스트가 서버로 전송되나요?
아니요. 모든 암호화와 복호화는 전적으로 브라우저에서 일어나므로, 입력한 텍스트와 숫자는 결코 업로드되거나 기록되거나 저장되지 않습니다. 공유 링크조차 데이터를 URL의 해시 뒤 부분에 담아 두는데, 브라우저는 이 부분을 서버로 절대 전송하지 않으므로, 직접 공유하기로 선택하기 전까지는 비공개로 유지됩니다.

관련 도구

이런 편리한 도구도 함께 사용해 보세요

폴리비우스 암호

니힐리스트 암호

카이사르 암호

비제네르 암호

아트바시 암호

레일 펜스 암호