T

Text Machine

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

열 전치 암호

키워드를 바탕으로 하는 고전적인 뒤섞기인 열 전치 암호를 암호화하고 복호화하세요. 텍스트는 키워드 아래의 격자에 한 행씩 적힌 뒤, 키워드 글자들의 알파벳 순서대로 열이 다시 읽힙니다 — 무엇도 치환되지 않고, 모든 글자는 그저 자리를 옮길 뿐입니다. 불규칙 열 또는 완전 열을 선택하고, 패딩 문자를 설정하며, 실시간 격자를 따라가면서 결과를 복사하거나 다운로드하고 공유할 수 있습니다. 모든 작업은 브라우저에서 실행됩니다.

키워드

키워드

키워드를 입력하세요. 그 글자들이 열을 정합니다: 텍스트가 한 행씩 그 열을 가로질러 적힌 뒤, 키워드의 알파벳 순서대로 열이 읽혀 나갑니다. 같은 키 글자가 반복되면 왼쪽에서 오른쪽 순으로 다룹니다.

평문
암호문

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

열 전치 암호 사용 방법

  1. 1

    암호화 또는 복호화 선택

    평문을 열 전치 암호문으로 뒤섞으려면 암호화를, 암호문을 다시 원래 메시지로 되돌리려면 복호화를 고르세요.

  2. 2

    불규칙 열 또는 완전 열 선택

    불규칙은 마지막 행을 짧게 두고 텍스트를 정확히 그대로 돌려줍니다. 완전은 직접 고른 문자로 격자를 채워 완전한 직사각형으로 만들어, 모든 열의 길이를 같게 합니다.

  3. 3

    키워드 입력

    키워드를 입력하세요. 그 길이가 열의 개수를 정하고, 그 글자들의 알파벳 순서가 열을 읽는 순서를 정합니다. 양쪽 모두 같은 키워드를 써야 합니다; 완전 모드에서는 패딩 문자도 설정할 수 있습니다.

  4. 4

    텍스트 입력 또는 붙여넣기

    메시지를 입력하면 입력하는 즉시 전치됩니다. 암호화 격자가 텍스트를 키가 적용된 열에 채워 보여 주며, 각 열의 읽는 순서에 번호가 매겨집니다.

  5. 5

    복사, 다운로드, 공유

    결과를 복사하거나 텍스트 파일로 다운로드하거나, 입력한 텍스트와 키워드, 모드, 패딩을 그대로 갖춘 채 도구를 다시 여는 링크로 공유하세요.

열 전치 암호 이해하기

열 전치 암호란 무엇인가요?

열 전치 암호는 메시지를 숨기는 가장 오래되고 가장 직관적인 방법 중 하나입니다. 이는 전치 암호로, 어떤 글자도 바꾸지 않고 그 순서만 바꾼다는 뜻입니다. 암호문의 모든 글자는 평문에 있던 글자이며, 그저 정해진, 되풀이 가능한 규칙에 따라 뒤섞였을 뿐입니다. 그 규칙은 키워드로 정해지는데, 이 덕분에 뒤섞기를 믿을 만한 상대와 손쉽게 공유할 수 있으면서도 그것을 모르는 누구에게나 되돌리기 어렵습니다.

핵심 발상은 메시지를 키워드의 글자들 아래 격자에 한 행씩 적은 뒤, 격자를 한 번에 한 열씩 다시 읽어 내는 것입니다. 묘미는 열을 읽는 순서에 있습니다: 왼쪽에서 오른쪽이 아니라, 키워드 글자들의 알파벳 순서로 읽습니다. 키워드가 그 순서를 정하기 때문에, 키워드를 공유한 두 사람은 자유롭게 암호화하고 복호화할 수 있는 반면, 그 열 순서는 다른 모든 이에게 제멋대로처럼 보입니다.

열 전치 암호가 작동하는 방식

먼저 키워드를 격자 맨 위에 한 열당 한 글자씩 적습니다. 그런 다음 메시지를 그 아래에 적되, 첫 행을 왼쪽에서 오른쪽으로 채우고, 이어 둘째 행을, 그렇게 메시지 전체가 펼쳐질 때까지 계속합니다. 열의 개수는 키워드의 길이로 정해지므로, 여섯 글자짜리 키워드는 메시지가 아무리 길어도 언제나 여섯 개의 열을 만듭니다.

