T

Text Machine

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

트리테미우스 암호

독일 수도원장 Johannes Trithemius가 1508년에 펴낸 최초의 다중 문자 치환 암호인 트리테미우스 암호를 암호화하고 복호화하세요. 첫 번째 글자는 0만큼, 두 번째는 1만큼, 세 번째는 2만큼, 이런 식으로 이동시키는 — 키 없이 꾸준히 올라가는 이동입니다. 암호화와 복호화를 전환하고 계산 과정이 실시간으로 만들어지는 모습을 지켜보세요. 모든 작업은 브라우저에서 실행됩니다.

트리테미우스 암호는 키가 없습니다: 이동 순서가 언제나 0, 1, 2, 3, …이므로 입력할 것은 당신의 텍스트뿐입니다. 그 방법을 아는 사람이라면 누구나 복호화할 수 있습니다 — 그저 복호화로 전환하고 암호문을 붙여넣으세요.

평문
암호문

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

트리테미우스 암호 사용 방법

  1. 1

    암호화 또는 복호화 선택

    평문을 트리테미우스 암호문으로 바꾸려면 암호화를, 암호문에서 평문을 되찾으려면 복호화를 고르세요. 이 암호는 키가 없으므로, 방향이 당신이 골라야 할 유일한 설정입니다.

  2. 2

    텍스트 입력 또는 붙여넣기

    변환하려는 메시지를 입력하세요. 암호는 입력하는 즉시 자동으로 실행되며, 올라가는 이동량 0, 1, 2, 3, …을 각 글자에 차례로 적용합니다.

  3. 3

    계산 과정 지켜보기

    글자별 계산 과정을 열어 모든 위치에서 적용된 이동량과 그것이 만들어 내는 글자를 확인하세요. 이동량은 글자마다 하나씩 커지고 26개의 글자 뒤에 다시 처음으로 돌아갑니다.

  4. 4

    보기, 복사, 공유

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

트리테미우스 암호 이해하기

트리테미우스 암호란 무엇인가요?

트리테미우스 암호는 흔히 최초의 다중 문자 치환 암호로 여겨집니다. 이 암호는 독일 베네딕트회 수도원장 Johannes Trithemius가 1508년에 펴낸 Polygraphiae libri sex에서 발표되었는데, 이는 암호학을 다룬 가장 이른 인쇄본 책입니다. Caesar 암호처럼 모든 글자를 같은 양만큼 이동시키는 대신, 트리테미우스 암호는 각 글자를 꾸준히 커지는 양만큼 이동시킵니다: 첫 번째 글자는 0만큼, 두 번째는 1만큼, 세 번째는 2만큼 움직이며, 메시지 전체에 걸쳐 이런 식으로 이어집니다. 이동량이 모든 위치에서 바뀌기 때문에, 하나의 평문 글자가 여러 다른 암호문 글자가 될 수 있으며, 이는 단순한 이동 암호를 깨뜨리는 글자 빈도 패턴을 감춥니다.

트리테미우스 암호가 다중 문자 치환 암호 가운데 특이한 점은 키가 없다는 것입니다. 이동의 순서 0, 1, 2, 3, …은 고정되어 있고 공개되어 있어, 미리 약속할 비밀 단어나 숫자가 없습니다 — 그 방법을 아는 사람이라면 누구나 메시지를 읽을 수 있습니다. 그것이 또한 이 암호의 약점이지만, 역사적으로 그 발상은 혁명적이었습니다: 이 암호는 tabula recta, 곧 이동된 알파벳들로 이루어진 정사각형 표를 도입했으며, 훗날 Vigenère 암호가 이를 빌려와 비밀 키워드와 결합하게 됩니다.

트리테미우스 암호가 작동하는 방식

알파벳에 A를 0부터 Z를 25까지 번호를 매깁니다. 메시지를 따라가며 0에서 시작하여 글자마다 하나씩 올라가는 계수기를 유지합니다. 암호화하려면 그 계수기를 글자에 더하고 26으로 나눈 나머지로 알파벳을 한 바퀴 둘러 감으므로, 암호문 글자는 C = (P + i) mod 26이며, 여기서 i는 글자의 위치입니다. 복호화하려면 대신 같은 계수기를 빼는데, P = (C − i) mod 26이며, 이는 이동을 되돌려 원래 글자를 돌려줍니다.

