T

Text Machine

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

오토키 암호

짧은 시작 키워드가 키를 열고 메시지 자체가 그것을 이어 가서 키가 결코 반복되지 않는, 더 강력한 Vigenère 변형인 오토키 암호를 암호화하고 복호화하세요. 암호화와 복호화를 전환하고 계산 과정이 실시간으로 만들어지는 모습을 지켜보세요. 모든 작업은 브라우저에서 실행됩니다.

시작 키워드

키워드

QUEENLY 같은 짧은 시작 키워드를 입력하세요. 이것이 키 스트림을 열고, 그 뒤로는 메시지 자체가 이어지므로 키가 결코 반복되지 않습니다. 오직 글자만 사용되며, 대문자와 소문자는 동일하게 취급되고, 키워드에 포함된 공백이나 숫자, 문장 부호는 무시됩니다.

평문
암호문

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

오토키 암호 사용 방법

  1. 1

    암호화 또는 복호화 선택

    평문을 오토키 암호문으로 바꾸려면 암호화를, 암호문에서 평문을 되찾으려면 복호화를 고르세요. 같은 시작 키워드가 두 방향에 모두 쓰입니다.

  2. 2

    시작 키워드 입력

    QUEENLY 같은 짧은 키워드를 입력하세요. 이것이 키 스트림을 열고, 그 뒤로는 메시지 자체가 이어집니다. 오직 글자만 사용되며, 키워드의 대소문자와 공백, 문장 부호는 무시됩니다.

  3. 3

    텍스트 입력 또는 붙여넣기

    변환하려는 메시지를 입력하세요. 암호는 입력하는 즉시 자동으로 실행되며, 아래의 글자별 계산 과정이 실시간으로 갱신되어 어떤 키 글자가 키워드에서 오고 어떤 것이 메시지에서 오는지 보여 줍니다.

  4. 4

    보기, 복사, 공유

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

오토키 암호 이해하기

오토키 암호란 무엇인가요?

오토키 암호는 오토클레이브 암호라고도 불리며, 메시지 자체가 키의 일부가 되는 다중 문자 치환 암호입니다. 짧은 시작 키워드가 키 스트림을 열고, 그 글자들이 떨어지고 나면 키는 그저 평문의 글자들로 계속 이어집니다. 진행하는 키가 메시지만큼 길고 결코 반복되지 않기 때문에, 오토키 암호는 보통의 반복 키 암호를 깨기 쉽게 만드는 규칙적이고 순환하는 패턴을 피합니다.

이 암호는 1586년 프랑스 외교관 Blaise de Vigenère가 발표한 것으로, Giovan Battista Bellaso의 앞선 아이디어에서 비롯되었습니다. 여기에는 잘 알려진 역설이 있습니다: 오늘날 세상이 Vigenère 암호라 부르는 단순한 반복 키 암호는 사실 Bellaso의 것이었던 반면, Vigenère 자신의 더 강력한 발명품은 바로 이 오토키였습니다. 평문을 키 속으로 되먹임으로써, 오토키 암호는 훗날 Kasiski와 Friedman 같은 암호 분석가들이 반복 키를 깨는 데 이용하게 될 주기성을 제거합니다.

오토키 암호가 작동하는 방식

알파벳에 A를 0부터 Z를 25까지 번호를 매깁니다. 시작 키워드를 먼저 적고, 그다음 평문 글자들을 순서대로 이어 가서 키 스트림을 만듭니다. 그 스트림을 메시지 아래에 정렬하여 모든 평문 글자 아래에 키 글자 하나씩이 놓이게 합니다. 암호화하려면 각 키 글자를 그 위의 글자에 더하고 26으로 나눈 나머지로 알파벳을 한 바퀴 둘러 감으므로, 암호문 글자는 C = (P + K) mod 26입니다.