이제 키워드 글자들의 알파벳 순서대로 열에 번호를 매깁니다: 키워드에서 알파벳상 가장 앞서는 글자 아래의 열을 가장 먼저 읽고, 그다음으로 앞서는 것을 둘째로, 그렇게 이어 갑니다. 키워드에 같은 글자가 둘 있으면, 그 열들은 나타나는 순서대로 왼쪽에서 오른쪽으로 읽습니다. 마지막으로 그 매겨진 순서대로 격자를 한 열씩 읽으며, 각 열의 글자들을 차례로 적어 냅니다. 그렇게 얻은 문자열이 암호문입니다. 복호화하려면 과정을 거꾸로 돌립니다: 빈 격자를 다시 세우고, 읽는 순서대로 열을 도로 채운 뒤, 행을 가로질러 읽습니다.

불규칙 열 대 완전 열

대부분의 메시지는 격자에 고르게 나뉘지 않으므로, 마지막 행이 짧게 끝납니다. 불규칙(또는 미완전) 형식 — 고전 교과서의 열 전치 — 에서는 그 칸들을 그냥 비워 둡니다. 그러면 열의 길이가 하나씩 차이 나고, 암호문은 원래 메시지와 정확히 같은 길이가 됩니다. 이 도구의 불규칙 모드가 바로 이렇게 동작하며, 텍스트를 완벽하게 왕복시킵니다: 복호화하면 공백과 문장 부호까지 포함해 입력한 그대로가 되돌아옵니다.

완전 형식에서는 대신 메시지를 채워 마지막 행을 메우므로, 모든 열의 길이가 같고 격자가 완벽한 직사각형이 됩니다. 패딩은 보통 X나 Q 같은 정해진 합의된 글자이거나, 일련의 널 문자입니다. 완전 열은 열 길이를 분명하게 만들어 주는데, 이는 역사적으로 연필과 종이로 하는 작업을 단순화했고, 같은 격자를 두 번째로 전치할 때 꼭 필요합니다. 완전 모드로 바꾸면 원하는 문자로 격자를 채울 수 있습니다; 그러면 복호화 시 텍스트 뒤에 덧붙은 패딩이 그대로 따라오므로, 잘라 내면 됩니다.

키워드의 역할

키워드는 한 번에 두 가지 일을 합니다: 그 길이가 격자에 몇 개의 열이 있을지 정하고, 그 글자들의 알파벳 순위가 열을 읽는 순서를 정합니다. 더 긴 키워드는 더 넓고 더 낮은 격자와 더 철저한 뒤섞기를 만들고, 글자들이 이미 알파벳 순서에 가까운 키워드는 거의 아무것도 재배열하지 못하므로, 잘 섞인 키워드일수록 강합니다. 오직 글자들의 상대적 순서만 중요한데, 그래서 어떤 키워드와 글자 순위가 같은 단어는 같은 전치를 만들어 냅니다.

키워드가 비밀의 전부이므로, 보내는 이와 받는 이는 정확히 같은 것을 써야 합니다. 이 도구에서는 키워드 안의 글자만 열 순서에 반영되며 — 공백, 숫자, 문장 부호는 무시됩니다 — 반복된 글자는 왼쪽에서 오른쪽 순서를 유지하므로, BANANA 같은 키워드도 여전히 확정적이고 재현 가능한 열 순서를 줍니다. 키워드를 바꾸면 암호문이 완전히 달라지고, 같은 키워드는 언제나 그것을 도로 복호화합니다.

예제 풀이

메시지 WE ARE DISCOVERED FLEE AT ONCE와 키워드 ZEBRAS를 봅시다. 공백을 뺀 메시지는 WEAREDISCOVEREDFLEEATONCE로 스물다섯 글자이고, ZEBRAS는 여섯 글자이므로, 이를 여섯 개의 열에 적습니다: 첫 행에 WEARED, 둘째 행에 ISCOVE, 셋째 행에 REDFLE, 넷째 행에 EATONC, 그리고 E 하나만 든 마지막 짧은 행입니다.

이제 키워드 글자들을 알파벳순으로 매깁니다 — A, B, E, R, S, Z — 그러면 왼쪽에서 오른쪽으로 열에 5, 3, 2, 4, 6, 1 번호가 붙습니다. 그 순서대로 열을 읽으면 A 열에서 EVLN, B 열에서 ACDT, E 열에서 ESEA, R 열에서 ROFO, S 열에서 DEEC, 마지막으로 Z 열에서 WIREE가 나옵니다. 한데 이으면 암호문은 EVLNACDTESEAROFODEECWIREE입니다. 그것과 키워드 ZEBRAS를 복호화에 넣으면 격자가 다시 세워지고 WEAREDISCOVEREDFLEEATONCE가 도로 읽힙니다.

열 전치 메시지 복호화하기

복호화는 암호화보다 어려워 보이지만 같은 격자를 따릅니다. 암호문의 길이와 키워드의 열 개수로부터, 각 열이 정확히 얼마나 높은지 알아낼 수 있습니다: 메시지가 고르게 나뉘지 않으면, 가장 왼쪽 열들 — 각 행의 가장 앞 글자를 담는 열들 — 이 나머지보다 하나 더 높습니다. 각 열의 높이를 알면 암호문을 읽는 순서대로 다시 그 열들로 잘라, 각 열을 키워드 위치로 도로 떨어뜨린 뒤, 행을 가로질러 읽어 메시지를 되찾을 수 있습니다.

