카이사르 암호
고전적인 카이사르 이동 암호로 텍스트를 암호화하고 복호화하고 암호를 깨 보세요. 1부터 25까지 원하는 이동량을 고르거나 ROT13, ROT5, ROT47로 바로 이동하고, 암호 깨기 모드로 25가지 이동량을 모두 시도해 가장 가능성 높은 이동량을 자동으로 찾을 수도 있습니다. 모든 작업은 브라우저에서 실행됩니다.
이동량
위에 텍스트를 입력하면 결과가 여기에 표시됩니다.
알파벳 대응표
평문
암호문
카이사르 암호 사용 방법
- 1
암호화, 복호화, 암호 깨기 중 선택
평문을 암호문으로 암호화하거나, 암호문을 다시 평문으로 복호화하거나, 이동량을 모르는 메시지를 풀어야 할 때는 암호 깨기로 전환하세요.
- 2
이동량 또는 프리셋 선택
더하기와 빼기 버튼으로 1부터 25까지 원하는 이동량을 설정하거나 프리셋을 누르세요. 고전적인 13칸 알파벳 이동은 ROT13, 숫자는 ROT5, 출력 가능한 모든 기호는 ROT47입니다.
- 3
텍스트 입력
메시지를 입력하거나 붙여넣으세요. 입력하는 즉시 암호가 자동으로 적용되어 각 알파벳을 설정한 만큼 알파벳 순서를 따라 이동시키고, 숫자와 문장 부호는 그대로 통과합니다.
- 4
키 없이 메시지 깨기
암호 깨기 모드에서 암호문을 붙여넣으면 도구가 25가지 이동량으로 모두 복호화한 뒤, 글자 빈도 분석을 이용해 가장 가능성 높은 평문을 강조해 보여 줍니다.
- 5
복사, 다운로드, 공유
결과를 클립보드에 복사하거나 텍스트 파일로 다운로드하거나, 입력한 텍스트와 설정을 그대로 다시 불러오는 링크로 공유하세요.
카이사르 암호 이해하기
카이사르 암호란 무엇인가요?
카이사르 암호는 모든 글자를 알파벳 순서대로 정해진 칸 수만큼 이동시켜 메시지를 암호화하는 치환 암호입니다. 사적인 편지와 군사 서신을 보호하기 위해 세 칸 이동을 사용했다고 전해지는 로마의 장군 율리우스 카이사르의 이름에서 유래했습니다. 각 글자가 항상 같은 대체 글자로 바뀌기 때문에, 카이사르 암호는 고전 암호학에서 가장 단순하면서도 가장 널리 가르쳐지는 사례이며, 암호화의 원리를 배우기에 더없이 좋은 출발점으로 남아 있습니다.
오늘날 카이사르 암호는 퍼즐, 방 탈출 게임, CTF 챌린지, 초보자용 프로그래밍 연습 문제에 등장합니다. 가장 유명한 변형인 ROT13은 지금도 웹 전반에서 스포일러나 농담의 결정적 대사, 정답을 보이는 곳에 숨겨 두는 데 쓰입니다.
카이사르 암호의 암호화 원리
암호화하려면 키라고 부르는 이동량을 1부터 25 사이에서 고릅니다. 그러면 메시지의 각 글자가 그 칸 수만큼 알파벳을 따라 앞으로 이동하고, 끝을 지나면 Z에서 다시 A로 돌아옵니다. 복호화는 이 과정을 거꾸로 진행해 각 글자를 같은 칸 수만큼 뒤로 이동시킵니다. 공백과 숫자, 문장 부호는 보통 그대로 두기 때문에 원래 메시지의 모양과 길이가 암호문에 그대로 드러납니다.
예를 들어 세 칸 이동에서는 글자 A가 D로, B가 E로 바뀌고, 단어 HELLO는 KHOOR가 됩니다. 메시지를 읽으려면 받는 사람은 하나의 이동량만 알면 되고 모든 글자를 세 칸씩 뒤로 옮기기만 하면 됩니다.
실제 예시: 세 칸 이동
고전적인 문구 ATTACK AT DAWN에 카이사르가 직접 쓴 세 칸 이동을 적용해 봅시다. A는 D로, T는 W로, C는 F로, K는 N으로 대응되며, 이런 식으로 진행해 암호문 DWWDFN DW GDZQ가 만들어집니다. 공백은 제자리에 남고 같은 글자는 항상 같은 문자로 암호화되므로, ATTACK의 연속된 T 두 개는 연속된 W 두 개가 됩니다. 이동을 거꾸로 되돌리면 DWWDFN DW GDZQ는 곧장 다시 ATTACK AT DAWN으로 돌아옵니다.
카이사르 암호 공식
수학적으로는 각 글자를 0부터 25까지의 숫자로 다루며, A가 0이고 Z가 25입니다. 암호화는 E(x) = (x + n) mod 26으로, 복호화는 D(x) = (x - n) mod 26으로 표현하는데, 여기서 x는 글자의 위치이고 n은 이동량입니다. mod 26 연산이 알파벳을 순환하게 만들어, Y를 세 칸 이동하면 알파벳 끝을 넘어가지 않고 B에 도달합니다.
ROT13, ROT5, ROT47 설명
ROT13은 이동량이 13으로 고정된 카이사르 암호입니다. 13은 정확히 26의 절반이므로 ROT13을 두 번 적용하면 원래 텍스트로 돌아오고, 따라서 한 번의 작업으로 암호화와 복호화가 모두 됩니다. ROT5는 같은 발상을 0부터 9까지의 열 개 숫자에 적용하므로 숫자를 가릴 때 편리하고, ROT47은 출력 가능한 94개의 ASCII 문자 전부를 함께 회전시켜 알파벳과 숫자, 문장 부호를 한꺼번에 뒤섞습니다. 이들은 모두 자기 역원이며, 바로 그 점이 짧은 텍스트를 빠르게 숨기고 드러내기에 이토록 편리한 이유입니다.
카이사르 암호를 깨는 방법
카이사르 암호는 가능한 키가 25가지뿐이라 깨기가 아주 쉽습니다. 가장 직접적인 방법은 무차별 대입으로, 메시지를 1부터 25까지의 모든 이동량으로 복호화한 뒤 말이 되는 결과를 골라 읽는 것입니다. 더 똑똑한 방법은 빈도 분석으로, 각 후보의 글자 분포를 영어의 일반적인 빈도와 비교하는데, 영어에서는 E와 T, A가 가장 흔한 글자이며, 그중 가장 가까운 것을 자동으로 골라냅니다. 이 도구의 암호 깨기 모드는 두 가지를 모두 수행해, 25가지 복호화 결과를 모두 나열하고 카이제곱 점수로 가장 가능성 높은 답을 강조해 보여 줍니다.
카이사르 암호의 짧은 역사
이 암호는 율리우스 카이사르의 이름에서 유래했는데, 역사가 수에토니우스에 따르면 그는 기원전 50년 무렵 메시지를 비밀로 지키기 위해 각 글자를 세 칸씩 이동했습니다. 그의 후계자 아우구스투스는 한 칸 이동을 쓰는 비슷한 방식을 사용했다고 전해집니다. 여러 세기 동안 단순한 글자 이동만으로도 충분히 안전했는데, 이는 대체로 글을 읽을 줄 아는 사람이 워낙 적었고 암호화된 메시지를 분석할 수 있는 사람은 더더욱 드물었기 때문입니다. 그 약점은 9세기에 이미 알려졌는데, 이때 아랍의 수학자 알 킨디가 빈도 분석을 기술했으며, 그것이 바로 오늘날 이 암호를 몇 초 만에 깨는 그 기법입니다.
카이사르 암호는 안전한가요?
아닙니다. 키가 25가지뿐인 카이사르 암호는 손으로도 몇 분이면 깰 수 있고 컴퓨터로는 즉시 깰 수 있어, 정말로 비밀로 지켜야 하는 것에는 아무런 보호도 제공하지 못합니다. 오늘날 그 가치는 교육용이자 오락용입니다. 평문, 암호문, 키, 암호화, 암호 해독 같은 암호학의 어휘를 배우기에 이상적인 방법이며, 퍼즐과 게임, 코딩 프로젝트를 위한 재미있는 구성 요소이기도 합니다. 실제 보안을 위해서는 AES 같은 현대 알고리즘을 대신 사용합니다.
카이사르 암호 대조표: 25가지 이동량 전체
이 대조표는 1부터 25까지 모든 카이사르 이동량에 대한 암호문 알파벳을 보여 줍니다. 왼쪽 열에서 원하는 이동량을 찾은 뒤 그 행을 가로로 읽으면, 평문 A부터 Z까지가 각각 무엇으로 바뀌는지 알 수 있습니다. 강조된 행은 ROT13으로, 암호화와 복호화를 동시에 해내는 이동량 13입니다.
| 이동량 | 암호문 알파벳 (A to Z) |
|---|---|
| 1 | BCDEFGHIJKLMNOPQRSTUVWXYZA |
| 2 | CDEFGHIJKLMNOPQRSTUVWXYZAB |
| 3 | DEFGHIJKLMNOPQRSTUVWXYZABC |
| 4 | EFGHIJKLMNOPQRSTUVWXYZABCD |
| 5 | FGHIJKLMNOPQRSTUVWXYZABCDE |
| 6 | GHIJKLMNOPQRSTUVWXYZABCDEF |
| 7 | HIJKLMNOPQRSTUVWXYZABCDEFG |
| 8 | IJKLMNOPQRSTUVWXYZABCDEFGH |
| 9 | JKLMNOPQRSTUVWXYZABCDEFGHI |
| 10 | KLMNOPQRSTUVWXYZABCDEFGHIJ |
| 11 | LMNOPQRSTUVWXYZABCDEFGHIJK |
| 12 | MNOPQRSTUVWXYZABCDEFGHIJKL |
| 13 · ROT13 | NOPQRSTUVWXYZABCDEFGHIJKLM |
| 14 | OPQRSTUVWXYZABCDEFGHIJKLMN |
| 15 | PQRSTUVWXYZABCDEFGHIJKLMNO |
| 16 | QRSTUVWXYZABCDEFGHIJKLMNOP |
| 17 | RSTUVWXYZABCDEFGHIJKLMNOPQ |
| 18 | STUVWXYZABCDEFGHIJKLMNOPQR |
| 19 | TUVWXYZABCDEFGHIJKLMNOPQRS |
| 20 | UVWXYZABCDEFGHIJKLMNOPQRST |
| 21 | VWXYZABCDEFGHIJKLMNOPQRSTU |
| 22 | WXYZABCDEFGHIJKLMNOPQRSTUV |
| 23 | XYZABCDEFGHIJKLMNOPQRSTUVW |
| 24 | YZABCDEFGHIJKLMNOPQRSTUVWX |
| 25 | ZABCDEFGHIJKLMNOPQRSTUVWXY |
자주 묻는 질문
카이사르 암호란 무엇인가요?
ROT13이란 무엇인가요?
ROT5와 ROT47은 무엇인가요?
이동량을 모를 때는 메시지를 어떻게 복호화하나요?
자동 해독기는 어떻게 작동하나요?
숫자나 공백, 문장 부호도 바꾸나요?
카이사르 암호의 공식은 무엇인가요?
가능한 이동량은 몇 가지이고, 안전한가요?
율리우스 카이사르는 왜 이동량 3을 사용했나요?
내 텍스트가 서버로 전송되나요?
어떤 메시지가 카이사르 암호인지 어떻게 알 수 있나요?
카이사르 암호와 ROT13의 차이는 무엇인가요?
카이사르 암호와 Vigenère 암호의 차이는 무엇인가요?
정답이 있는 카이사르 암호 예시를 보여 줄 수 있나요?
카이사르 암호에는 어떤 다른 이름들이 있나요?
카이사르 암호를 코드로 어떻게 작성하나요?
관련 도구
이런 편리한 도구도 함께 사용해 보세요