오직 26개의 글자만 이동됩니다. 공백과 문장 부호, 숫자, 그 밖의 문자는 그대로 통과하며 계수기를 진행시키지 않으므로, 올라가는 이동량은 중요한 글자들과 계속 나란히 정렬된 채 유지됩니다. 대소문자는 보존됩니다. 이동량을 26으로 나눈 나머지로 취하기 때문에, 그 순서는 26개의 글자마다 반복됩니다: 스물일곱 번째 글자는 다시 0만큼, 스물여덟 번째는 1만큼 이동되며, 이런 식으로 이어집니다. 그래서 트리테미우스 암호는 키워드가 알파벳 전체, 곧 ABCDEFGHIJKLMNOPQRSTUVWXYZ인 Vigenère 암호와 똑같아집니다.

예제 풀이

메시지 HELLO를 암호화합니다. 다섯 글자는 위치 0, 1, 2, 3, 4에 놓이므로, 이동량은 0, 1, 2, 3, 4입니다. 각 이동량을 더하면 H 더하기 0은 H, E 더하기 1은 F, L 더하기 2는 N, L 더하기 3은 O, O 더하기 4는 S가 됩니다. 암호문은 HFNOS입니다. 두 개의 L이 서로 다른 글자 N과 O가 된 점에 주목하세요. 두 글자가 서로 다른 위치에 놓여 있기 때문인데 — 고정된 Caesar 이동으로는 결코 할 수 없는 일입니다.

HFNOS를 복호화하려면 같은 올라가는 이동량을 뺍니다. H 빼기 0은 H, F 빼기 1은 E, N 빼기 2는 L, O 빼기 3은 L, S 빼기 4는 O가 되어 다시 HELLO를 만듭니다. 암호화 단계와 복호화 단계는 서로의 거울상이며, 이동의 순서가 고정되어 있기 때문에 받는 사람에게 필요한 것은 그것이 트리테미우스 암호라는 앎뿐입니다.

tabula recta 표

트리테미우스는 자신의 암호를 tabula recta와 함께 제시했는데, 이는 라틴어로 '곧은 표'라는 뜻입니다: 첫 번째 행은 평범한 알파벳이고, 두 번째 행은 한 칸 이동된 알파벳, 세 번째 행은 두 칸 이동된 식으로, 스물다섯 칸 이동까지 내려가는 26 곱하기 26 격자입니다. 첫 번째 글자를 암호화하려면 첫 번째 행에서 읽고, 두 번째 글자는 두 번째 행에서, 세 번째는 세 번째 행에서 읽으며, 메시지의 잇따른 글자마다 한 행씩 내려갑니다.

이 표는 트리테미우스 암호가 남긴 지속적인 기여입니다. 몇십 년 뒤 Giovan Battista Bellaso, 그리고 그의 이름을 딴 Vigenère 암호는 같은 tabula recta를 유지하되, 정해진 순서대로 행을 밟아 내려가는 대신 비밀 키워드로 행을 골랐습니다. 따라서 트리테미우스 암호는 Vigenère, Beaufort, Gronsfeld를 포함한 키워드 표 암호 일가 전체의 직접적인 조상입니다.

트리테미우스, Vigenère, 그리고 점진적 키

트리테미우스 암호를 그 후손들과 나란히 놓고 보면 이해에 도움이 됩니다. Vigenère 암호는 반복되는 키워드를 메시지에 더하며, C = (P + K) mod 26으로, 각 키 글자는 0부터 25까지의 이동을 제공합니다. 트리테미우스 암호는 그 키워드가 순서대로 된 알파벳 전체인 특수한 경우이므로, 이동량은 그저 0, 1, 2, 3, …, 25이고 그다음 반복됩니다. 다시 말해, 트리테미우스는 ABCDEFGHIJKLMNOPQRSTUVWXYZ를 키로 쓰는 Vigenère입니다.

이것이 트리테미우스 암호가 때때로 점진적 키 암호라 불리는 이유입니다: 이동량이 비밀에 의해 선택되는 대신 매 단계마다 하나씩 나아갑니다. 키가 없다는 것의 대가는 비밀이 전혀 없다는 것이어서, 이 암호는 오직 그 방법을 알아보지 못하는 사람에 대해서만 메시지를 보호합니다. Bellaso와 Vigenère가 그랬듯 비밀 키워드를 더하는 것이야말로, 이 교육적 발상을 세 세기 동안 분석에 저항한 암호로 바꾼 바로 그 단계입니다.

