T

Text Machine

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

Straddling Checkerboard

글자를 숫자로 바꾸는 monome-dinome 암호인 Straddling Checkerboard를 암호화하고 복호화하세요. 가장 흔한 글자들은 한 자리만 차지하고 다른 모든 글자는 두 자리를 차지하므로, 출력은 메시지를 촘촘한 숫자 흐름으로 분해하여 단어 경계를 숨깁니다. 보드를 뒤섞을 키워드를 고르고, 두 개의 행 표시 열을 선택하며, 암호화와 복호화를 전환하면서 보드가 채워지고 숫자가 만들어지는 모습을 지켜보세요. 모든 것이 브라우저에서 실행됩니다.

보드 키 (키워드와 빈 열)

키워드

빈 열

이 두 열의 숫자가 두 자리 글자를 위한 행 표시가 됩니다. 고전적인 보드는 2 and 6 열을 사용합니다.

실시간 체커보드

0
1
2
3
4
5
6
7
8
9
E
T
A
O
N
R
I
S
2
B
C
D
F
G
H
J
K
L
M
6
P
Q
/
U
V
W
X
Y
Z
.
평문
숫자

위에 텍스트를 입력하면 Straddling Checkerboard 결과가 여기에 표시됩니다.

스트래들링 체커보드 사용 방법

  1. 1

    암호화 또는 복호화 선택

    글자를 숫자 흐름으로 바꾸려면 암호화를, Straddling Checkerboard 숫자 흐름을 다시 글자로 바꾸려면 복호화를 고르세요. 어느 쪽이든 같은 보드 키가 쓰입니다.

  2. 2

    보드 키 설정

    선택적으로 글자의 순서를 뒤섞을 키워드를 입력하고, 행 표시가 될 두 빈 열을 고르세요. 고전적인 보드는 키워드를 쓰지 않고 2 and 6 열을 사용합니다. 실시간 보드는 모든 글자가 정확히 어디에 놓이는지 보여 줍니다.

  3. 3

    텍스트 입력 또는 붙여넣기

    메시지나 숫자를 입력하세요. 암호는 자동으로 실행되어 각 글자를 한 자리 또는 두 자리 숫자로 암호화하거나 숫자 흐름을 다시 글자로 읽어 내며, 계산 과정을 카드별로 보여 줍니다.

  4. 4

    보기, 복사, 공유

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

Straddling Checkerboard 이해하기

Straddling Checkerboard란 무엇인가요?

Straddling Checkerboard는 작은 격자를 사용해 글자를 숫자로 바꾸는 치환 암호입니다. 이것을 특별하게 만드는 점은 코드의 길이가 모두 같지는 않다는 것입니다. 가장 흔한 몇몇 글자는 한 자리 숫자로 암호화되는 반면, 다른 모든 글자와 기호는 두 자리 숫자로 암호화됩니다. 어떤 글자는 한 자리가 되고 다른 글자는 두 자리가 되기 때문에 이 암호는 monome-dinome 암호라고 불리며, 출력에서 짧은 코드와 긴 코드가 서로 엇갈리는 방식이 바로 straddling이라는 이름을 부여합니다.

이 고르지 않은 코딩은 영리한 묘수입니다. E, T, A, O, N, R, I, S 같은 자주 쓰이는 글자에 가장 짧은 코드를 주면 암호문이 촘촘하게 유지되는데, 이는 Morse 부호가 흔한 글자에 가장 짧은 신호를 주는 것과 매우 비슷합니다. 동시에 숫자 흐름에는 공백도 없고 고정된 글자 폭도 없으므로, 글자 사이의 경계가 숨겨집니다. Straddling Checkerboard는 그 자체로 단독으로 쓰이는 일이 드뭅니다. 그것은 Nihilist 및 VIC 암호 같은 더 강력한 종이와 연필 체계의 첫 단계로, 그 단계를 거친 숫자가 다시 한층 더 암호화됩니다.

Straddling Checkerboard가 작동하는 방식

보드는 열에 0부터 9까지 이름이 붙은 격자입니다. 맨 윗줄에는 고빈도 글자가 들어가지만, 그중 두 칸은 비워 둡니다. 그 두 빈 열 위의 숫자는 행 표시가 됩니다. 각각은 격자 아래의 두 번째 행에 이름을 붙입니다. 맨 윗줄에 자리한 글자는 그 열의 한 자리 숫자로 암호화됩니다. 아래쪽 행 중 하나에 자리한 글자는 두 자리 숫자, 즉 먼저 행 표시 숫자가 오고 그다음 열 숫자가 오는 식으로 암호화됩니다.