필요한 유일한 비밀은 키워드뿐이고, 나머지는 모두 암호문 자체로 정해집니다. 그래서 이 도구는 별도의 정보 없이 오직 암호문과 키워드만으로 복호화할 수 있습니다. 암호화에 쓰인 것과 같은 키워드를, 그리고 패딩이 쓰였다면 같은 모드를 쓰면, 원래 메시지가 다시 나타납니다 — 불규칙 열에서는 정확히 그대로 돌아오고, 완전 열에서는 패딩과 함께 돌아와 잘라 낼 준비가 됩니다.

역사와 안전성

열 전치는 수백 년 된 것으로, 20세기까지도 야전 암호의 주력이었는데, 종이와 키워드, 그리고 차분한 손길 외에는 아무것도 필요하지 않다는 점에서 높이 평가되었습니다. 그 자체만으로는 안전하지 않습니다: 글자를 결코 바꾸지 않기 때문에, 암호문은 평문과 정확히 같은 글자 빈도를 가지며, 암호 해독가는 열의 개수를 추측하고 조각들을 도로 맞춰 보려 시도함으로써 이를 공격할 수 있습니다 — 이를 anagramming이라 부르는 기법입니다. 짧은 메시지와 재사용된 키워드는 특히 빨리 무너집니다.

그 진짜 강점은 다른 단계들과 결합되는 데서 나옵니다. 서로 다른 두 키워드로 전치를 두 번 돌리는 것 — double transposition — 은 수십 년 동안 진지한 용도에 충분히 강하다고 여겨졌고, 전치를 치환 위에 쌓는 것이야말로 ADFGVX 암호를 강력하게 만드는 바로 그 방법입니다. 오늘날 열 전치는 교육 도구이자 퍼즐로 다루는 것이 가장 좋습니다: 글자를 재배열하는 것이 어떻게 메시지를 숨기는지를 명료하게, 직접 손으로 보여 주는 예시이기 때문입니다. 실제 정보를 보호하려면 AES 같은 현대적이고 동료 검토를 거친 알고리즘을 쓰고, 열 전치는 학습과 퍼즐, 캡처 더 플래그 챌린지를 위해 남겨 두세요.

자주 묻는 질문

