T

Text Machine

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

그론스펠트 암호

키로 짧은 숫자 문자열을 사용하는, 단순화된 Vigenère 암호인 그론스펠트 암호를 암호화하고 복호화하세요. 각 숫자가 메시지의 해당 글자를 이동시키며, 키는 텍스트 전체에 걸쳐 반복됩니다. 암호화와 복호화를 전환하고 계산 과정이 실시간으로 만들어지는 모습을 지켜보세요. 모든 작업은 브라우저에서 실행됩니다.

숫자 키

키 숫자

키는 31415처럼 0부터 9까지의 숫자 문자열로 입력하세요. 각 숫자는 메시지의 해당 글자가 얼마나 이동되는지를 정하며, 키는 텍스트 전체에 걸쳐 반복됩니다. 오직 숫자만 사용되며, 키에 입력된 글자나 공백, 문장 부호는 무시됩니다.

평문
암호문

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

그론스펠트 암호 사용 방법

  1. 1

    암호화 또는 복호화 선택

    평문을 그론스펠트 암호문으로 바꾸려면 암호화를, 암호문에서 평문을 되찾으려면 복호화를 고르세요. 같은 숫자 키가 두 방향에 모두 쓰입니다.

  2. 2

    숫자 키 입력

    키는 31415처럼 0부터 9까지의 숫자 문자열로 입력하세요. 각 숫자는 자신이 정렬되는 글자의 이동량을 정하며, 키는 메시지 전체에 걸쳐 반복됩니다. 키에 포함된 글자나 공백, 문장 부호는 무시됩니다.

  3. 3

    텍스트 입력 또는 붙여넣기

    변환하려는 메시지를 입력하세요. 암호는 입력하는 즉시 자동으로 실행되며, 아래의 글자별 계산 과정이 실시간으로 갱신되어 각 이동을 확인할 수 있습니다.

  4. 4

    보기, 복사, 공유

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

그론스펠트 암호 이해하기

그론스펠트 암호란 무엇인가요?

그론스펠트 암호는 Vigenère 암호와 똑같이 작동하지만 키를 키워드 대신 짧은 숫자 문자열로 받는 다중 문자 치환 암호입니다. 0부터 9까지의 각 숫자는 메시지의 해당 글자를 얼마나 이동시킬지 알려 주며, 숫자는 텍스트 전체에 걸쳐 반복됩니다. 같은 평문 글자라도 그 위치에 따라 여러 다른 암호문 글자가 될 수 있기 때문에, 이 암호는 단순한 카이사르 이동의 정체를 드러내는 손쉬운 글자 빈도 패턴을 감춥니다.

이 암호는 17세기의 외교관이자 군인이었던 그론스펠트 백작 Johann Franz의 이름을 딴 것이며, 학자 Gaspar Schott가 1665년 비밀 문서에 관한 저작에서 기술했습니다. 그 매력은 실용적이었습니다: 숫자 키는 날짜나 기억하기 좋은 수처럼 기억하기 쉽고 전달하기 쉬웠으며, 비밀 단어를 미리 약속해 둘 필요가 없었습니다. 그런 까닭에 그론스펠트 암호는 서신에서, 그리고 훗날 전신 시대에 실제로 쓰였습니다.

그론스펠트 암호가 작동하는 방식

알파벳에 A를 0부터 Z를 25까지 번호를 매깁니다. 모든 글자 아래에 숫자 하나씩이 놓이도록 필요한 만큼 자주 반복하여 메시지 아래에 숫자 키를 적습니다. 암호화하려면 각 키 숫자를 그 위의 글자에 더하고 26으로 나눈 나머지로 알파벳을 한 바퀴 둘러 감으므로, 암호문 글자는 C = (P + K) mod 26입니다. 복호화하려면 대신 빼는데, P = (C − K) mod 26이며, 이는 이동을 되돌려 원래 글자를 돌려줍니다.

