회전 격자 암호
Fleissner 격자판으로도 알려진 회전 격자를 암호화하고 복호화하세요. 셀의 4분의 1을 뚫어낸 정사각형 카드를 빈 격자 위에 올려 두고, 구멍을 통해 메시지를 적은 다음 카드를 90도 돌려 다시 적습니다. 이렇게 네 번을 돌리면 격자가 모두 채워집니다. 격자를 한 줄씩 읽어 내면 암호문이 됩니다. 격자 크기를 고르고, 격자판을 만들 키워드를 정한 뒤 실시간 격자판과 격자 다이어그램을 살펴보세요. 모든 처리는 브라우저 안에서 이루어집니다.
키워드
격자 크기
키워드가 격자판을 만듭니다. 즉 카드에서 뚫어낼 구멍을 정합니다. 격자의 셀들은 서로 회전하며 맞물리는 네 개씩의 묶음으로 나뉘고, 키워드의 각 글자가 한 묶음에서 어느 셀을 뚫을지 고르므로 각 묶음에서 정확히 하나의 구멍이 나옵니다. 바로 이 규칙 덕분에 네 번의 회전으로 격자가 완벽하게 채워집니다. 키워드가 다르면 구멍 패턴도 달라집니다. 글자만 의미가 있으며, 양쪽 모두 같은 키워드와 같은 격자 크기를 사용해야 합니다.
위에 텍스트를 입력하면 여기에 결과가 표시됩니다.
격자판 다이어그램
예시: 네 번의 90도 회전에 걸쳐 격자판을 통해 격자를 채우는 샘플 메시지입니다. 위에 직접 텍스트를 입력하면 갱신됩니다.
격자판 (1회전 구멍)
격자 (회전 단계별 색상)
회전 1
회전 2
회전 3
회전 4
회전 격자 암호 사용 방법
- 1
암호화 또는 복호화 선택
평문을 회전 격자로 뒤섞으려면 암호화를, 격자 암호문을 다시 평문으로 되돌리려면 복호화를 고르세요.
- 2
키워드 설정
격자판을 만들 키워드를 입력하세요. 각 글자가 어느 셀을 구멍으로 뚫을지 고릅니다. 양쪽에서 같은 키워드를 사용하세요.
- 3
격자 크기 선택
4×4, 6×6, 8×8 격자 중에서 고르세요. 큰 격자일수록 더 긴 텍스트 덩어리를 한 번에 뒤섞습니다. 양쪽 모두 같은 크기를 사용해야 합니다.
- 4
텍스트 입력 또는 붙여넣기
메시지를 입력하면 입력하는 대로 변환됩니다. 다이어그램은 격자판과 격자를 보여 주며, 각 셀은 그것을 채운 회전 단계별로 색칠됩니다.
- 5
복사, 다운로드 또는 공유
결과를 복사하거나, 텍스트 파일로 다운로드하거나, 정확한 텍스트와 키워드, 격자 크기가 그대로 준비된 채로 도구를 다시 여는 링크를 공유하세요.
회전 격자 암호 이해하기
회전 격자 암호란?
회전 격자는 전치 암호입니다. 글자 자체를 바꾸는 것이 아니라 글자를 적는 순서를 뒤섞어 메시지를 숨깁니다. 이 암호의 도구는 격자판 그 자체로, 일부 셀을 구멍으로 잘라낸 뻣뻣한 정사각형 카드입니다. 같은 크기의 빈 격자 위에 격자판을 올리고 메시지의 첫 글자들을 구멍을 통해 적은 다음, 카드를 90도 돌려 새로운 위치의 구멍을 통해 다음 글자들을 적습니다. 네 번을 돌리고 나면 카드가 격자의 모든 셀을 정확히 한 번씩 덮게 되고, 그 격자를 보통의 읽기 순서로 읽어 내면 암호문이 됩니다.
가장 잘 알려진 형태는 1881년에 이를 설명한 오스트리아 대령 Eduard Fleissner von Wostrowitz의 이름을 따서 불리며, 1916년 서부 전선에서 독일군이 채택한 것으로 유명합니다. 같은 정사각형을 적은 순서와 완전히 다른 순서로 읽어 내기 때문에 글자가 철저히 뒤섞이면서도 모든 글자가 하나도 빠짐없이 보존됩니다. 이것이 바로 전치 암호의 특징이며, 회전 격자가 오늘날까지 즐겨 쓰이는 교육용 예시인 이유입니다.
격자판과 격자
모든 것은 구멍에 달려 있습니다. 각 변에 짝수 개의 셀이 있는 격자를 떠올려 보면 — 여기서는 4×4, 6×6, 8×8 — 그 셀들이 네 개씩의 가족으로 나뉜다는 점을 알 수 있습니다. 임의의 셀과, 정사각형을 90도, 180도, 270도 돌릴 때 그 셀이 옮겨 가는 세 셀이 한 가족을 이룹니다. 4×4 격자에는 이런 가족이 네 개, 6×6 격자에는 아홉 개, 8×8 격자에는 열여섯 개 있습니다. 각 가족은 격자판의 한 자리이며, 올바른 격자판을 만들려면 각 가족에서 정확히 한 셀을 뚫어냅니다.
왜 정확히 하나일까요? 그래야만 격자판을 네 위치로 돌릴 때 모든 가족의 네 셀이 각각 단 한 번씩만 드러나기 때문입니다. 어떤 셀도 네 번의 회전 내내 덮여 있지 않고(그러면 빈 칸이 남습니다), 어떤 셀도 두 번 드러나지 않습니다(그러면 글자를 덮어쓰게 됩니다). 가족마다 구멍 하나라는 것이 바로 네 번의 회전으로 격자를 충돌 없이 완전하게 채우는 정확한 조건입니다.
키워드로 격자판 만들기
역사적으로 발신자와 수신자는 실제 격자판을 공유하거나, 어느 셀이 구멍인지에 대한 글로 된 설명을 공유했습니다. 이 도구는 그 대신 키워드로 격자판을 만들기 때문에 기억하기 쉽고, 공유하기 쉬우며, 언제나 같은 패턴을 재현합니다. 키워드의 각 글자를 차례로 읽어 가족마다 네 셀 중 어느 셀을 뚫어낼지 고릅니다. 키워드가 가족의 수보다 짧으면 그대로 반복됩니다.
키워드는 가족마다 셀 하나만 고르기 때문에 어떤 키워드든 자동으로 올바른 격자판을 만들어 냅니다. 암호를 망가뜨리는 키워드를 입력할 방법은 없습니다. 글자를 바꾸면 구멍이 바뀌고, 격자 크기를 바꾸면 새로운 가족 수에 맞춰 패턴 전체가 다시 만들어집니다. 페이지의 다이어그램이 만들어진 격자판을 그려 주므로, 돌리기 전에 어느 셀이 열려 있는지 정확히 볼 수 있습니다.
회전 격자 암호의 작동 방식
암호화는 회전 단계별로 진행됩니다. 격자판을 시작 위치에 둔 채로, 구멍을 통해 보이는 셀에 메시지의 첫 글자들을 읽기 순서대로 — 각 줄을 왼쪽에서 오른쪽으로, 위에서 아래로 — 적습니다. 격자판을 시계 방향으로 90도 돌리고 새로운 위치의 구멍을 통해 다음 글자들을 적습니다. 다시 돌려 다시 적고, 한 번 더 적어 모두 네 위치를 거치면 격자가 가득 찹니다. 메시지가 격자보다 짧으면 남은 셀은 채움 글자 X로 채워 격자가 항상 완성되도록 하고, 더 길면 새 격자를 시작해 같은 격자판을 다시 사용합니다.
위 다이어그램은 그림의 양쪽 모두를 보여 줍니다. 왼쪽은 뚫린 구멍이 표시된 시작 위치의 격자판입니다. 오른쪽은 완성된 격자로, 각 셀이 적힌 회전 단계 — 첫 번째, 두 번째, 세 번째, 네 번째 회전 — 별로 색칠되어 메시지가 제자리로 소용돌이치며 들어가는 모습을 볼 수 있습니다. 그 격자를 한 줄씩 죽 가로질러 읽으면 출력에 표시된 암호문이 됩니다.
실제 예시
이 암호 자체의 이름인 FLEISSNERGRILLE, 즉 열다섯 글자를 4×4 격자에 적어 봅시다. 돌리기 전 격자판의 구멍이 2행 3열과 4열, 3행 4열, 4행 1열에 있다고 합시다. 첫 네 글자 F, L, E, I를 그 구멍들을 통해 읽기 순서대로 적고, 카드를 시계 방향으로 돌려 S, S, N, E를 적은 다음, R, G, R, I, 그리고 L, L, E와 채움 글자 하나를 적으면 열여섯 셀이 모두 채워집니다.
이제 완성된 격자를 한 줄씩 죽 가로질러 읽으면 SLLRGEFLRISEINE가 됩니다 — 전치는 순서만 바꿀 뿐이므로 원본의 애너그램입니다. 복호화하려면 바로 그 똑같은 격자판을 이 글자들 위에 다시 올리고 같은 네 번의 회전 순서로 구멍을 통해 읽으면 FLEISSNERGRILLE가 다시 나옵니다. 이것이 이 암호의 고전적인 예시이며, 이 도구에서는 여러분이 고른 키워드와 격자 크기로 격자판을 자동으로 만들어 줍니다.
회전 격자 메시지 복호화하기
복호화는 암호화를 거울에 비춘 것입니다. 암호문을 빈 격자에 한 줄씩 가득 찰 때까지 적습니다. 그런 다음 같은 격자판을 그 위에 올리고 구멍을 통해 보이는 글자들을 읽기 순서대로 읽고, 격자판을 90도 돌려 다시 읽으며, 네 번의 회전 모두를 이어 갑니다. 글자들이 원래 순서대로 나와 메시지가 복원됩니다.
이것이 제대로 동작하려면 양쪽이 세 가지에 합의해야 합니다. 같은 격자 크기, 같은 격자판 — 여기서는 같은 키워드 — 그리고 같은 회전 방향입니다. 이 도구는 암호화든 복호화든 격자판을 내내 시계 방향으로 돌리므로, 여기서 만든 메시지는 항상 여기서 복호화됩니다. 이 암호는 글자만 옮기기 때문에 원문에서 글자가 아닌 것들 — 공백, 숫자, 문장 부호 — 은 암호화 전에 버려지고 다시 나타나지 않으며, 마지막 격자를 완성하기 위해 추가된 채움 글자 X는 복호화된 텍스트 끝에 나타납니다.
역사, 용도, 그리고 보안
격자 암호는 오래되었습니다. Gerolamo Cardano는 16세기에 글을 감추기 위한 단순한 격자판을 제안했고, 격자 전체를 채우는 회전 격자는 19세기에 Fleissner가 정립했습니다. 독일은 1916년 자국 군대에 회전 격자판을 크기별 암호명과 함께 지급했는데 — 5×5는 Anna, 6×6은 Berta, 8×8은 Dora 등 — 이들은 Georges Painvin이 이끄는 프랑스 암호 분석가들에게 해독되기까지 야전에서 단 몇 달밖에 버티지 못했습니다. 오늘날 회전 격자는 주로 퍼즐로, 그리고 전치가 어떻게 작동하는지 보여 주는 생생한 교훈으로 살아남았습니다.
현대의 기준으로 보면 이 암호의 보안성은 매우 낮습니다. 전치는 원래 글자를 그대로 두므로 암호문은 평문과 정확히 같은 글자 빈도를 가지며, 격자 크기를 알아맞힌 공격자는 시도해 볼 격자판의 수가 — 특히 작은 격자에서 — 한정적입니다. 같은 격자판으로 만든 같은 길이의 여러 메시지는 특히 정보를 많이 드러냅니다. 회전 격자는 그 역사와 만족스러운 작동 원리를 즐기고 게임이나 학습에 사용하되, 실제 비밀을 보호하는 데는 결코 쓰지 마세요. 그런 일에는 AES처럼 현대적이고 동료 검증을 거친 알고리즘이 올바른 선택입니다.
자주 묻는 질문
회전 격자 암호란 무엇인가요?
Fleissner 격자판이란 무엇인가요?
키워드가 어떻게 격자판을 만드나요?
어떤 격자 크기를 사용할 수 있나요?
실제 예시를 보여 줄 수 있나요?
회전 격자 메시지를 어떻게 복호화하나요?
복호화한 텍스트에 왜 여분의 X 글자가 있나요?
공백, 숫자, 문장 부호도 처리하나요?
세로열 전치나 스키테일 전치와는 어떻게 다른가요?
회전 격자 암호는 안전한가요?
내 텍스트가 서버로 전송되나요?
관련 도구
이런 편리한 도구도 함께 사용해 보세요