스키테일 암호
고대 스파르타의 막대 암호이자 가장 오래된 군사 암호 장치인 스키테일을 암호화하고 복호화하세요. 메시지를 정해진 굵기의 막대에 감아 가로로 적은 뒤, 뒤섞인 순서로 읽어 냅니다. 지름을 조절하면서 격자가 실시간으로 만들어지는 모습을 지켜보세요. 모든 작업은 브라우저에서 실행됩니다.
지름
지름이 곧 암호 키입니다: 한 바퀴를 돌 때 막대를 감는 글자의 수, 즉 격자의 열 수를 정합니다. 보내는 사람과 받는 사람은 반드시 같은 지름을 써야 합니다.
위에 텍스트를 입력하면 스키테일 결과가 여기에 표시됩니다.
스키테일 격자 도식
메시지 IAMHURTVERYBADLYHELP를 네 글자 막대에 감은 예시입니다. 위에 직접 텍스트를 입력해 격자에서 확인해 보세요.
스키테일 암호 사용 방법
- 1
암호화 또는 복호화 선택
평문을 스키테일 암호문으로 바꾸려면 암호화를, 암호문에서 원래 메시지를 되찾으려면 복호화를 선택하세요.
- 2
막대 지름 설정
지름을 고르세요. 이는 막대를 감는 글자의 수, 따라서 격자가 쓰는 열의 수를 정합니다. 복호화하려면 암호화에 쓰인 것과 같은 지름을 설정하세요.
- 3
텍스트 입력 또는 붙여넣기
메시지를 입력하세요. 암호는 입력하는 즉시 자동으로 실행되며, 아래의 격자 도식이 갱신되어 텍스트가 막대를 어떻게 감는지 정확히 보여 줍니다.
- 4
결과 읽기, 보기, 공유
변환된 텍스트가 즉시 나타납니다. 격자 도식을 열어 열이 어떻게 읽히는지 확인한 뒤, 결과를 복사하거나 텍스트 파일로 다운로드하거나, 당신의 설정과 텍스트 그대로 도구를 다시 여는 링크로 공유하세요.
스키테일 암호 이해하기
스키테일 암호란 무엇인가요?
스키테일은 고전적인 전치 암호이자 역사에 알려진 가장 오래된 암호 장치입니다. 고대 그리스인, 특히 스파르타인들은 대략 기원전 7세기부터 이를 군사 암호로 사용했습니다. 스키테일은 그저 정해진 굵기의 나무 막대입니다: 양피지나 가죽 띠를 그 둘레에 나선형으로 감고, 막대의 길이 방향을 따라 메시지를 적은 뒤, 띠를 풀면 글자들이 뒤죽박죽인 순서로 남으며, 이는 같은 지름의 막대에 다시 감았을 때에만 비로소 뜻이 통합니다.
모든 전치 암호와 마찬가지로, 스키테일은 치환 암호가 그러듯 글자를 다른 글자로 바꾸는 일이 결코 없습니다. 모든 문자를 있는 그대로 유지하고 오직 순서만 바꾸므로, 암호문은 언제나 원래 메시지의 글자를 재배열한 애너그램입니다. 보내는 사람과 받는 사람이 공유하는 단 하나의 비밀은 막대의 굵기입니다.
스키테일 암호가 작동하는 방식
막대를 종이 위에서 재현하는 가장 쉬운 방법은 격자를 쓰는 것입니다. 막대의 지름은 한 바퀴를 완전히 돌 때 그 둘레에 들어가는 글자의 수를 정하며, 그 수가 곧 열의 수가 됩니다. 메시지를 격자에 한 번에 한 행씩, 왼쪽에서 오른쪽으로, 한 행을 다 채운 뒤 다음으로 넘어가며 적는데, 이는 띠가 막대를 나선형으로 감아 올라갈 때 막대를 따라 적는 것과 정확히 같습니다. 메시지가 모두 놓이면, 첫 번째 열을 곧장 아래로, 그다음 두 번째 열을, 이런 식으로 읽어 내려가며 열들을 이어 붙여 암호문을 만듭니다.
모든 문자가 참여하므로, 공백과 문장 부호도 제자리에 남지 않고 글자와 똑같이 옮겨집니다. 문자의 개수는 결코 바뀌지 않는데, 이것이 전치 암호의 특징입니다. 행을 따라 채운 격자의 열을 따라 읽어 내려가는 일이 바로 뒤섞인 순서를 만들어 내며 — 이는 실제 띠를 풀어내는 것과 정확히 같은 작업입니다.
예제 풀이
메시지 IAMHURTVERYBADLYHELP를 둘레에 네 글자가 들어가는 막대로 다뤄, 격자에 네 개의 열이 있다고 합시다. 스무 개의 글자를 한 행씩 적으면 다섯 행이 채워집니다: IAMH, 그다음 URTV, 그다음 ERYB, 그다음 ADLY, 그다음 HELP. 이것이 막대를 따라 적은 메시지입니다.
이제 각 열을 차례로 곧장 아래로 읽어 내려갑니다. 첫 번째 열은 IUEAH, 두 번째 열은 ARRDE, 세 번째 열은 MTYLL, 네 번째 열은 HVBYP가 됩니다. 이어 붙이면 암호문은 IUEAHARRDEMTYLLHVBYP입니다. 원본의 모든 글자가 여전히 그대로 있고 그저 새로운 순서로 뒤섞였을 뿐이며, 결과는 입력과 정확히 같은 길이입니다.
스키테일 암호를 복호화하는 방법
복호화하려면 같은 지름의 막대 — 즉 같은 열 수 — 가 필요합니다. 암호문의 길이와 그 열 수로부터 격자가 얼마나 높았는지, 그리고 각 열에 글자가 정확히 몇 개씩 들어가는지를 알 수 있는데, 여기에는 메시지가 완벽한 직사각형을 채우지 못했을 때 조금 짧아지는 열까지 포함됩니다. 암호문을 그 열들로 잘라 나란히 세운 뒤, 격자를 행을 따라 가로로 다시 읽어 원래 메시지를 되찾습니다.
이 도구가 그 모든 일을 대신해 줍니다. 복호화로 전환하고, 암호화에 쓰인 것과 같은 지름을 설정한 뒤, 암호문을 붙여넣으세요. 지름을 모른다면, 그저 값을 하나씩 차례로 — 합리적인 값은 몇 개 되지 않습니다 — 출력이 평이한 언어로 읽힐 때까지 시도해 보면 됩니다.
지름과 키
막대의 지름이 스키테일 암호의 키 전부입니다. 더 굵은 막대는 둘레에 더 많은 글자를 담아 더 많은 열과 다른 뒤섞임을 만들고; 더 가는 막대는 더 적게 담습니다. 둘레에 글자 하나만 들어가는 지름은 아무 일도 하지 않는데, 단 하나의 열은 다시 배열할 것이 없기 때문이며, 그래서 쓸모 있는 범위는 둘부터 시작합니다.
이 암호에는 깔끔한 쌍대성이 숨어 있습니다: 주어진 길이의 메시지를 어떤 지름으로 암호화하는 일은, 그에 대응하는 행 수로 복호화하는 일과 같습니다. 격자를 열을 따라 읽는 것과 행을 따라 읽는 것이 서로 역연산이기 때문입니다. 바로 이런 까닭에 보내는 사람과 받는 사람은 언제나 단 하나의 숫자 — 둘이 함께 쥔 막대의 굵기 — 에만 합의하면 됩니다.
스키테일 암호를 깨는 방법
스키테일은 키 공간이 아주 작습니다. 유일한 비밀이 작은 숫자 하나뿐이므로, 공격자는 그저 그럴듯한 지름을 모두 — 둘, 그다음 셋, 그다음 넷, 이런 식으로 — 시도해, 각각으로 복호화한 뒤 뜻이 통하는 결과를 골라내면 됩니다. 이 무차별 대입 탐색은 손으로도 잠깐이면 끝나고 컴퓨터로는 순식간입니다. 메시지의 길이가 시험해 볼 가치가 있는 열의 수를 제한하므로, 작업량은 처음 보이는 것보다도 더 적습니다.
이 암호는 순수한 전치이므로 글자 그 자체는 손대지 않으며, 따라서 암호문의 글자 빈도는 일상 언어와 정확히 일치합니다. 이는 그 자체로 단서가 됩니다: 글자 통계는 완벽하게 정상인데 읽으면 뜻 모를 말인 텍스트는 스키테일 같은 전치 암호가 쓰였다는 강한 신호이며, 분석가는 그러면 글자가 아니라 순서를 복원하는 데 집중할 수 있습니다.
스키테일 암호는 안전한가요?
아니요. 키라고는 작은 숫자 하나뿐이고 무차별 대입으로 빠르게 깨지므로, 스키테일은 비밀로 지켜야 할 정보에 어떤 실질적 보호도 제공하지 못합니다. 고대에 그 가치는 강력함이 아니라 전장에서의 속도와 편의에 있었으며, 일부 역사가는 그 주된 이점이 비밀 유지만큼이나 인증과 빠른 처리에 있었다고 주장합니다.
오늘날 스키테일은 교육과 오락을 위해 높이 평가됩니다. 전치라는 개념을 소개하기에 이상적인 방법이고, 퍼즐과 방 탈출, 깃발 뺏기(CTF) 문제에 만족스러운 장치이며, 손에 잡히는 암호 역사의 한 조각입니다. 진정한 보안을 위해서는 AES 같은 현대 알고리즘을 대신 씁니다.
자주 묻는 질문
스키테일 암호란 무엇인가요?
스키테일 암호는 어떻게 작동하나요?
스키테일 예제를 보여 줄 수 있나요?
스키테일 암호는 어떻게 복호화하나요?
스키테일 암호에서 지름이란 무엇인가요?
스키테일은 왜 전치 암호라고 불리나요?
스키테일 암호는 공백과 문장 부호를 바꾸나요?
스키테일과 레일 펜스 암호의 차이는 무엇인가요?
스키테일 암호는 어떻게 깨나요?
스키테일 암호는 안전한가요?
제 텍스트가 서버로 전송되나요?
스키테일 암호를 코드로 어떻게 작성하나요?
관련 도구
이런 편리한 도구도 함께 사용해 보세요