오직 26개의 글자만 이동됩니다. 공백과 문장 부호, 그리고 메시지 자체에 나타나는 숫자조차 그대로 통과하며 키 숫자를 소모하지 않으므로, 키는 중요한 글자들과 계속 나란히 정렬된 채 유지됩니다. 대소문자는 보존되어 대문자는 대문자로, 소문자는 소문자로 남습니다. 모든 숫자가 0과 9 사이이기 때문에, 각 위치는 오직 열 가지 가능한 이동 중 하나만 사용하는데, 이것이 그론스펠트 암호를 규정하는 특징입니다.

예제 풀이

메시지 HELLO를 숫자 키 31415로 암호화합니다. 키를 반복하면 숫자 3, 1, 4, 1, 5가 글자 H, E, L, L, O 아래에 정렬됩니다. 각 글자를 그 숫자만큼 앞으로 이동시키면 H 더하기 3은 K, E 더하기 1은 F, L 더하기 4는 P, L 더하기 1은 M, O 더하기 5는 T가 됩니다. 암호문은 KFPMT입니다.

KFPMT를 같은 키 31415로 복호화하려면 대신 각 숫자를 뺍니다. K 빼기 3은 H, F 빼기 1은 E, P 빼기 4는 L, M 빼기 1은 L, T 빼기 5는 O가 되어 다시 HELLO를 만듭니다. 암호화 단계와 복호화 단계는 서로의 거울상이므로, 받는 사람에게 필요한 것은 같은 숫자 키 하나뿐입니다.

그론스펠트 대 Vigenère

그론스펠트 암호는 제한된 키를 쓰는 Vigenère 암호로 이해하는 것이 가장 좋습니다. Vigenère 키워드는 그 각 글자를 알파벳 전체를 써서 0부터 25까지의 이동으로 바꿉니다. 그론스펠트 키는 오직 0부터 9까지의 이동만 쓰는데, 이는 Vigenère 키워드 글자 A부터 J까지와 같습니다. 그래서 그론스펠트 키 31415는 Vigenère 키워드 DBEBF와 똑같이 작동하는데, D는 3만큼의 이동, B는 1만큼의 이동, E는 4만큼의 이동이고, 이런 식입니다.

이 제한은 하나의 절충입니다. 장점은 편리함입니다: 숫자는 단어보다 기억하거나 받아 적거나 지니기가 더 간단하며, 머릿속에서 알파벳을 이동량으로 변환할 일이 없습니다. 그 대가는 강도입니다. 각 위치에서 스물여섯 가지 가능한 이동 중 오직 열 가지만 쓰이기 때문에, 키 공간이 같은 길이의 완전한 Vigenère 키보다 훨씬 작아지며, 이것이 그론스펠트 암호를 더 깨기 쉽게 만듭니다.

왜 숫자를 키로 쓰나요?

숫자 키가 바로 그론스펠트 암호의 핵심입니다. 사람들은 생일이나 번지수, 또는 원주율 같은 친숙한 상수의 앞 숫자처럼 이미 자신에게 어떤 의미가 있는 숫자를 잘 기억합니다. 두 통신자는 그런 숫자를 빠르게 약속하고 기억에서 되살릴 수 있으며, 들킬지도 모를 비밀 단어를 적어 둘 필요가 없습니다.

숫자는 또한 깔끔하게 전달됩니다. 전신 시대에 숫자로 된 키는 단어보다 오류 가능성이 적게 전송되고 기록될 수 있었으며, 별도의 코드북도 필요 없었습니다. 그 실용성 덕분에 그론스펠트 암호는 더 강력한 방법이 나온 뒤로도 한참 동안 일상적인 비밀 문서에서 인기를 유지했고, 오늘날에도 여전히 퍼즐과 교육에 등장합니다.

그론스펠트 암호를 깨는 방법

그론스펠트는 반복 키 암호이므로, Vigenère를 깨는 것과 같은 공격에 무너지며, 다만 더 쉽게 그렇게 됩니다. 첫 단계는 키의 길이를 찾는 것입니다. 이를 위한 고전적인 도구는 반복되는 글자 무리 사이의 거리를 재는 Kasiski 검사와, 글자 빈도가 얼마나 고르지 않은지를 탐지하는 일치 지수입니다. 키 길이를 알면 암호문은 각각 단 하나의 숫자로 이동된 열들로 나뉩니다.