트리테미우스 암호를 깨는 방법

트리테미우스 암호를 깨는 일은 사소합니다. 되찾을 비밀이 전혀 없기 때문입니다. 이동 순서 0, 1, 2, 3, …이 공개되어 있어, 트리테미우스 암호라고 의심하는 사람이라면 누구나 그저 올라가는 이동량을 빼고 메시지를 즉시 읽을 수 있습니다. 찾아야 할 키 길이도 없고 알아맞혀야 할 키도 없으며, 이 암호를 알아보는 것은 곧 그것을 깨는 것과 같습니다.

그 방법을 모르는 분석가조차도 쉽게 해냅니다. 고정된 순서는 첫 번째 글자가 이동되지 않는다는 뜻이므로 흔히 이 암호의 정체를 드러내며, 몇 안 되는 시작 오프셋을 시도해 보면 읽을 수 있는 텍스트가 금세 나타납니다. 이는 비밀 키워드가 공격자에게 Kasiski 검사와 일치 지수를 거치도록 강요하는 Vigenère와는 매우 다릅니다. 트리테미우스 암호는 훗날 그 위에 더 강력한 키 기반 암호들이 세워진 교육적 뼈대로 여기는 것이 가장 좋습니다.

트리테미우스 암호는 안전한가요?

아니요. 트리테미우스 암호는 어떤 보안도 전혀 제공하지 못합니다. 키가 없기 때문인데 — 그 방법 전체가 공개되어 있어, 그것을 알아보는 사람이라면 누구나 메시지를 즉시 읽을 수 있습니다. 다른 역사적 손 암호의 기준으로 보더라도 이것은 순전히 교육용 도구로, 무언가를 감추는 데보다 다중 문자 치환 이동이 어떻게 작동하는지 보여 주는 데 가치가 있습니다.

오늘날 트리테미우스 암호는 학습과 재미를 위해 즐겨집니다. 이것은 tabula recta와 Vigenère 뒤에 있는 점진적 이동 발상에 대한 더없이 명료한 입문이며, 부드러운 첫 다중 문자 치환 암호로서 퍼즐과 방 탈출, 깃발 뺏기(CTF) 문제에 등장합니다. 실제 정보를 보호하려면 그 대신 AES 같은 현대적이고 충분히 검증된 알고리즘에 의지해야 합니다.

자주 묻는 질문

