T

Text Machine

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

Chaocipher

John F. Byrne이 1918년에 만들어 2010년까지 비밀로 간직한 동적 치환 암호, Chaocipher를 암호화하고 복호화하세요. 두 개의 알파벳이 개념적인 디스크 위에 놓여 글자마다 재배열되므로, 각 글자는 새로 뒤섞인 알파벳으로 암호화됩니다. 두 시작 알파벳을 편집하고, 암호화와 복호화를 전환하며, 디스크가 돌아가는 모습을 지켜보세요. 모든 작업은 브라우저에서 실행됩니다.

시작 알파벳 (키)

왼쪽 디스크 (암호)

오른쪽 디스크 (평문)

각 디스크에는 A부터 Z까지의 모든 글자가 정확히 한 번씩 들어 있어야 합니다. 두 시작 배열이 곧 키이므로, 보내는 사람과 받는 사람은 같은 한 쌍을 써야 합니다. 기본값은 Byrne의 고전적인 Exhibit 1 알파벳입니다.

평문
암호문

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

카오사이퍼 사용 방법

  1. 1

    암호화 또는 복호화 선택

    평문을 Chaocipher 암호문으로 바꾸려면 암호화를, 암호문에서 평문을 되찾으려면 복호화를 고르세요. 어느 방향이든 같은 시작 알파벳이 쓰입니다.

  2. 2

    두 시작 알파벳 설정

    왼쪽 디스크와 오른쪽 디스크의 알파벳을 입력하세요. 각각 26개 글자 전체를 재배열한 것입니다. 이것이 키이므로, 상대방과 같은 한 쌍을 쓰거나, Byrne의 예제를 재현하려면 고전적인 Exhibit 1 기본값을 그대로 두세요.

  3. 3

    텍스트 입력 또는 붙여넣기

    변환하려는 메시지를 입력하세요. 암호는 입력하는 즉시 자동으로 실행되어, 각 글자를 한 디스크에서 찾아 다른 디스크에서 결과를 읽은 뒤, 두 디스크를 재배열합니다.

  4. 4

    보기, 복사, 공유

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

Chaocipher 이해하기

Chaocipher란 무엇인가요?

Chaocipher는 아일랜드계 미국인 사업가 John F. Byrne이 1918년에 만든 다중 문자 치환 암호입니다. 그 핵심 발상은 암호가 실행되면서 스스로 재배열된다는 것입니다. 두 개의 알파벳이 개념적인 디스크 한 쌍 위에 놓이고, 글자 하나하나가 지날 때마다 두 알파벳이 모두 재배열됩니다. 각 글자가 새로 뒤섞인 알파벳으로 암호화되기 때문에, 같은 평문 글자가 같은 암호문 글자를 두 번 만들어 내는 일은 거의 없으며, 이는 더 단순한 암호를 깨뜨리는 글자 빈도 패턴을 지워 버립니다.

Byrne은 자신의 방법이 깨뜨릴 수 없으면서도 셔츠 주머니에 들어갈 만큼 단순하다고 확신했습니다. 그는 1953년 자서전 Silent Years에서 그것을 설명하고 자신의 도전 메시지를 푸는 사람 누구에게나 상금을 내걸었지만, 그것이 어떻게 작동하는지는 결코 밝히지 않았습니다. 이 알고리즘은 구십 년 넘게 수수께끼로 남아 있었습니다. 2010년에 이르러서야, Byrne의 가족이 그의 문서와 작동하는 모형을 National Cryptologic Museum에 기증한 뒤, Moshe Rubin이 그 정확한 방법을 재구성하여 발표했습니다.

Chaocipher가 작동하는 방식

키는 각 디스크에 하나씩, 26글자로 된 알파벳 한 쌍입니다. 왼쪽 디스크는 암호 알파벳을, 오른쪽 디스크는 평문 알파벳을 담습니다. 한 글자를 암호화하려면, 그 글자를 오른쪽 디스크에서 찾아 왼쪽 디스크의 똑같은 자리에 있는 글자를 읽으면 됩니다. 복호화하려면 그 반대로 합니다. 암호문 글자를 왼쪽 디스크에서 찾아 오른쪽 디스크의 같은 자리에서 평문을 읽습니다. 두 디스크는 보내는 사람과 받는 사람에게 같은 배열로 시작해야 합니다.