복호화는 왼쪽에서 오른쪽으로 진행해야 합니다. 시작 키워드를 알고 있으므로, P = (C − K) mod 26으로 처음 몇 글자를 복원할 수 있습니다. 복원한 각 평문 글자는 곧이어 키 스트림에 덧붙여져 다음 글자를 복호화하는 데 쓰이고, 끝까지 그런 식으로 이어집니다. Vigenère 암호에서처럼 오직 26개의 글자만 변환됩니다: 공백과 문장 부호, 숫자는 손대지 않고 그대로 통과하며 키 글자를 소모하지 않고, 대소문자는 보존됩니다.

예제 풀이

메시지 HELLO를 시작 키워드 KEY로 암호화합니다. 키 스트림은 키워드 뒤에 평문이 이어진 것으로, 다섯 글자에 대해 K, E, Y, H, E가 됩니다. 각각을 메시지에 더하면 H 더하기 K는 R, E 더하기 E는 I, L 더하기 Y는 J, L 더하기 H는 S, O 더하기 E는 S가 됩니다. 암호문은 RIJSS이며, 마지막 두 키 글자 H와 E가 바로 메시지 자체의 처음 두 글자라는 점에 주목하세요.

RIJSS를 복호화하려면 키워드 KEY로 시작합니다. R 빼기 K는 H, I 빼기 E는 E, J 빼기 Y는 L이 되어 HEL을 복원합니다. 이 복원된 글자들이 이제 키를 연장하므로, 다음 키 글자는 H이고 S 빼기 H는 L, 그다음 키 글자 E는 S 빼기 E는 O가 되어 HELLO를 완성합니다. 복원한 각 글자가 다음 글자를 열어 주는데, 이것이 오토키 암호를 읽는 방식의 핵심입니다.

오토키 대 반복 키 Vigenère

보통의 Vigenère 암호는 자신의 키워드를 거듭거듭 반복합니다: 키 KEY로는 스트림이 KEYKEYKEY 같은 식으로 이어집니다. 그 반복이 치명적 약점인데, 키 길이가 Kasiski 검사나 일치 지수로 밝혀질 수 있고, 그러고 나면 각 열은 단순한 카이사르 이동이 되기 때문입니다. 오토키 암호는 같은 덧셈 규칙을 쓰지만 키를 결코 반복하지 않으므로, 그런 고전적 검사가 통하지 않습니다.

예제 풀이에서 그 차이를 볼 수 있습니다. 키 KEY로 반복 Vigenère는 HELLO를 RIJVS로 암호화하는 반면, 오토키는 RIJSS를 만듭니다 — 둘은 키워드가 지속되는 동안에만 일치하다가 그 뒤로 갈라지는데, 오토키가 평문으로 옮겨 갔기 때문입니다. 메시지를 키 속으로 되먹이는 그 하나의 변화가 Vigenère의 진짜 기여였고, 그의 암호를 지금 그의 이름을 달고 있는 암호보다 눈에 띄게 더 강력하게 만들었습니다.

오토키 대 진행 키 암호

오토키 암호는 진행 키 암호와 밀접하게 관련되어 있습니다. 둘 다 아무것도 반복되지 않도록 메시지만큼 긴 키를 쓰지만, 그 긴 키가 어디서 오는지에서 다릅니다. 진행 키 암호는 약속된 책의 한 페이지처럼 공유된 외부 텍스트에서 키를 끌어오는 반면, 오토키 암호는 짧은 시작 키와 평문 자체로부터 긴 키를 만들어 냅니다.

각 방식에는 함정이 있습니다. 자연 언어에서 가져온 진행 키는 공격당할 수 있는 자체의 통계적 구조를 지니지만, 평문 되먹임이 필요 없습니다. 오토키는 시작 키워드라는 아주 작은 공유 비밀만 있으면 되지만, 키의 일부가 평문이기 때문에 흔한 단어를 알아맞힌 공격자가 그것을 키인 양 메시지에 미끄러뜨려 볼 수 있는데, 이것이 오토키 암호가 깨지는 주된 방법입니다.

오토키 암호를 깨는 방법