그러면 암호화는 곧바로 찾아보는 일입니다. 평문을 한 번에 한 글자씩 훑으며 각 글자를 보드에서 찾아 그 한 자리 또는 두 자리 코드를 적습니다. 공백과 문장 부호는 버려지고 글자는 하나의 대소문자로 통일되므로, 결과는 한 글자가 끝나고 다음 글자가 시작되는 곳을 알릴 표시가 전혀 없는 순수한 숫자 흐름이 됩니다. 복호화는 그 읽기를 거꾸로 합니다. 숫자를 왼쪽에서 오른쪽으로 훑다가 두 개의 행 표시 숫자 중 하나를 만나면 그것을 다음 숫자와 함께 두 자리 코드로 읽고, 그렇지 않으면 한 자리 숫자가 홀로 섭니다. 행 표시는 결코 단독으로 한 글자로 나타나지 않으므로, 이 읽기는 언제나 모호하지 않습니다.

예제 풀이

맨 윗줄이 비어 있지 않은 열들에 걸쳐 E, T, A, O, N, R, I, S를 읽고 두 빈 열이 2 and 6에 있는 고전적인 보드를 잡습니다. 첫 번째 아래쪽 행은 표시 2로 이름이 붙고 B, C, D, F, G, H, J, K, L, M을 담습니다. 두 번째 아래쪽 행은 표시 6으로 이름이 붙고 P, Q, 슬래시, U, V, W, X, Y, Z와 마침표를 담습니다. 그래서 E is 0, T is 1, A is 3이며, 표시 2 행의 1번 열에 자리한 C는 21입니다.

이제 메시지 ATTACK AT DAWN을 암호화합니다. 한 글자씩 읽으면 A is 3, T is 1, T is 1, A is 3, C is 21, K is 27, A is 3, T is 1, D is 22, A is 3, W is 65, N is 5가 됩니다. 그 코드들을 구분자 없이 이으면 암호문 3113212731223655가 나옵니다. 복호화하려면 그 숫자들을 왼쪽에서 훑습니다. 3은 행 표시가 아니므로 A이고, 그다음 1은 T, 1은 T, 3은 A, 그다음 2는 짝을 시작하므로 21은 C, 27은 K, 이런 식으로 ATTACKATDAWN을 다시 만들어 냅니다. 오직 글자만 암호화되기 때문에 공백은 사라졌으며, 이것이 바로 숫자 흐름이 단어 경계를 숨기는 방식입니다.

키워드와 빈 열

두 가지 선택이 보드를 정하며 키 역할을 합니다. 첫 번째는 글자의 순서를 뒤섞는 키워드입니다. 키워드의 서로 다른 글자들이 먼저 보드에 적히고, 그다음 남은 글자와 기호가 평소의 순서대로 따라옵니다. 공유한 키워드로 만든 보드는 어느 글자가 어느 코드를 얻는지를 뒤섞으므로, 키워드에 합의한 두 통신자는 같은 보드를 만들어 내지만 외부인은 그렇지 못합니다. 키워드가 없으면 보드는 자연스러운 순서로 채워지며, 이는 위의 교과서적인 예제를 재현합니다.

두 번째 선택은 맨 윗줄에서 어느 두 열을 비워 둘지입니다. 그 두 열의 숫자가 두 아래쪽 행을 위한 행 표시가 되며, 그것들을 바꾸면 모든 두 자리 코드가 바뀝니다. 이 도구는 둘 다 설정하게 해 줍니다. 보드를 뒤섞을 키워드를 입력하고 0부터 9까지 중 서로 다른 두 열의 숫자를 빈 열로 고르세요. 실시간 보드가 즉시 갱신되어 모든 글자가 정확히 어디에 놓이는지 볼 수 있으며, 복호화하려면 같은 키워드와 열이 필요하므로 그것들은 눈에 보이는 텍스트가 아니라 공유 링크 안에 담겨 이동합니다.

VIC 암호와 냉전의 역사

Straddling Checkerboard는 일찍이 실전에 투입된 가장 정교한 손 암호 중 하나인 VIC 암호의 심장으로 가장 잘 알려져 있습니다. 그것은 1950년대 미국에서 활동한 소련 첩보원, 암호명 VICTOR의 Reino Hayhanen의 이름을 땄습니다. 그는 Straddling Checkerboard를 사용해 자신의 메시지를 숫자로 바꾼 다음, 날짜와 문구, 개인 번호에서 유도한 비밀 키로 작동하는 추가적인 수치 단계를 덧입혀, 여러 해 동안 분석에 버틴 암호문을 만들어 냈습니다.