열 전치 암호란 무엇인가요?
이는 글자를 바꾸는 대신 그 순서를 다시 매겨 메시지를 숨기는 고전적인 전치 암호입니다. 메시지를 키워드 아래 격자에 한 행씩 적은 뒤, 키워드 글자들의 알파벳 순서대로 열을 다시 읽어 냅니다. 키워드는 공유된 비밀입니다: 그것을 아는 누구나 암호화하고 복호화할 수 있는 반면, 그 열 순서는 다른 모든 이에게 제멋대로처럼 보입니다.
열 전치 암호는 어떻게 작동하나요?
키워드를 격자 맨 위에 한 열당 한 글자씩 적은 뒤, 그 아래에 메시지를 한 행씩 채웁니다. 키워드 글자들을 알파벳순으로 매겨 열에 번호를 붙이고, 그 매겨진 순서대로 격자를 한 번에 한 열씩 읽습니다. 그렇게 읽어 낸 글자들을 한데 이으면 암호문이 됩니다. 복호화는 같은 격자를 다시 세우고 행을 가로질러 읽습니다.
완전 열과 불규칙 열의 차이는 무엇인가요?
불규칙(미완전) 열은 메시지가 격자를 고르게 채우지 못할 때 마지막 행을 짧게 두므로, 열의 길이가 하나씩 차이 날 수 있고 암호문은 메시지와 같은 길이가 됩니다. 완전 열은 메시지를 골라낸 문자로 채워 완전한 직사각형으로 만들므로, 모든 열의 길이가 같습니다. 이 도구는 둘 다 지원합니다; 불규칙은 텍스트를 정확히 왕복시키고, 완전은 덧붙인 패딩과 함께 돌려줍니다.
열 전치 암호 예제를 보여 줄 수 있나요?
WEAREDISCOVEREDFLEEATONCE를 키워드 ZEBRAS와 함께 봅시다. 여섯 개의 열에 적으면 WEARED, ISCOVE, REDFLE, EATONC, 그리고 E 하나의 짧은 행으로 읽힙니다. ZEBRAS를 알파벳순 A, B, E, R, S, Z로 매기고 그 순서대로 열을 읽으면 EVLN, ACDT, ESEA, ROFO, DEEC, WIREE가 나오므로 — 암호문은 EVLNACDTESEAROFODEECWIREE입니다. 키워드 ZEBRAS가 그것을 곧장 도로 복호화합니다.
열 전치 암호는 어떻게 복호화하나요?
암호문의 길이와 키워드의 열 개수로부터 각 열이 얼마나 높은지 알아냅니다 — 메시지가 고르게 나뉘지 않을 때는 가장 왼쪽 열들이 한 글자 더 높습니다. 암호문을 키워드의 읽는 순서대로 열로 잘라, 각 열을 그 키워드 위치에 도로 넣고, 행을 가로질러 읽습니다. 이 도구에서는 복호화를 선택하고 암호화에 쓰인 것과 같은 키워드를 입력하세요.
키워드는 무엇을 하나요?
키워드는 두 가지를 합니다: 그 길이가 열의 개수를 정하고, 그 글자들의 알파벳 순서가 열을 읽는 순서를 정합니다. 오직 글자들의 상대적 순위만 중요하므로, 글자 순서가 같은 두 키워드는 같은 전치를 만들어 냅니다. 더 길고 잘 섞인 키워드는 짧은 것보다 메시지를 더 철저하게 뒤섞습니다.
키워드에 반복된 글자가 있으면 어떻게 되나요?
반복된 글자는 키워드에 나타나는 순서대로 왼쪽에서 오른쪽으로 읽습니다. 그래서 BANANA 같은 키워드도 여전히 확정적인 열 순서를 줍니다: 세 개의 A 열을 왼쪽에서 오른쪽 순서로 먼저 읽고, 그다음 B 열을, 그다음 두 개의 N 열을 읽습니다. 이 도구는 그 관례를 따르므로, 중복이 있는 키워드도 완벽하게 쓸 수 있고 언제나 올바르게 도로 복호화됩니다.
이 암호는 공백과 문장 부호를 유지하나요?
네. 전치는 글자의 순서만 다시 매기기 때문에, 이 도구는 입력한 모든 글자 — 글자, 숫자, 공백, 문장 부호, 심지어 이모지까지 — 를 옮기므로, 암호문은 정확히 같은 글자들을 재배열한 것입니다. 다만 키워드에서는 글자만 열 순서에 반영되며, 키워드 안의 공백과 다른 문자들은 무시됩니다.
패딩 문자는 무엇을 위한 것인가요?
패딩은 완전 모드에서만 쓰이며, 이때 격자는 완전한 직사각형으로 채워져 모든 열의 길이가 같아집니다. 패딩 문자 — 기본값은 X이지만 바꿀 수 있습니다 — 가 마지막 행의 빈 칸을 채웁니다. 완전 열 메시지를 복호화하면 패딩이 텍스트 끝에 돌아오는데, 그곳에서는 쉽게 잘라 낼 수 있습니다.
double transposition이란 무엇인가요?
double transposition은 보통 서로 다른 두 키워드로 열 전치를 두 번 돌려, 첫 번째 단계의 출력이 두 번째 단계의 입력이 되게 합니다. 이는 단일 전치를 공격하기 쉽게 만드는 규칙적인 열 구조를 깨뜨리며, 여러 수십 년 동안 진지한 야전 용도에 충분히 강하다고 여겨졌습니다. 여기서는 한 번 암호화한 뒤 그 결과를 두 번째 키워드로 다시 암호화하여 이를 재현할 수 있습니다.
열 전치 암호는 얼마나 안전한가요?
그 자체만으로는 안전하지 않습니다. 글자를 결코 바꾸지 않기 때문에 암호문은 평문과 같은 글자 빈도를 가지며, anagramming — 열의 개수를 추측하고 격자를 다시 맞추는 것 — 으로 깨질 수 있는데, 특히 짧은 메시지나 재사용된 키워드에서 그렇습니다. double transposition이나 ADFGVX 암호에서처럼 다른 단계들과 결합되면 훨씬 강해집니다. 실제 보호에는 AES 같은 현대적 알고리즘을 쓰고, 이 암호는 학습과 퍼즐을 위해 남겨 두세요.
내 텍스트가 서버로 전송되나요?
아니요. 모든 암호화와 복호화는 전적으로 브라우저에서 일어나므로, 입력한 텍스트는 결코 업로드되거나 기록되거나 저장되지 않습니다. 공유 링크조차 텍스트와 키워드를 URL의 해시 뒤 부분에 담아 두는데, 브라우저는 이 부분을 서버로 절대 전송하지 않으므로, 직접 링크를 공유하기로 선택하기 전까지는 메시지가 비공개로 유지됩니다.

관련 도구

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

레일 펜스 암호

스키테일 암호

카이사르 암호

비제네르 암호

아트바시 암호

플레이페어 암호