이것을 평범한 치환에서 Chaocipher로 바꾸는 것은 그다음에 일어나는 일입니다. 각 글자가 암호화된 뒤, 두 디스크는 정해진 일련의 동작으로 재배열되므로, 두 번째 글자를 암호화하는 알파벳은 더 이상 첫 번째 글자를 암호화했던 알파벳이 아닙니다. 이 스스로 바뀌는 동작이 바로 Byrne이 이를 혼돈스럽다고 부른 까닭입니다. 오직 26개의 글자만 처리되며, 공백과 문장 부호, 그 밖의 문자는 그대로 통과하고 디스크를 돌리지 않으며, 대소문자는 보존됩니다.

예제 풀이

Byrne 자신의 문서에 나오는 고전적인 Exhibit 1 알파벳을 사용합니다. 왼쪽 디스크는 HXUCZVAMDSLKPEFJRIGTWOBNYQ이고 오른쪽 디스크는 PTLNBQDEOYSFAVZKGJRIHWXUMC입니다. 메시지 WELLDONEISBETTERTHANWELLSAID를 암호화합니다. 첫 글자의 경우, W를 오른쪽 디스크에서 찾아 왼쪽 디스크에서 같은 자리에 놓이는 글자를 읽으면 O입니다. 그런 다음 두 디스크가 재배열되고, 다음 글자 E가 새 배열로 암호화됩니다. 메시지 전체에 걸쳐 계속하면 암호문 OAHQHCNYNXTSZJRRHJBYHQKSOUJY가 나옵니다.

복호화하려면, 두 디스크를 같은 Exhibit 1 배열에서 시작하여 거울상 과정을 실행합니다. 각 암호문 글자를 왼쪽 디스크에서 찾아 오른쪽 디스크의 같은 자리에서 평문을 읽고, 글자마다 두 디스크를 재배열합니다. OAHQHCNYNXTSZJRRHJBYHQKSOUJY를 넣으면 WELLDONEISBETTERTHANWELLSAID를 돌려줍니다. WELL의 반복되는 글자들이 암호문에서는 반복되지 않는다는 점에 주목하세요. 암호가 그 글자들에 이를 즈음에는 디스크가 이미 움직여 버렸기 때문입니다.

두 디스크가 재배열되는 방식

재배열은 각 디스크의 두 기준점을 사용합니다. 첫 번째 자리인 zenith와 열네 번째 자리인 nadir입니다. 왼쪽 디스크의 경우, 먼저 방금 암호화된 글자가 zenith로 오도록 디스크를 회전시킵니다. 그런 다음 이제 zenith에서 한 자리 지난 곳에 있는 글자를 빼내고, 거기서부터 nadir까지의 글자 묶음을 zenith 쪽으로 한 자리씩 밀어 옮긴 뒤, 빼낸 글자를 비어 있는 nadir 자리에 도로 끼워 넣습니다.

오른쪽 디스크는 비슷하지만 살짝 어긋난 방식으로 움직입니다. 먼저 평문 글자에서 오른쪽으로 한 자리 떨어진 글자가 zenith에 이르도록 회전시킵니다. 그런 다음 zenith에서 두 자리 지난 곳에 있는 글자를 빼내고, 거기서부터 nadir까지의 묶음을 zenith 쪽으로 한 자리씩 밀어 옮긴 뒤, 빼낸 글자를 nadir에 다시 끼워 넣습니다. 이 작고 정해진 재배열은 글자마다 적용되며, 그것이 결정론적이기 때문에 받는 사람은 복호화할 때 똑같은 디스크 움직임을 그대로 재현합니다.

Byrne의 수수께끼

수십 년 동안 Chaocipher는 암호학에서 가장 애를 태우는 수수께끼 중 하나였습니다. Byrne은 James Joyce의 가까운 친구였고 Joyce의 글에도 등장하는데, Silent Years에서 그가 정부라면 거금을 치를 것이라고 주장한 암호에 챕터 하나를 통째로 할애하면서 그 흥미는 한층 더해졌습니다. 그는 평문과 암호문을 나란히 실은 그 유명한 Exhibit 1을 비롯한 도전 텍스트를 인쇄하고, 세상을 향해 그것들로부터 자신의 방법을 알아내 보라고 도발했습니다. 그가 살아 있는 동안 공개적으로 성공한 사람은 아무도 없었습니다.

이 수수께끼는 마침내 Byrne의 아들과 역사학자 공동체의 협력을 통해 풀렸습니다. 2010년 5월, 가족은 실물 모형을 포함한 Byrne의 Chaocipher 자료를 National Cryptologic Museum에 맡겼고, 얼마 지나지 않아 Moshe Rubin이 그 알고리즘을 알아내어 자신의 논문 Chaocipher Revealed에서 발표했습니다. 이 공개는 Byrne의 주머니만 한 장치가 정말로 여기서 설명한 동적 2-디스크 방식을 구현했음을 보여 주었습니다.