각 열을 푸는 데서 그론스펠트는 Vigenère보다 약합니다. 각 열은 오직 열 가지 가능한 값 중 하나로 이동되었으므로, 분석가는 그저 열 가지 모두를 시도하여 그 열이 평범한 언어처럼 읽히게 만드는 이동을 고르면 됩니다. 짧은 키라면 숫자마다 선택지가 열 개뿐이므로 키 전체를 무차별 대입으로 찾아낼 수도 있습니다. 따라서 그론스펠트 메시지는 그 키가 길고 예측하기 어렵고 결코 재사용되지 않는 만큼만 안전합니다.

그론스펠트 암호는 안전한가요?

아니요. 현대의 기준으로 그론스펠트 암호는 어떤 실질적 보안도 제공하지 못합니다. 작은 글자별 키 공간과 반복되는 키 때문에 종이와 연필로 빠르게 깨지며, 컴퓨터에게는 식은 죽 먹기입니다. 이 암호는 손 암호의 역사에 속하며, 그 가치는 분석에 대한 어떤 진지한 저항력이 아니라 숫자 키의 편리함이었습니다.

오늘날 그론스펠트 암호는 학습과 재미를 위해 즐겨집니다. 숫자 키가 다중 문자 치환 이동을 어떻게 이끄는지 보기에 명료하고 친근한 방법이며, 퍼즐 헌트와 방 탈출, 지오캐싱, 깃발 뺏기(CTF) 문제에 자주 등장합니다. 실제 정보를 보호하려면 그 대신 AES 같은 현대적이고 충분히 검증된 알고리즘에 의지해야 합니다.

자주 묻는 질문