트리테미우스 암호란 무엇인가요?
트리테미우스 암호는 최초의 다중 문자 치환 암호로, 독일 수도원장 Johannes Trithemius가 1508년에 발표했습니다. 이 암호는 그가 도입한 tabula recta를 사용하여 각 글자를 꾸준히 커지는 양만큼 — 첫 번째는 0만큼, 두 번째는 1만큼, 세 번째는 2만큼, 이런 식으로 — 이동시킵니다. 키가 없으며, 이 점이 이 암호를 Vigenère 암호의 키 없는 조상으로 만듭니다.
트리테미우스 암호는 어떻게 작동하나요?
알파벳에 A를 0부터 Z를 25까지 번호를 매기고, 0에서 시작하여 글자마다 하나씩 올라가는 계수기를 유지하세요. 암호화하려면 계수기를 글자에 26으로 나눈 나머지로 더합니다: C = (P + i) mod 26. 복호화하려면 대신 뺍니다: P = (C − i) mod 26. 글자만 이동되며, 공백과 숫자, 문장 부호는 그대로 통과하며 계수기를 진행시키지 않습니다.
트리테미우스 암호는 키가 필요한가요?
아니요. 트리테미우스 암호는 키가 없습니다: 이동의 순서 0, 1, 2, 3, …이 고정되어 있고 공개되어 있어, 입력할 것은 당신의 텍스트뿐입니다. 이것은 이 암호를 규정하는 특징이자 동시에 약점인데, 그 방법을 알아보는 사람이라면 누구나 어떤 비밀도 없이 메시지를 복호화할 수 있기 때문입니다.
트리테미우스 암호 예제를 보여 줄 수 있나요?
HELLO를 암호화하면 HFNOS가 됩니다. 글자들은 위치 0부터 4까지에 놓이므로, 이동량은 0, 1, 2, 3, 4입니다: H 더하기 0은 H, E 더하기 1은 F, L 더하기 2는 N, L 더하기 3은 O, O 더하기 4는 S입니다. 두 개의 L은 서로 다른 위치에 놓여 있어 서로 다른 글자가 됩니다. HFNOS를 같은 올라가는 이동량으로 복호화하면 HELLO를 돌려줍니다.
트리테미우스는 Vigenère 암호와 어떻게 다른가요?
트리테미우스 암호는 키워드가 순서대로 된 알파벳 전체인 Vigenère의 특수한 경우이므로, 이동량은 그저 0, 1, 2, 3, …이고 그다음 반복됩니다. Vigenère는 그 고정된 순서를 비밀 키워드로 바꾸는데, 이것이 그것에 진정한 강도를 주는 요소입니다. 요컨대, 트리테미우스는 ABCDEFGHIJKLMNOPQRSTUVWXYZ를 키로 쓰는 Vigenère입니다.
트리테미우스는 Caesar 암호와 어떻게 다른가요?
Caesar 암호는 모든 글자를 같은 고정된 양만큼 이동시키므로 단일 문자 방식이며, 같은 평문 글자는 언제나 같은 암호문 글자로 대응됩니다. 트리테미우스 암호는 모든 위치에서 이동량을 하나씩 늘리므로 다중 문자 방식입니다: 같은 평문 글자가 대개 나타나는 위치에 따라 서로 다른 암호문 글자가 됩니다.
tabula recta란 무엇인가요?
tabula recta는 트리테미우스가 도입한 알파벳의 26 곱하기 26 격자로, 각 행은 그 위의 행보다 한 칸 더 이동된 알파벳입니다. 암호화하려면 첫 번째 글자를 첫 번째 행에서, 두 번째를 두 번째 행에서 읽고, 이런 식으로 이어집니다. Vigenère 암호는 훗날 같은 표를 유지하되 비밀 키워드로 행을 골랐습니다.
트리테미우스 암호는 어떻게 복호화하나요?
도구를 복호화로 전환하고 암호문을 붙여넣으세요. 이 암호는 키가 없으므로 어떤 키도 필요하지 않습니다 — 도구가 올라가는 이동량 0, 1, 2, 3, …을 빼서 평문을 되찾습니다. 어떤 메시지가 트리테미우스 암호라는 것을 알아보는 것이 그것을 읽는 데 누구에게나 필요한 전부입니다.
이 암호는 공백과 문장 부호를 바꾸나요?
아니요. 오직 26개의 글자만 이동됩니다. 공백과 문장 부호, 숫자는 바뀌지 않고 그대로 통과하며 위치 계수기를 진행시키지 않으므로, 올라가는 이동량은 글자들과 계속 정렬된 채 유지됩니다. 대소문자가 보존되어 출력은 원래 텍스트의 모양을 그대로 간직합니다.
26개의 글자 뒤에는 이동량이 어떻게 되나요?
이동량을 26으로 나눈 나머지로 취하기 때문에, 한 바퀴 돌아 감깁니다. 스물일곱 번째 글자는 다시 0만큼, 스물여덟 번째는 1만큼 이동되며, 이런 식으로 그 순서가 반복됩니다. 이것이 바로 트리테미우스 암호가 26글자 알파벳 전체를 키로 쓰는 Vigenère 암호와 같아지는 이유입니다.
트리테미우스 암호는 안전한가요?
아니요. 트리테미우스 암호는 어떤 보안도 전혀 제공하지 못하는데, 키가 없고 그 방법이 공개되어 있기 때문입니다. 그것을 알아보는 사람이라면 누구나 메시지를 즉시 읽을 수 있습니다. 교육용이자 퍼즐용 암호, 그리고 암호 역사의 한 조각으로 다루는 것이 가장 좋습니다. 진정한 보호를 위해서는 그 대신 AES 같은 현대 알고리즘을 쓰세요.
제 텍스트가 서버로 전송되나요?
아니요. 모든 암호화와 복호화는 전적으로 브라우저에서 일어나므로, 입력한 텍스트는 결코 업로드되거나 기록되거나 저장되지 않습니다. 공유 링크조차 데이터를 URL의 해시 뒤 부분에 담아 두는데, 브라우저는 이 부분을 서버로 절대 전송하지 않으므로, 직접 공유하기로 선택하기 전까지는 비공개로 유지됩니다.

관련 도구

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

보퍼트 암호

그론스펠트 암호

포르타 암호

비제네르 암호

오토키 암호

러닝 키 암호