트라이피드 암호
Bifid의 삼차원 형제인 트라이피드 암호를 암호화하고 복호화하세요. 각 글자를 3x3x3 입방체 위의 세 좌표로 분할하고, 한 블록의 좌표들을 섞으면, 출력되는 모든 글자가 세 개의 입력에 의존하게 됩니다. 주기를 설정하고, 선택적 키워드를 더하며, 실시간 분할 과정을 따라가면서 결과를 복사하거나 다운로드하고 공유할 수 있습니다. 모든 작업은 브라우저에서 실행됩니다.
주기
키워드
주기는 블록 크기입니다. 텍스트는 이만큼의 글자로 이루어진 블록으로 나뉘고, 좌표는 각 블록 안에서 섞입니다. 양쪽 모두 같은 주기를 써야 합니다.
위에 텍스트를 입력하면 결과가 여기에 표시됩니다.
트라이피드 입방체
층 1
1
2
3
1
2
3
층 2
1
2
3
1
2
3
층 3
1
2
3
1
2
3
트라이피드 암호 사용 방법
- 1
암호화 또는 복호화 선택
평문을 트라이피드 암호문으로 바꾸려면 암호화를, 암호문을 다시 평문으로 바꾸려면 복호화를 고르세요.
- 2
주기와 키워드 설정
암호가 작동하는 블록 크기를 고르세요. 주기 0은 메시지 전체를 하나의 블록으로 다룹니다. 평범한 입방체를 쓰려면 키워드를 비워 두고, 섞으려면 하나를 입력하세요. 양쪽 모두 같은 설정을 써야 합니다.
- 3
텍스트 입력 또는 붙여넣기
메시지를 입력하면 입력하는 즉시 변환됩니다. 분할 패널이 각 블록의 글자들을 그 층, 행, 열 숫자 위에 보여 줍니다.
- 4
입방체 읽기
트라이피드 입방체를 열어 세 층 모두와, 모든 기호의 좌표 및 강조된 키워드 칸을 확인하세요.
- 5
복사, 다운로드, 공유
결과를 복사하거나 텍스트 파일로 다운로드하거나, 입력한 텍스트와 키워드, 주기를 그대로 갖춘 채 도구를 다시 여는 링크로 공유하세요.
트라이피드 암호 이해하기
트라이피드 암호란 무엇인가요?
트라이피드 암호는 프랑스의 암호학자 Félix-Marie Délastelle가 고안하여 1902년에 발표한 고전 암호입니다. 이는 그의 Bifid 암호를 삼차원으로 확장한 것입니다. Bifid가 각 글자를 평평한 사각형에서 읽어 낸 두 좌표로 바꾼다면, 트라이피드는 각 글자를 세 좌표 — 층, 행, 열 — 로 바꾸는데, 이는 27개 기호로 이루어진 3x3x3 입방체에서 읽어 냅니다. 그 좌표들은 그다음 한데 뒤섞인 뒤 다시 글자로 읽혀, 하나의 방식 안에서 치환과 전치를 결합합니다.
세 번째 좌표를 더하는 것이 바로 트라이피드를 Bifid보다 강하게 만드는 부분입니다. 세 갈래의 숫자 흐름이 다시 묶이기 전에 서로 엮이기 때문에, 출력의 각 글자는 두 개가 아니라 입력의 서로 다른 세 글자에 의존합니다. 이렇게 정보가 더 넓게 퍼지는 것 — 확산 — 은 글자 빈도 패턴을 한층 더 철저하게 숨기며, 그래서 트라이피드는 암호학 강의와 퍼즐 모음에서 즐겨 쓰이는 고급 예시입니다.
3x3x3 입방체와 그 27번째 기호
트라이피드는 각 기호마다 하나씩, 모두 27개의 칸이 필요하며, 이는 3x3 층 셋을 쌓아 입방체로 배열한 것입니다. 알파벳 26자가 그 칸 중 26개를 채우면 하나가 남으므로, 27번째 기호가 더해집니다. 이 도구는 흔한 관례인 더하기 기호(+)를 씁니다. 좀처럼 입력되지 않는 기호인 까닭에, 메시지 속의 보통 문장 부호는 글자로 다뤄지지 않고 그냥 버려집니다. 따라서 모든 기호는 1부터 3까지의 세 숫자로 이루어진 고유한 주소를 가집니다: 어느 층에 있는지, 어느 행, 어느 열인지입니다.
키워드로 입방체를 섞을 수도 있습니다. 키워드의 중복 없는 기호들을 순서대로 반복 없이 먼저 입방체에 적어 넣고, 나머지 알파벳이 뒤를 잇습니다 — 키가 적용된 Polybius나 Playfair 사각형을 만드는 방식과 똑같으며, 그저 삼차원일 뿐입니다. 위의 실시간 입방체는 키워드 칸을 강조해 섞이는 모습을 볼 수 있게 합니다. 키워드를 바꾸면 모든 좌표가 바뀌므로, 키워드는 비밀의 일부이며 양쪽 모두 같은 것을 써야 합니다.
트라이피드 암호가 작동하는 방식
암호화는 세 단계로 이루어집니다. 첫째, 분할: 각 글자를 입방체에서 찾아 그 세 좌표 — 층, 행, 열 — 로 바꿉니다. 둘째, 한 블록의 글자들의 좌표를 세 줄로 적는데, 모든 층 숫자를 첫 줄에, 모든 행 숫자를 둘째 줄에, 모든 열 숫자를 셋째 줄에 적습니다. 셋째, 그렇게 합쳐진 숫자의 연속을 죽 가로질러 읽으며 세 개씩 묶고, 각 묶음을 입방체에서 층, 행, 열로 찾아 암호 글자를 만듭니다.
층을 먼저, 그다음 행을, 그다음 열을 적는 것이 이 방법의 핵심입니다. 그것이 서로 다른 글자에서 온 숫자들을 엮어 주기 때문입니다. 위 도구는 이를 실시간으로 보여 줍니다. 입력하는 동안 분할 패널이 각 블록의 글자들을 그 층, 행, 열 숫자 위에 펼쳐 놓는데, 종이 위에서 손으로 암호를 풀 때와 똑같은 방식이라, 하나의 입력 글자의 세 숫자가 세 개의 서로 다른 출력 글자로 흩어지는 모습을 지켜볼 수 있습니다.
주기, 곧 블록 크기
주기는 트라이피드가 작동하는 블록 크기입니다. 텍스트는 그만큼의 글자로 이루어진 블록으로 나뉘고, 층-행-열을 엮는 작업은 각 블록 안에서 따로 이루어집니다. 짧은 주기는 각 글자의 영향이 퍼질 수 있는 범위를 제한하고, 긴 주기는 그것을 메시지의 더 넓은 곳으로 퍼뜨립니다. Délastelle의 고전적인 풀이 예제는 다섯의 주기를 쓰며, 보내는 이와 받는 이는 같은 값에 합의해야 합니다.
주기를 0으로 두는 것은 주기가 아예 없다는 뜻입니다: 메시지 전체를 하나의 블록으로 다루는데, 이는 Délastelle가 본래 기술한 방식이며 가장 강한 확산을 줍니다. 그 대가는 길고 주기가 없는 메시지는 손으로 풀기가 더 어렵다는 것입니다. 위에서 주기를 바꿔 보며, 입방체와 텍스트가 그대로인데도 암호문이 어떻게 달라지는지 지켜보세요 — 그 민감함이야말로 블록 구조의 핵심입니다.
트라이피드 예제 풀이
단어 HELLO를 평범한 입방체와 단어 전체를 덮는 주기로 다뤄 봅시다. 먼저 각 글자를 층, 행, 열로 분할합니다: H는 1,3,2; E는 1,2,2; L은 2,1,3; 두 번째 L도 다시 2,1,3; O는 2,2,3입니다. 층을 한 줄에 적으면 1 1 2 2 2가 되고, 행을 그다음 줄에 적으면 3 2 1 1 2가 되며, 열을 셋째 줄에 적으면 2 2 3 3 3이 됩니다.
이제 세 줄을 하나의 연속으로 죽 가로질러 읽고 — 1 1 2 2 2 3 2 1 1 2 2 2 3 3 3 — 숫자를 세 개씩 묶습니다: 112, 223, 211, 222, 333. 각 묶음을 입방체에서 층, 행, 열로 찾으면 B, O, J, N 그리고 +가 되므로, HELLO는 BOJN+로 암호화됩니다. 주기를 3으로 하면 같은 단어가 대신 BVOMR가 되는데, 블록이 다른 자리에서 끊겨 섞임이 달라지기 때문입니다.
트라이피드 암호 복호화하기
복호화는 단계를 거꾸로 돌립니다. 각 블록에서 모든 암호 글자의 세 좌표를 순서대로 읽어 내면, 합쳐진 숫자의 연속이 되살아납니다. 그 연속을 똑같은 세 부분으로 나누면 앞부분이 원래의 층 숫자, 가운데 부분이 행 숫자, 끝부분이 열 숫자가 되고, 각 글자의 층을 그에 맞는 행 및 열과 짝지으면 평문이 다시 만들어집니다. 복호화를 선택하면 도구가 이 모두를 대신 해 줍니다.
올바르게 복호화하려면 암호화에 쓰인 것과 같은 설정을 써야 합니다: 같은 키워드와 같은 주기입니다. 그중 어느 하나라도 틀리면 숫자가 엉뚱한 자리에서 나뉘어 뒤죽박죽인 텍스트가 나오는데 — 이는 바로 이 암호를 쓸모 있게 만드는 성질이기도 합니다. 입방체에는 26자 글자와 더하기 기호만 들어 있으므로, 원래 메시지의 다른 문자들은 암호화 과정에서 버려졌으며 다시 나타나지 않습니다.
트라이피드 대 Bifid, 그리고 그 안전성
트라이피드와 Bifid는 형제입니다: 둘 다 글자를 좌표로 분할하고 한 블록에 걸쳐 엮으며, 둘 다 Délastelle가 고안했습니다. 차이는 차원입니다. Bifid는 평평한 사각형과 글자마다 두 좌표를 쓰고, 트라이피드는 입방체와 세 좌표를 쓰므로, 각 출력 글자가 두 개가 아니라 세 개의 입력에 의존해 더 큰 확산을 줍니다. 트라이피드는 Bifid와 그것이 딛고 선 Polybius 사각형을 이해한 사람에게 자연스러운 다음 단계입니다.
현대의 기준으로 보면 트라이피드는 안전하지 않습니다. 그 세 갈래 분할이 단순한 빈도 분석을 이겨 내기는 하지만, 암호 해독가들은 특히 주기가 짧거나 알려졌고 충분한 암호문이 있을 때 이를 깨는 확립된 방법을 가지고 있으며, 키워드는 그 문턱을 조금 높일 뿐입니다. 오늘날 그 진짜 가치는 교육에 있습니다: 추가적인 분할이 어떻게 암호를 강하게 만드는지 생생하게 직접 손으로 볼 수 있는 방법이기 때문입니다. 실제 정보를 보호하려면 언제나 AES 같은 현대적이고 동료 검토를 거친 알고리즘을 쓰고, 트라이피드는 학습과 퍼즐, 캡처 더 플래그 챌린지를 위해 남겨 두세요.
자주 묻는 질문
트라이피드 암호란 무엇인가요?
트라이피드 암호는 어떻게 작동하나요?
트라이피드 암호는 누가 고안했나요?
트라이피드와 Bifid 암호의 차이는 무엇인가요?
트라이피드 암호에서 주기란 무엇인가요?
입방체의 27번째 기호는 무엇인가요?
키워드는 무엇을 하나요?
트라이피드 예제 풀이를 보여 줄 수 있나요?
트라이피드 암호는 어떻게 복호화하나요?
트라이피드는 Polybius 사각형과 어떻게 관련되나요?
트라이피드 암호는 얼마나 안전한가요?
내 텍스트가 서버로 전송되나요?
관련 도구
이런 편리한 도구도 함께 사용해 보세요