키가 결코 반복되지 않기 때문에, 반복 키 암호에 맞서는 표준 도구인 Kasiski 검사와 일치 지수는 오토키 메시지에 직접 통하지 않습니다. 그 점이 오토키를 Vigenère보다 눈에 띄게 더 까다롭게 만들지만, 여전히 안전과는 거리가 멉니다. 흔한 공격은 이 암호를 규정하는 바로 그 특징을 이용합니다: 키의 대부분이 평범한 언어인 평문이라는 점입니다.

분석가는 THE나 그럴듯한 이름처럼 가능성 있는 단어를 알아맞혀 그것을 암호문에 걸쳐 끌고 다니며 키인 양 빼 봅니다. 추측이 맞는 자리에서는 그 연산이 더 많은 평문의 조각을 드러내고, 그것을 다시 양방향으로 연장할 수 있습니다. 짧은 시작 키워드를 무차별 대입하는 것과 결합하면, 이 크립 드래깅으로 오토키 메시지를 손으로 복원할 수 있으므로, 이 암호는 안전한 선택이라기보다 영리한 역사적 진일보로 보는 것이 가장 좋습니다.

오토키 암호는 안전한가요?

아니요. 오토키 암호가 평범한 반복 키 Vigenère보다 강하기는 하지만, 현대의 기준으로는 어떤 실질적 보호도 제공하지 못합니다. 평문을 키로 삼는 의존성이 크립 드래깅에 문을 열어 주고, 짧은 시작 키는 무차별 대입으로 찾아낼 수 있으므로, 작정한 분석가는 연필과 종이로 이를 깰 수 있습니다. 이 암호는 안전한 방법의 어떤 목록이 아니라 고전 암호학의 역사에 속합니다.

오늘날 오토키 암호는 학습과 재미를 위해 높이 평가됩니다. 메시지를 키 속으로 되먹이는 일이 더 단순한 암호를 깨는 주기성 공격을 어떻게 물리치는지 보기에 우아한 방법이며, 퍼즐 헌트와 방 탈출, 깃발 뺏기(CTF) 문제에 등장합니다. 실제 정보를 보호하려면 그 대신 AES 같은 현대적이고 충분히 검증된 알고리즘에 의지해야 합니다.

자주 묻는 질문