그론스펠트 암호란 무엇인가요?
그론스펠트 암호는 Vigenère 암호처럼 작동하지만 키워드 대신 숫자로 된 키를 쓰는 다중 문자 치환 암호입니다. 0부터 9까지의 각 숫자가 메시지의 해당 글자를 이동시키며, 키는 텍스트 전체에 걸쳐 반복됩니다. 17세기의 한 백작 이름을 딴 것으로, 숫자 키의 편리함 덕분에 높이 평가되었습니다.
그론스펠트 암호는 어떻게 작동하나요?
알파벳에 A를 0부터 Z를 25까지 번호를 매기고 숫자 키를 메시지 아래에 필요한 만큼 반복하여 적으세요. 암호화하려면 각 키 숫자를 그 위의 글자에 26으로 나눈 나머지로 더합니다: C = (P + K) mod 26. 복호화하려면 대신 뺍니다: P = (C − K) mod 26. 글자만 이동되며, 텍스트의 공백과 문장 부호, 숫자는 그대로 통과합니다.
그론스펠트는 Vigenère 암호와 어떻게 다른가요?
그론스펠트는 제한된 키를 쓰는 Vigenère 암호입니다. Vigenère 키워드는 0부터 25까지의 이동을 쓰는 반면, 그론스펠트 키는 오직 0부터 9까지의 이동만 씁니다. 그래서 그론스펠트 키 31415는 Vigenère 키워드 DBEBF와 같습니다. 숫자 키가 기억하기 더 쉽지만, 더 작은 이동의 집합이 그론스펠트를 더 깨기 쉽게 만듭니다.
그론스펠트 암호 예제를 보여 줄 수 있나요?
HELLO를 키 31415로 암호화하면 KFPMT가 됩니다. 숫자 3, 1, 4, 1, 5가 글자 아래에 정렬되어 각각을 앞으로 이동시킵니다: H 더하기 3은 K, E 더하기 1은 F, L 더하기 4는 P, L 더하기 1은 M, O 더하기 5는 T입니다. KFPMT를 같은 키로 복호화하면 숫자를 빼서 HELLO를 돌려줍니다.
어떤 키를 써야 하나요?
0부터 9까지의 어떤 숫자 문자열도 됩니다. 더 길고 덜 예측 가능한 키일수록 더 강한데, 암호의 보안이 키가 길고 알아맞히기 어렵고 결코 재사용되지 않는 데 달려 있기 때문입니다. 1234 같은 짧거나 뻔한 숫자는 거의 즉시 깨집니다. 키에 입력된 글자나 다른 문자는 무시되므로, 오직 숫자만 중요합니다.
그론스펠트 암호는 어떻게 복호화하나요?
도구를 복호화로 전환하고, 암호화에 쓰인 것과 같은 숫자 키를 입력한 뒤, 암호문을 붙여넣으세요. 도구는 각 키 숫자를 빼서 평문을 되찾습니다. 키를 모른다면, 각 위치가 오직 열 가지 가능한 이동 중 하나만 쓰기 때문에 암호 해독으로 흔히 그것을 복원할 수 있습니다.
키는 왜 글자 대신 숫자를 쓰나요?
숫자 키는 그론스펠트 암호를 규정하는 특징이자 그 주된 실용적 장점입니다. 날짜나 원주율의 숫자 같은 수는 기억하고 받아 적기 쉬우며, 글자를 이동량으로 변환할 필요가 없습니다. 역사적으로 이것이 서신에서, 그리고 숫자가 깔끔하게 전송되던 전신에서 이 암호를 편리하게 만들었습니다.
이 암호는 공백과 숫자, 문장 부호를 바꾸나요?
아니요. 오직 26개의 글자만 이동됩니다. 공백과 문장 부호, 그리고 메시지 자체에 나타나는 어떤 숫자든 그대로 통과하며 키 숫자를 소모하지 않으므로, 키는 글자들과 계속 정렬된 채 유지됩니다. 대소문자가 보존되어 출력은 원래 텍스트의 모양을 그대로 간직합니다.
키 숫자 0도 허용되나요?
예. 숫자 0은 자신의 글자를 0만큼 이동시키는 유효한 키 값으로, 그 위치에서 글자를 바꾸지 않고 그대로 둡니다. 따라서 전부 0으로 된 키는 메시지를 바꾸지 않고 돌려줍니다. 더 긴 키에 0을 섞는 것은 전혀 문제없으며, 단지 일부 위치가 이동되지 않는다는 뜻일 뿐입니다.
그론스펠트 암호는 어떻게 깨나요?
키가 반복되기 때문에, 먼저 Kasiski 검사와 일치 지수로 키 길이를 찾고, 그다음 암호문을 하나의 숫자를 공유하는 열들로 나눕니다. 각 열은 오직 열 가지 가능한 이동 중 하나만 썼으므로, 열 가지 모두를 시도하여 읽히는 결과를 남기면 빠르게 복원됩니다. 짧은 키는 아예 무차별 대입으로 풀 수도 있습니다.
그론스펠트 암호는 안전한가요?
아니요. 현대의 기준으로는 어떤 실질적 보안도 제공하지 못합니다: 작은 글자별 키 공간과 반복되는 키 때문에 손으로도 빠르게 깨지며 컴퓨터에게는 식은 죽 먹기입니다. 교육용이자 퍼즐용 암호, 그리고 암호 역사의 한 조각으로 다루는 것이 가장 좋습니다. 진정한 보호를 위해서는 그 대신 AES 같은 현대 알고리즘을 쓰세요.
제 텍스트가 서버로 전송되나요?
아니요. 모든 암호화와 복호화는 전적으로 브라우저에서 일어나므로, 입력한 텍스트와 키는 결코 업로드되거나 기록되거나 저장되지 않습니다. 공유 링크조차 데이터를 URL의 해시 뒤 부분에 담아 두는데, 브라우저는 이 부분을 서버로 절대 전송하지 않으므로, 직접 공유하기로 선택하기 전까지는 비공개로 유지됩니다.

관련 도구

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

보퍼트 암호

포르타 암호

트리테미우스 암호

비제네르 암호

오토키 암호

러닝 키 암호