Chaocipher는 얼마나 강력한가요?

그 시대의 손 암호로서 Chaocipher는 정말로 영리합니다. 두 알파벳이 글자마다 바뀌기 때문에, 암호문의 단순한 빈도 계산은 거의 아무것도 드러내지 못하며, 짧은 메시지는 시작 알파벳에 관해 알려 주는 것이 매우 적습니다. 그 동적인 동작은 Byrne이 그것을 고안할 무렵 표준이던 Vigenère 같은 고정 표 암호보다 수십 년 앞서 있었습니다.

그러나 현대의 기준으로는 안전하지 않습니다. 재배열 규칙은 고정되어 있고 공개되어 있으므로, 유일한 비밀은 시작 알파벳 한 쌍뿐이며, 충분한 기지 평문을 가진 끈질긴 분석가라면, 바로 Byrne이 자신의 전시물에서 제공한 것과 같은 그런 평문으로 그 알파벳을 재구성하여 체계를 복원할 수 있습니다. Chaocipher가 오랫동안 어설픈 해독자들을 막아 낸 것은 주로 방법 자체가 비밀로 유지되었기 때문이지, 지속적인 현대 암호 해독을 견뎌 낼 수 있었기 때문이 아닙니다.

Chaocipher는 안전한가요?

아니요. Chaocipher는 매혹적인 암호 역사의 한 조각이자 스스로 바뀌는 암호의 훌륭한 교육용 예제이지만, 현대의 분석에 맞선 실질적인 보호는 전혀 제공하지 못합니다. 그 보안은 대체로 알고리즘을 숨기는 데 달려 있었으며, 일단 방법이 알려지면 충분한 양의 암호화된 텍스트로부터 시작 알파벳을 복원할 수 있습니다.

오늘날 Chaocipher는 무언가를 숨기기 위해서가 아니라 그 이야기와 작동 방식 때문에 즐겨집니다. 퍼즐과 방 탈출, 깃발 뺏기(CTF) 문제에서 인기가 많으며, 암호학이 고정된 치환에서 그 뒤를 이은 동적 체계로 어떻게 발전해 왔는지 궁금한 누구에게나 보람을 줍니다. 실제 정보를 보호하려면 그 대신 AES처럼 현대적이고 충분히 검증된 알고리즘에 의지해야 합니다.

자주 묻는 질문

