T

Text Machine

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

카이사르 암호

고전적인 카이사르 이동 암호로 텍스트를 암호화하고 복호화하고 암호를 깨 보세요. 1부터 25까지 원하는 이동량을 고르거나 ROT13, ROT5, ROT47로 바로 이동하고, 암호 깨기 모드로 25가지 이동량을 모두 시도해 가장 가능성 높은 이동량을 자동으로 찾을 수도 있습니다. 모든 작업은 브라우저에서 실행됩니다.

이동량

3
평문
암호문

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

알파벳 대응표

평문

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z

암호문

D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
A
B
C

카이사르 암호 사용 방법

  1. 1

    암호화, 복호화, 암호 깨기 중 선택

    평문을 암호문으로 암호화하거나, 암호문을 다시 평문으로 복호화하거나, 이동량을 모르는 메시지를 풀어야 할 때는 암호 깨기로 전환하세요.

  2. 2

    이동량 또는 프리셋 선택

    더하기와 빼기 버튼으로 1부터 25까지 원하는 이동량을 설정하거나 프리셋을 누르세요. 고전적인 13칸 알파벳 이동은 ROT13, 숫자는 ROT5, 출력 가능한 모든 기호는 ROT47입니다.

  3. 3

    텍스트 입력

    메시지를 입력하거나 붙여넣으세요. 입력하는 즉시 암호가 자동으로 적용되어 각 알파벳을 설정한 만큼 알파벳 순서를 따라 이동시키고, 숫자와 문장 부호는 그대로 통과합니다.

  4. 4

    키 없이 메시지 깨기

    암호 깨기 모드에서 암호문을 붙여넣으면 도구가 25가지 이동량으로 모두 복호화한 뒤, 글자 빈도 분석을 이용해 가장 가능성 높은 평문을 강조해 보여 줍니다.

  5. 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)
1BCDEFGHIJKLMNOPQRSTUVWXYZA
2CDEFGHIJKLMNOPQRSTUVWXYZAB
3DEFGHIJKLMNOPQRSTUVWXYZABC
4EFGHIJKLMNOPQRSTUVWXYZABCD
5FGHIJKLMNOPQRSTUVWXYZABCDE
6GHIJKLMNOPQRSTUVWXYZABCDEF
7HIJKLMNOPQRSTUVWXYZABCDEFG
8IJKLMNOPQRSTUVWXYZABCDEFGH
9JKLMNOPQRSTUVWXYZABCDEFGHI
10KLMNOPQRSTUVWXYZABCDEFGHIJ
11LMNOPQRSTUVWXYZABCDEFGHIJK
12MNOPQRSTUVWXYZABCDEFGHIJKL
13 · ROT13NOPQRSTUVWXYZABCDEFGHIJKLM
14OPQRSTUVWXYZABCDEFGHIJKLMN
15PQRSTUVWXYZABCDEFGHIJKLMNO
16QRSTUVWXYZABCDEFGHIJKLMNOP
17RSTUVWXYZABCDEFGHIJKLMNOPQ
18STUVWXYZABCDEFGHIJKLMNOPQR
19TUVWXYZABCDEFGHIJKLMNOPQRS
20UVWXYZABCDEFGHIJKLMNOPQRST
21VWXYZABCDEFGHIJKLMNOPQRSTU
22WXYZABCDEFGHIJKLMNOPQRSTUV
23XYZABCDEFGHIJKLMNOPQRSTUVW
24YZABCDEFGHIJKLMNOPQRSTUVWX
25ZABCDEFGHIJKLMNOPQRSTUVWXY

자주 묻는 질문