이 체계는 그 유명한 속 빈 니켈 사건을 통해 세상에 드러났습니다. 마이크로필름에 담긴 숫자 문자열이 든 속을 파낸 오 센트 동전이 뉴욕에서 나타났고, FBI는 Hayhanen이 1957년에 망명하여 그 방법을 설명하기 전까지 그 메시지를 깨뜨리지 못했습니다. 이 사건은 잘 설계된 종이와 연필 암호가 얼마나 강력할 수 있는지, 그리고 더 어려운 암호화 단계들이 적용되기 전에 Straddling Checkerboard가 평문을 압축하는 토대로 어떻게 쓰였는지를 함께 보여 주었습니다.

Straddling Checkerboard는 얼마나 강력한가요?

그 자체로 Straddling Checkerboard는 단순한 치환이며 안전하지 않습니다. 각 글자는 언제나 같은 한 자리 또는 두 자리 숫자로 대응되므로, 바탕에 깔린 글자 빈도가 숫자 흐름 속으로 살아남습니다. 체커보드를 의심하는 분석가는 선행 숫자로 유난히 자주 나오는 두 숫자를 찾아 그것들을 행 표시로 알아내고, 흐름을 한 자리와 두 자리 코드로 나눈 다음, 그 결과를 평범한 치환 퍼즐처럼 풀 수 있습니다. 키워드는 배열을 바꾸지만 이런 통계는 숨기지 못합니다.

그것의 진짜 가치는 구성 요소로서 있습니다. 텍스트를 촘촘하고 길이가 가변적인 숫자 흐름으로 바꾸는 것은, 그다음에 전치나 모듈러 덧셈을 더하는 체계에 이상적인 첫 단계인데, 분해가 각 글자의 정보를 메시지 전체에 흩뜨리고 도움이 되는 단어 사이 틈을 없애기 때문입니다. Nihilist 및 VIC 암호가 그것을 쓰는 방식이 바로 그것입니다. 체커보드는 압축하고 위장하며, 뒤이은 단계가 암호학적 강도를 공급합니다.

Straddling Checkerboard는 안전한가요?

아니요. 현대의 기준으로 Straddling Checkerboard는 민감한 정보에 아무런 보호도 제공하지 못합니다. 그것은 되돌릴 수 있는 인코딩에 단순한 치환을 더한 것이며, 숫자 패턴을 알아본 사람이라면 누구든 종이와 연필로 텍스트를 복원할 수 있습니다. 그것은 분해와 가변 길이 코드가 어떻게 작동하는지 배우기에, 그리고 퍼즐과 방 탈출, 깃발 뺏기(CTF) 문제에 더없이 좋지만, 중요한 무언가를 결코 지켜서는 안 됩니다.

이 도구로 그 작동 원리를 탐구하고, 체커보드 퍼즐을 만들고 풀며, 냉전 시대 첩보 암호가 어떻게 그 일을 시작했는지 살펴보세요. 실제 데이터를 보호하려면 그 대신 AES처럼 현대적이고 충분히 검증된 알고리즘에 의지하세요. 여기 있는 모든 것은 브라우저 안에서 로컬로 실행되므로, 입력하는 어떤 것도 기기를 떠나지 않는 상태로 자유롭게 실험할 수 있습니다.

자주 묻는 질문

