Morbit 암호
Morbit 암호를 인코딩하고 디코딩하세요. 먼저 메시지를 모스 부호로 적되 글자 사이에는 x 하나, 단어 사이에는 x 둘을 넣고, 그렇게 만든 점-선-x 스트림을 두 기호씩 끊어 읽은 다음, 가능한 아홉 가지 쌍 각각을 키워드로 정해진 순서에 따라 1부터 9까지의 숫자로 바꿉니다. 글자에서 모스 부호로, 다시 숫자로 변환되는 과정을 실시간으로 따라가 보고, 결과를 복사하거나 다운로드하거나 공유하세요. 모든 처리는 브라우저 안에서 이루어집니다.
키
키는 각 모스 부호 쌍이 어떤 숫자가 될지를 정합니다. 9글자 키워드(글자에 알파벳순으로 1~9 번호를 매기되 같은 글자는 왼쪽부터 차례로 매김)를 쓰거나, 1부터 9까지를 한 번씩 배열한 9자리 숫자를 직접 입력하세요. 그 외의 입력은 기본 1~9 순서로 되돌아갑니다. 양쪽 모두 같은 키를 써야 합니다.
위에 텍스트를 입력하면 여기에 결과가 표시됩니다.
쌍 → 숫자 표
..
5
.-
6
.x
8
-.
9
--
3
-x
1
x.
7
x-
2
xx
4
모르빗 암호 사용 방법
- 1
인코딩 또는 디코딩 선택
일반 텍스트를 Morbit 암호 숫자로 바꾸려면 인코딩을, 암호 숫자를 다시 일반 텍스트로 바꾸려면 디코딩을 선택하세요.
- 2
키 설정
9글자 키워드나 1부터 9까지를 배열한 9자리 숫자를 입력하세요. 키는 각 모스 부호 쌍이 어떤 숫자가 될지를 정하며, 결과가 맞으려면 양쪽 모두 같은 키를 써야 합니다.
- 3
텍스트 입력 또는 붙여넣기
메시지를 입력하면 입력하는 대로 변환됩니다. 인코딩할 때는 단계 패널이 각 글자를 그 모스 부호 위에 보여준 다음, 스트림을 쌍으로 자른 모습과 각 쌍 아래의 숫자를 보여줍니다.
- 4
쌍 표 확인
쌍 표를 열면 현재 키에서 각 쌍이 대응되는 숫자와 함께 아홉 가지 모스 부호 쌍을 모두 볼 수 있습니다.
- 5
복사, 다운로드 또는 공유
결과를 복사하거나 텍스트 파일로 다운로드하거나, 정확히 같은 텍스트와 키가 바로 준비된 상태로 도구를 다시 여는 링크를 공유하세요.
Morbit 암호 이해하기
Morbit 암호란?
Morbit 암호는 평범한 모스 부호를 1부터 9까지의 숫자 문자열로 바꿔, 완성된 메시지에는 익숙한 점과 선이 전혀 나타나지 않게 합니다. Fractionated Morse, Pollux와 같은 모스 부호 기반 수기 암호 계열에 속하며, 이들은 모두 American Cryptogram Association(미국 암호학회)이 정리하고 계승해 온 암호입니다. 출력이 의미 없는 숫자 나열처럼 보이기 때문에 퍼즐 헌트와 캡처 더 플래그(CTF) 대회에서 인기가 많습니다.
이름은 Morse와 bit를 합친 것이며, 그 핵심 아이디어는 분할(fractionation)입니다. 메시지를 모스 부호로 바꾼 뒤, 점과 선과 구분자로 이루어진 스트림을 쌍으로 잘라 각 쌍을 하나의 숫자로 바꿉니다. 모스 기호 두 개가 평문 글자 하나와 깔끔하게 들어맞는 경우는 거의 없기 때문에, 모든 암호 숫자는 결국 이웃 글자들의 조각을 함께 담게 됩니다. 바로 이 섞임이 모스 부호 특유의 리듬을 지우고, 그러지 않았다면 메시지를 노출시킬 글자 빈도를 평평하게 만들어 줍니다.
세 가지 기호, 아홉 가지 쌍
모스 부호를 끊김 없는 하나의 문자열로 만들려면 구분자가 필요합니다. Morbit은 글자 x를 사용합니다. 글자 사이에는 x 하나, 단어 사이에는 xx 둘을 넣습니다. 그래서 이제 메시지는 점, 선, x 이 세 가지 기호만 쓰고 그 외에는 아무것도 쓰지 않습니다.
이 기호들을 두 개씩 읽으면 3 × 3 = 9가지 쌍이 나오며, 고정된 순서로 나열됩니다. 점-점, 점-선, 점-x, 선-점, 선-선, 선-x, x-점, x-선, x-x 입니다. 아홉 가지 쌍과, 그것들에 이름 붙일 1부터 9까지의 정확히 아홉 개 숫자. 이렇게 딱 들어맞는 대응이 바로 이 암호가 작동하는 이유입니다. 모든 쌍이 자기만의 숫자를 갖고, 남는 것도 모자라는 것도 없습니다.
키워드와 숫자 배정
아홉 가지 쌍은 언제나 같은 고정 순서로 나열됩니다. 달라지는 것은 각 쌍 아래에 적히는 숫자입니다. 키워드가 없으면 쌍은 그냥 순서대로 1부터 9까지의 숫자를 가집니다. 키워드는 이 숫자를 뒤섞습니다. 9글자 단어를 골라 알파벳순으로 글자에 1~9 번호를 매기되 같은 글자는 왼쪽부터 차례로 매기고, 그 순열을 아홉 가지 쌍에 맞춰 읽습니다.
예를 들어 키워드 MORSECODE는 글자에 5, 6, 8, 9, 3, 1, 7, 2, 4 번호가 매겨지므로, 첫 번째 쌍 점-점은 5, 두 번째 쌍 점-선은 6 이 되는 식입니다. 위의 실시간 표가 이 대응을 보여주며 키를 바꾸는 즉시 갱신됩니다. 원한다면 1부터 9까지를 배열한 9자리 숫자를 직접 입력해도 됩니다. 키는 공유 비밀입니다. 보내는 사람과 받는 사람은 반드시 같은 키를 써야 합니다.
Morbit 암호의 작동 방식
인코딩은 세 단계로 진행됩니다. 첫째, 메시지 전체를 모스 부호로 적되 글자 사이에는 x 하나, 단어 사이에는 둘을 넣습니다. 둘째, 만들어진 문자열의 기호 개수가 홀수이면 끝에 x 하나를 더해 쌍으로 고르게 나뉘도록 합니다. 점이나 선이 아니라 x로 채우는 것이 중요한데, 떠도는 점 하나가 나중에 엉뚱한 글자로 다시 읽힐 수 있기 때문입니다. 셋째, 문자열을 두 기호씩 읽어 각 쌍을 키에 따른 숫자로 바꿉니다.
이 암호의 위력은 바로 그 짝짓기에 있습니다. 평문 글자 하나는 모스 부호로 바뀌고 구분자로 이웃과 이어지면서 여러 쌍에 걸쳐 퍼지고, 각 쌍은 또한 한쪽 글자에서 기호 하나를 빌려옵니다. 따라서 평문 글자 하나를 복원하려면 주변의 모스 부호까지 재구성해야 하는데, 이것이 바로 단순 치환 암호를 깨뜨리는 단순한 글자 세기 공격을 무력화하는 지점입니다. 위의 단계 패널이 이를 실시간으로 보여줍니다. 윗줄은 각 글자를 그 모스 부호와 짝지어 보여주고, 아랫줄은 스트림을 쌍으로 자른 모습과 각 쌍 아래의 숫자를 보여줍니다.
직접 풀어 보는 예시
키워드 MORSECODE로 "MORE BITS"라는 구절을 인코딩해 봅시다. 모스 부호로 MORE는 선-선 x 선-선-선 x 점-선-점 x 점 이고, BITS는 선-점-점-점 x 점-점 x 선 x 점-점-점 이며, 두 단어 사이의 공백은 xx 둘로 표시됩니다. 이를 이어 붙이면 27개 기호의 스트림이 되는데, 홀수 길이이므로 끝에 x 하나를 더해 28개로 만듭니다.
이제 28개 기호를 두 개씩 읽어 14개 쌍을 얻고, MORSECODE 키를 사용해 각 쌍을 숫자로 바꿉니다(점-점은 5, 선-선은 3, 점-x는 8, …). 그 결과는 32379749578158 입니다. 디코딩은 이 과정을 그대로 거꾸로 돌립니다. 각 숫자는 자신의 쌍이 되고, 쌍들이 다시 모스 부호 스트림으로 이어지며, 그 스트림을 모스 부호 표로 되읽어 MORE BITS를 복원합니다.
Morbit 메시지 디코딩하기
디코딩은 그저 세 단계를 거꾸로 진행할 뿐입니다. 각 숫자를 키에서 찾아 그에 대응하는 모스 기호 쌍을 복원하고, 쌍들을 다시 하나의 긴 점-선-x 문자열로 이어 붙인 다음, 그 문자열을 구분자에서 끊습니다. x 하나는 글자의 끝을, xx 둘은 단어의 끝을 나타냅니다. 점과 선의 각 묶음을 모스 부호 표로 되읽으면 원래 텍스트가 재구성됩니다. 인코딩 중에 추가된 x 패딩은 끝에 무해하게 남아 있다가 사라지므로, 이 도구로 인코딩한 메시지는 언제나 정확히 그대로 디코딩됩니다.
올바르게 디코딩하려면 인코딩에 쓴 것과 같은 키를 써야 합니다. 키가 다르면 쌍이 엉뚱한 숫자와 짝지어져 모스 부호가 뒤죽박죽으로 나옵니다. 모스 부호가 있는 것은 글자와 숫자뿐이므로, 원래 메시지의 문장 부호나 다른 기호는 인코딩 중에 빠졌으며 다시 돌아오지 않습니다. 디코딩 시 암호 숫자 묶음 사이의 공백은 무시되므로, 암호문을 빈틈없이 붙여 썼든 다섯 자리씩 깔끔한 블록으로 나눠 썼든 상관없습니다.
역사, 용도, 그리고 보안
Morbit은 American Cryptogram Association(미국 암호학회)이 취미 암호 해독을 위해 정리하고 계승해 온 몇 안 되는 모스 부호 기반 연필·종이 암호 중 하나로, Fractionated Morse, Pollux와 나란히 자리합니다. 이 암호들은 숨겨진 모스 부호 구조를 알아채는 해독자에게 보람을 안겨 주며, 분할 단계 덕분에 단순 치환보다 흥미롭다는 바로 그 점 때문에 암호 풀이 대회의 단골로 남아 있습니다.
현대 기준으로 보면 이 암호는 안전하지 않습니다. 분할이 단순한 빈도 분석은 무력화하지만, 바탕에 깔린 모스 부호는 강한 통계적 패턴을 남기므로, 알려졌거나 추측된 키가 있거나 단순히 충분한 양의 암호문만 있으면 끈기 있는 해독자나 컴퓨터가 메시지를 복원할 수 있습니다. Morbit은 퍼즐이자 학습 도구로, 즉 인코딩과 치환을 결합하면 암호가 어떻게 강해지는지를 생생하게 보여주는 사례로 다루어야 하며, 실제 비밀을 보호하는 수단으로는 결코 쓰지 마세요. 진정한 기밀이 필요하다면 언제나 AES와 같이 동료 검증을 거친 현대 알고리즘을 사용하세요.
자주 묻는 질문
Morbit 암호란 무엇인가요?
왜 쌍이 정확히 아홉 가지인가요?
키워드는 무슨 역할을 하나요?
직접 풀어 보는 예시를 보여줄 수 있나요?
Morbit 메시지는 어떻게 디코딩하나요?
패딩은 왜 점이나 선이 아니라 x로 하나요?
숫자와 문장 부호도 처리하나요?
단어 대신 9자리 숫자를 키로 쓸 수 있나요?
Morbit은 Fractionated Morse와 어떻게 다른가요?
Morbit 암호는 안전한가요?
제 텍스트가 서버로 전송되나요?
관련 도구
이런 편리한 도구도 함께 사용해 보세요