오토키 암호란 무엇인가요?
오토키, 또는 오토클레이브 암호는 짧은 시작 키워드가 키를 열고 평문 자체가 그것을 이어 가는 다중 문자 치환 암호입니다. 키가 메시지만큼 길고 결코 반복되지 않기 때문에, 반복 키 암호를 깨기 쉽게 만드는 순환 패턴을 피합니다. 1586년 Blaise de Vigenère가 발표했습니다.
오토키 암호는 어떻게 작동하나요?
알파벳에 A를 0부터 Z를 25까지 번호를 매기고 키워드 뒤에 평문이 이어진 키 스트림을 만드세요. 암호화하려면 각 키 글자를 메시지 글자에 26으로 나눈 나머지로 더합니다: C = (P + K) mod 26. 복호화하려면 뺍니다: P = (C − K) mod 26, 평문을 왼쪽에서 오른쪽으로 복원하면서 복원한 각 글자를 키 속으로 되먹입니다. 글자만 바뀝니다.
오토키 암호는 Vigenère 암호와 어떻게 다른가요?
Vigenère 암호는 자신의 키워드를 메시지 전체에 걸쳐 반복하는 반면, 오토키 암호는 키워드를 시작에만 쓰고 그다음 평문으로 이어 갑니다. 그것이 반복을 없애므로, Kasiski 검사와 일치 지수가 더는 키 길이를 드러내지 못합니다. 오토키는 사실 Vigenère 자신의 더 강력한 암호였고, 그의 이름을 딴 반복 암호는 Bellaso의 것이었습니다.
오토키 암호 예제를 보여 줄 수 있나요?
HELLO를 키워드 KEY로 암호화하면 RIJSS가 됩니다. 키 스트림은 K, E, Y, H, E로 — 키워드 뒤에 메시지의 처음 글자들이 이어진 것 — H 더하기 K는 R, E 더하기 E는 I, L 더하기 Y는 J, L 더하기 H는 S, O 더하기 E는 S입니다. RIJSS를 KEY로 복호화하면 한 번에 한 글자씩 HELLO를 복원합니다.
어떤 키워드를 써야 하나요?
어떤 짧은 단어나 글자 배열도 됩니다; QUEENLY가 고전적인 예입니다. 오직 글자만 중요하며, 대문자와 소문자는 동일하게 취급됩니다. 더 길고 덜 예측 가능한 시작 키가 조금 더 강하지만, 어떤 시작 키를 고르든 오토키 암호의 보안은 제한적이므로, 진짜 비밀을 위해서는 의지하지 마세요.
오토키 암호는 어떻게 복호화하나요?
도구를 복호화로 전환하고, 암호화에 쓰인 것과 같은 시작 키워드를 입력한 뒤, 암호문을 붙여넣으세요. 도구는 키워드를 빼서 처음 글자들을 복원한 다음, 복원한 각 글자를 키 속으로 되먹여 나머지를 풉니다. 키워드가 없다면 가능성 있는 단어를 알아맞히는 방식으로 암호를 공격해야 합니다.
오토키와 진행 키 암호의 차이는 무엇인가요?
둘 다 메시지만큼 긴 반복되지 않는 키를 씁니다. 진행 키 암호는 그 키를 책처럼 공유된 외부 텍스트에서 가져오는 반면, 오토키 암호는 짧은 시작 키와 평문 자체로부터 키를 만듭니다. 오토키는 아주 작은 공유 비밀만 있으면 되지만, 키의 일부가 평문이라는 점이 바로 크립 드래깅이 그것을 깨게 하는 요인입니다.
이 암호는 공백과 숫자, 문장 부호를 바꾸나요?
아니요. 오직 26개의 글자만 변환됩니다. 공백과 문장 부호, 그리고 메시지의 어떤 숫자든 그대로 통과하며 키 글자를 소모하지 않으므로, 키는 글자들과 계속 정렬된 채 유지됩니다. 대소문자가 보존되어 출력은 원래 텍스트의 모양을 그대로 간직합니다.
키워드는 대소문자를 구별하나요?
아니요. 시작 키워드는 글자로만 읽히고, 대문자와 소문자 글자가 같은 이동을 주므로 KEY와 key는 똑같이 동작합니다. 키워드에 입력된 공백이나 숫자, 문장 부호는 무시되어, 키 스트림을 여는 글자들만 남습니다.
오토키 암호는 어떻게 깨나요?
키가 결코 순환하지 않기 때문에 반복 키 도구가 통하지 않으므로, 분석가는 대신 키의 평문 부분을 공격합니다. THE 같은 가능성 있는 단어를 암호문에 끌고 다니며 키인 양 빼는데, 맞는 자리에서는 더 많은 평문이 드러나 바깥으로 연장할 수 있습니다. 짧은 시작 키를 이 크립 드래깅과 나란히 무차별 대입하면 메시지가 복원됩니다.
오토키 암호는 안전한가요?
아니요. 평범한 반복 키 Vigenère보다는 강하지만, 크립 드래깅과 무차별 대입된 시작 키 때문에 손으로 깨질 수 있으므로, 오늘날 어떤 실질적 보안도 제공하지 못합니다. 교육용이자 퍼즐용 암호, 그리고 암호 역사의 주목할 만한 한 조각으로 다루세요. 진정한 보호를 위해서는 AES 같은 현대 알고리즘을 쓰세요.
제 텍스트가 서버로 전송되나요?
아니요. 모든 암호화와 복호화는 전적으로 브라우저에서 일어나므로, 입력한 텍스트와 키워드는 결코 업로드되거나 기록되거나 저장되지 않습니다. 공유 링크조차 데이터를 URL의 해시 뒤 부분에 담아 두는데, 브라우저는 이 부분을 서버로 절대 전송하지 않으므로, 직접 공유하기로 선택하기 전까지는 비공개로 유지됩니다.

관련 도구

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

비제네르 암호

보퍼트 암호

그론스펠트 암호

러닝 키 암호

포르타 암호

트리테미우스 암호