Straddling Checkerboard란 무엇인가요?
Straddling Checkerboard는 작은 격자를 사용해 글자를 숫자로 바꾸는 치환 암호입니다. 가장 흔한 글자는 한 자리 숫자로, 다른 모든 글자는 두 자리 숫자로 암호화되며, 이것이 그것을 monome-dinome 암호로 만듭니다. 메시지를 압축하고 단어 경계를 숨기며, Nihilist 및 VIC 암호의 첫 단계를 이룹니다.
왜 어떤 글자는 한 자리이고 다른 글자는 두 자리인가요?
보드의 맨 윗줄은 E, T, A, O, N, R, I, S 같은 고빈도 글자를 담으며, 각각은 그 열의 한 자리 숫자로 암호화됩니다. 그 줄의 두 열은 비워 두는데, 그 숫자가 남은 글자를 담는 두 아래쪽 행을 위한 행 표시 역할을 하므로 그 글자들은 두 자리가 필요합니다. 흔한 글자에 가장 짧은 코드를 주면 출력이 촘촘하게 유지됩니다.
Straddling Checkerboard 메시지는 어떻게 읽나요?
숫자를 왼쪽에서 오른쪽으로 훑으세요. 두 개의 행 표시 숫자 중 하나를 만날 때마다 그것을 다음 숫자와 함께 아래쪽 행의 글자를 가리키는 두 자리 코드로 읽으세요. 그 밖의 숫자는 맨 윗줄 글자를 가리키는 한 자리 코드입니다. 표시는 결코 글자로 홀로 서지 않으므로, 이 읽기는 언제나 모호하지 않습니다.
Straddling Checkerboard 예제를 보여 줄 수 있나요?
맨 위에 E, T, A, O, N, R, I, S가 있고 빈 열이 2 and 6인 고전적인 보드를 사용하면, 메시지 ATTACK AT DAWN은 3113212731223655로 암호화됩니다. 그 숫자들을 같은 보드로 복호화하면 ATTACKATDAWN을 돌려줍니다. 오직 글자만 암호화되기 때문에 공백은 사라집니다.
키워드는 무엇을 위한 것인가요?
키워드는 보드 위 글자의 순서를 뒤섞습니다. 그 서로 다른 글자들이 먼저 놓이고 나머지 알파벳이 따라오므로, 같은 글자가 더 이상 평범한 보드에서와 같은 코드를 얻지 않습니다. 키워드를 공유한 두 사람은 같은 보드를 만들지만, 그것이 없는 사람은 그렇지 못합니다. 키워드가 없으면 보드는 자연스러운 순서로 채워집니다.
빈 열은 무엇인가요?
빈 열은 비워 두는 맨 윗줄의 두 칸입니다. 그 열의 숫자가 두 아래쪽 행에 이름을 붙이는 행 표시가 되므로, 모든 두 자리 코드는 그중 하나로 시작합니다. 빈 열을 바꾸면 모든 두 자리 코드가 바뀝니다. 고전적인 보드는 2 and 6 열을 비워 두지만, 0부터 9까지 중 서로 다른 어느 두 열이든 고를 수 있습니다.
Straddling Checkerboard는 VIC 암호와 같은가요?
아니요. Straddling Checkerboard는 VIC 암호의 한 구성 요소일 뿐, 그 전체가 아닙니다. VIC 암호는 먼저 체커보드로 메시지를 숫자로 바꾼 다음, 비밀 키로 작동하는 추가적인 수치 암호화를 적용합니다. 체커보드는 분해를 공급하고, 뒤이은 단계들이 강도의 대부분을 공급합니다.
VIC 암호와 속 빈 니켈 사건은 무엇인가요?
VIC 암호는 1950년대 미국에서 암호명 VICTOR의 첩보원 Reino Hayhanen이 사용한 소련 손 암호로, 그 핵심에 Straddling Checkerboard가 있었습니다. 그것은 속 빈 니켈 사건을 통해 유명해졌는데, 속을 파낸 동전이 마이크로필름에 담긴 숫자 메시지를 품고 있었고, FBI는 Hayhanen이 1957년에 망명하여 그 방법을 밝히기 전까지 그것을 깨뜨리지 못했습니다.
이 암호는 공백과 문장 부호를 유지하나요?
아니요. 암호화할 때는 오직 글자만 변환되며, 공백과 문장 부호, 숫자, 그 밖의 기호는 버려지고 글자는 하나의 대소문자로 통일됩니다. 그것은 의도된 것인데, 단어 사이의 틈을 없애는 것이 숫자 흐름이 메시지의 구조를 숨기는 방식의 일부이기 때문입니다. 따라서 복호화는 공백 없이 글자를 돌려줍니다.
Straddling Checkerboard는 어떻게 복호화하나요?
도구를 복호화로 전환하고, 메시지가 암호화될 때 쓰인 것과 같은 키워드와 빈 열을 설정한 뒤, 숫자 흐름을 붙여넣으세요. 도구는 숫자를 왼쪽에서 오른쪽으로 읽으며 행 표시 다음에는 두 자리를, 그 밖의 경우에는 한 자리를 취해 글자를 다시 만들어 냅니다. 어떤 숫자가 보드에 맞춰지지 않으면 물음표로 표시됩니다.
Straddling Checkerboard는 안전한가요?
아니요. 그 자체로는 단순한 치환이므로, 글자 빈도가 숫자 속으로 살아남아 손으로 풀 수 있습니다. 그 목적은 그 자체로 안전한 암호가 아니라, 더 큰 암호를 위한 강력한 구성 요소가 되는 것입니다. 실제 정보를 보호하려면 그 대신 AES 같은 현대 알고리즘을 쓰세요.
제 텍스트가 서버로 전송되나요?
아니요. 모든 암호화와 복호화는 전적으로 브라우저에서 일어나므로, 입력한 텍스트와 키워드, 빈 열은 결코 업로드되거나 기록되거나 저장되지 않습니다. 공유 링크조차 데이터를 URL의 해시 뒤 부분에 담아 두는데, 브라우저는 이 부분을 서버로 절대 전송하지 않으므로, 직접 공유하기로 선택하기 전까지는 비공개로 유지됩니다.

관련 도구

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

카이사르 암호

비제네르 암호

아트바시 암호

레일 펜스 암호

플레이페어 암호

아핀 암호