카이사르 암호란 무엇인가요?
카이사르 암호는 알려진 가장 오래된 암호화 방식 중 하나로, 군사 메시지를 보호하는 데 사용한 율리우스 카이사르의 이름에서 유래했습니다. 각 알파벳을 정해진 칸 수만큼 뒤로 이동한 다른 알파벳으로 바꿉니다. 예를 들어 이동량이 3이면 A는 D로, B는 E로 바뀌고, Z를 지나면 다시 A로 돌아옵니다.
ROT13이란 무엇인가요?
ROT13은 이동량이 13인 카이사르 암호입니다. 알파벳은 26자이므로 13만큼 두 번 이동하면 원래 텍스트로 돌아오고, 따라서 같은 작업으로 암호화와 복호화가 모두 됩니다. 실제 보안 목적보다는 온라인에서 스포일러나 농담의 결정적 대사, 퍼즐의 정답을 가릴 때 흔히 사용됩니다.
ROT5와 ROT47은 무엇인가요?
ROT5는 숫자 0부터 9까지를 다섯 칸 회전시키고 알파벳은 건드리지 않으므로 숫자를 가릴 때 편리합니다. ROT47은 알파벳과 숫자, 문장 부호를 포함한 94개의 출력 가능한 ASCII 문자 전부를 47칸 회전시킵니다. 둘 다 ROT13처럼 자기 역원이어서 같은 동작으로 암호화와 복호화가 모두 됩니다.
이동량을 모를 때는 메시지를 어떻게 복호화하나요?
암호 깨기 모드로 전환한 뒤 암호문을 붙여넣으세요. 도구가 1부터 25까지 모든 이동량으로 복호화하고 결과의 순위를 매기며, 글자 빈도 분석으로 가장 가능성 높은 평문을 강조합니다. 가능한 이동량이 25가지뿐이라서 카이사르 암호는 이런 방식으로 빠르고 쉽게 풀 수 있습니다.
자동 해독기는 어떻게 작동하나요?
해독기는 가능한 25가지 이동량 각각에 대해 텍스트를 복호화한 뒤, 카이제곱 점수를 사용해 그 글자 분포가 일반적인 영어와 얼마나 가까운지 측정합니다. 복호화 결과가 가장 영어에 가까운 이동량이 최선의 추정으로 표시됩니다. 텍스트가 많을수록 감지가 더 정확해집니다.
숫자나 공백, 문장 부호도 바꾸나요?
표준 카이사르 암호와 ROT13 모드에서는 A부터 Z까지의 알파벳만 이동하며 각 글자는 대문자나 소문자 형태를 그대로 유지하고, 숫자와 공백, 문장 부호는 변하지 않고 통과합니다. ROT5는 숫자만 이동시키고, ROT47은 알파벳과 숫자, 기호를 의도적으로 함께 이동시킵니다.
카이사르 암호의 공식은 무엇인가요?
암호화는 E(x) = (x + n) mod 26이고 복호화는 D(x) = (x - n) mod 26이며, 여기서 x는 0부터 25까지의 글자 위치이고 n은 이동량입니다. mod 26이 결과를 알파벳 범위 안에 유지하며, 이것이 글자가 Z를 지나 다시 A로 돌아오게 만듭니다.
가능한 이동량은 몇 가지이고, 안전한가요?
이동량 0이나 26은 텍스트를 그대로 두므로 쓸모 있는 이동량은 25가지뿐입니다. 이렇게 키 공간이 작다는 것은 누구나 몇 초 만에 전부 시도할 수 있다는 뜻이어서, 오늘날 카이사르 암호는 실질적인 보안성을 전혀 제공하지 못하며 재미용이나 교육용, 퍼즐용 도구로 보는 것이 가장 알맞습니다.
율리우스 카이사르는 왜 이동량 3을 사용했나요?
로마의 역사가 수에토니우스에 따르면 카이사르는 자신의 서신을 감추기 위해 각 글자를 세 칸씩 이동했습니다. 대부분의 적이 암호 해독은커녕 글조차 읽지 못하던 시대에는 고정 이동량 3으로도 충분했고, 그래서 이 단순한 방식이 이천 년이 지난 지금까지도 그의 이름을 간직하고 있습니다.
내 텍스트가 서버로 전송되나요?
아니요. 모든 암호화와 복호화, 암호 깨기는 전적으로 브라우저에서 실행되므로 입력한 텍스트는 업로드되거나 기록·저장되지 않습니다. 공유 링크조차 텍스트를 URL의 해시 뒤 부분에 담아 두는데, 브라우저는 이 부분을 서버로 절대 전송하지 않으므로 직접 공유하기 전까지는 비공개로 유지됩니다.
어떤 메시지가 카이사르 암호인지 어떻게 알 수 있나요?
카이사르 암호는 원문의 단어 길이와 띄어쓰기, 문장 부호를 그대로 유지하므로 글자만 바뀐 진짜 언어처럼 보입니다. 강력한 단서는 글자 빈도 패턴입니다. 모든 글자가 같은 양만큼 이동하기 때문에 영어의 일반적인 빈도 곡선이 알파벳을 따라 그대로 미끄러지며, 그 결과 평소 E가 차지하던 자리를 다른 한 글자가 대신 압도하게 됩니다. 암호 깨기 모드로 전환해 25가지 이동량을 모두 시도했을 때 정확히 하나의 이동량에서만 읽을 수 있는 텍스트가 나온다면, 그것은 거의 틀림없이 카이사르 암호였습니다. 어떤 이동량으로도 풀리지 않는다면 그 메시지는 Vigenère 암호나 혼합 치환 암호 같은 다른 방식을 썼을 수 있습니다.
카이사르 암호와 ROT13의 차이는 무엇인가요?
ROT13은 이동량이 13으로 고정된 카이사르 암호일 뿐입니다. 일반적인 카이사르 암호는 1부터 25까지 원하는 이동량을 고를 수 있지만, ROT13은 언제나 13을 사용합니다. 13은 정확히 26의 절반이므로 ROT13은 자기 자신이 역원입니다. 즉 텍스트를 두 번 통과시키면 원래대로 돌아오므로 한 번의 작업으로 암호화와 복호화가 모두 됩니다. 다른 이동량을 쓰는 카이사르 암호는 복호화하려면 반대 방향의 이동량이 필요합니다.
카이사르 암호와 Vigenère 암호의 차이는 무엇인가요?
카이사르 암호는 메시지 전체에 하나의 고정 이동량을 사용하므로 가능한 키가 25가지뿐이고 깨기가 쉽습니다. Vigenère 암호는 키워드를 사용해 각 글자에 차례로 다른 이동량을 적용하므로 글자 빈도 패턴을 감추어 훨씬 깨기 어렵습니다. 사실상 Vigenère는 키의 글자들을 순환시키며 적용하는 일련의 카이사르 암호이며, 그래서 오랫동안 le chiffre indéchiffrable, 즉 깨뜨릴 수 없는 암호라고 불렸습니다.
정답이 있는 카이사르 암호 예시를 보여 줄 수 있나요?
이동량 3에서는 HELLO가 KHOOR가 되고, 메시지 ATTACK AT DAWN은 DWWDFN DW GDZQ가 됩니다. 카이사르의 좌우명 VENI VIDI VICI는 YHQL YLGL YLFL로 암호화되고, 문구 ET TU BRUTE는 HW WX EUXWH가 됩니다. 이 중 어느 것이든 복호화하려면 복호화 모드에서 반대 방향으로 이동량 3을 적용하거나, 암호 깨기 모드에 암호문을 붙여넣어 풀이기가 이동량을 대신 찾도록 하세요.
카이사르 암호에는 어떤 다른 이름들이 있나요?
카이사르 암호는 각 글자가 일정한 양만큼 이동하기 때문에 이동 암호, 카이사르 이동, 카이사르 코드, 또는 그냥 카이사르 암호라고도 불립니다. 특정 이동량에는 고유한 이름이 있습니다. 이동량 13은 ROT13이고, 이동량 1은 카이사르의 후계자 Augustus의 이름을 따 August cipher라고 불리기도 하며, 고정 회전 암호의 더 넓은 계열은 ROT-N으로 표기합니다. 이들은 모두 같은 방식으로 작동하며 이 도구로 해독할 수 있습니다.
카이사르 암호를 코드로 어떻게 작성하나요?
이 알고리즘은 어떤 언어로든 짧습니다. 각 문자를 차례로 순회하며 그것이 알파벳인지 확인하고, 알파벳이라면 A의 코드를 빼서 0부터 25까지의 숫자를 얻은 뒤 이동량을 더하고, 알파벳이 순환하도록 26으로 나눈 나머지를 취한 다음, A의 코드를 다시 더해 그 숫자를 문자로 바꿉니다. 알파벳이 아닌 문자는 그대로 복사해 통과시킵니다. Python에서는 ord와 chr 함수가 이 변환을 처리하고, JavaScript에서는 charCodeAt와 fromCharCode가 같은 일을 하는데, 바로 이것이 이 브라우저 내 도구가 작동하는 방식입니다.

관련 도구

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

비제네르 암호

아트바시 암호

레일 펜스 암호

플레이페어 암호

아핀 암호

베이컨 암호