Chaocipher란 무엇인가요?
Chaocipher는 John F. Byrne이 1918년에 만든 동적 치환 암호입니다. 개념적인 디스크 한 쌍 위에 26글자짜리 알파벳 두 개를 사용하며, 글자마다 두 알파벳이 모두 재배열되므로, 각 글자는 새로 뒤섞인 알파벳으로 암호화됩니다. Byrne은 그 방법을 비밀로 간직했고, 2010년에야 Moshe Rubin이 그것을 발표했습니다.
Chaocipher는 어떻게 작동하나요?
왼쪽 디스크는 암호 알파벳을, 오른쪽 디스크는 평문 알파벳을 담습니다. 한 글자를 암호화하려면, 그 글자를 오른쪽 디스크에서 찾아 왼쪽 디스크의 같은 자리에 있는 글자를 읽으세요. 그런 다음 두 디스크가 정해진 일련의 동작으로 재배열됩니다. 복호화하려면, 암호문 글자를 왼쪽 디스크에서 찾아 오른쪽 디스크의 같은 자리에서 평문을 읽고, 디스크를 같은 방식으로 재배열합니다.
Chaocipher의 키는 무엇인가요?
키는 각 디스크에 하나씩, 시작 알파벳 한 쌍입니다. 각각에는 A부터 Z까지의 모든 글자가 정확히 한 번씩 들어 있어야 합니다. 보내는 사람과 받는 사람은 같은 두 배열에서 시작해야 합니다. 이 도구는 Byrne의 고전적인 Exhibit 1 알파벳을 기본값으로 쓰지만, 어느 디스크든 직접 정한 것으로 바꿀 수 있습니다.
Chaocipher 예제를 보여 줄 수 있나요?
Byrne의 Exhibit 1 알파벳, 즉 왼쪽 디스크 HXUCZVAMDSLKPEFJRIGTWOBNYQ와 오른쪽 디스크 PTLNBQDEOYSFAVZKGJRIHWXUMC를 사용하면, 평문 WELLDONEISBETTERTHANWELLSAID는 OAHQHCNYNXTSZJRRHJBYHQKSOUJY로 암호화됩니다. 그 암호문을 같은 시작 알파벳에서 복호화하면 원래 메시지를 돌려줍니다.
디스크는 글자마다 어떻게 바뀌나요?
각 디스크에는 첫 번째 자리에 zenith가, 열네 번째 자리에 nadir가 있습니다. 왼쪽 디스크는 암호화된 글자를 zenith로 회전시킨 다음, zenith에서 한 자리 지난 글자를 빼내고, 그 묶음을 nadir까지 zenith 쪽으로 밀어 옮긴 뒤, nadir에 다시 끼워 넣습니다. 오른쪽 디스크는 평문 글자 바로 오른쪽의 글자를 zenith로 회전시킨 다음, zenith에서 두 자리 지난 글자를 빼내어 같은 방식으로 nadir에 다시 끼워 넣습니다.
Chaocipher는 왜 유명한가요?
Byrne은 1953년 자신의 책 Silent Years에서 주머니만 한 자신의 암호가 깨뜨릴 수 없다고 주장하며 도전 메시지를 푸는 데 상금을 내걸었지만, 그 방법은 결코 밝히지 않았습니다. 그것은 구십 년 넘게 풀리지 않은 채로 남아, 2010년에 마침내 알고리즘이 발표되기까지 암호학에서 가장 잘 알려진 수수께끼 중 하나가 되었습니다.
Chaocipher는 누가, 언제 풀었나요?
이 방법은 Byrne의 가족이 그의 Chaocipher 문서와 실물 모형을 National Cryptologic Museum에 기증한 뒤인 2010년에 공개되었습니다. 그런 다음 암호학자 Moshe Rubin이 그 정확한 알고리즘을 재구성하여 자신의 논문 Chaocipher Revealed에서 발표하며, 그 장치가 어떻게 작동하는지에 관한 수십 년간의 추측에 종지부를 찍었습니다.
Chaocipher는 Vigenère 암호와 어떻게 다른가요?
Vigenère 암호는 고정된 알파벳 표와 반복되는 키워드를 사용하므로, 메시지 진행 중에 알파벳이 결코 바뀌지 않습니다. 반면 Chaocipher는 글자마다 두 알파벳을 모두 재배열하므로, 치환이 결코 재사용되지 않습니다. 그 스스로 바뀌는 동작은 고정 표 암호보다 단순한 빈도 분석으로 공격하기를 훨씬 더 어렵게 만듭니다.
이 암호는 공백과 문장 부호를 바꾸나요?
아니요. 오직 26개의 글자만 처리되어 디스크를 돌리는 데 쓰입니다. 공백과 문장 부호, 숫자, 이모지는 바뀌지 않고 그대로 통과하며 디스크를 진행시키지 않으므로, 결과는 원래 텍스트의 모양을 그대로 간직합니다. 대소문자 또한 보존됩니다.
Chaocipher 메시지는 어떻게 복호화하나요?
도구를 복호화로 전환하고, 메시지가 암호화될 때 쓰인 것과 같은 두 시작 알파벳을 입력한 뒤, 암호문을 붙여넣으세요. 도구는 각 암호문 글자를 왼쪽 디스크에서 찾아 오른쪽 디스크에서 평문을 읽고, 두 디스크를 같은 방식으로 재배열하여 메시지를 되찾습니다.
Chaocipher는 안전한가요?
아니요. Chaocipher는 주목할 만한 역사적 암호이지만, 현대의 분석에 맞선 실질적인 보안은 전혀 제공하지 못합니다. 재배열 규칙이 공개되어 있으므로 유일한 비밀은 시작 알파벳 한 쌍뿐이며, 그것은 충분한 기지 평문으로부터 복원될 수 있습니다. 실제 정보를 보호하려면 AES 같은 현대 알고리즘을 쓰세요.
제 텍스트가 서버로 전송되나요?
아니요. 모든 암호화와 복호화는 전적으로 브라우저에서 일어나므로, 입력한 텍스트와 알파벳은 결코 업로드되거나 기록되거나 저장되지 않습니다. 공유 링크조차 데이터를 URL의 해시 뒤 부분에 담아 두는데, 브라우저는 이 부분을 서버로 절대 전송하지 않으므로, 직접 공유하기로 선택하기 전까지는 비공개로 유지됩니다.

관련 도구

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

비제네르 암호

보퍼트 암호

그론스펠트 암호

오토키 암호

러닝 키 암호

포르타 암호