콘텐츠로 건너뛰기
개념 설명 · 코드와 암호 실험실

고전 암호: 카이사르, ROT13, 아트바시와 아핀

카이사르, ROT13, 아트바시, 아핀 및 키워드 암호의 작동 원리, 글자 수를 세어 해독하는 방법, 그리고 오늘날 어느 것도 안전하지 않은 이유를 알아보세요.

4분 읽기게시일

사람들은 2천 년이 넘는 세월 동안 평범한 모습 속에 메시지를 숨겨 왔습니다. 가장 오래된 방법은 고정된 규칙에 따라 각 글자를 다른 글자로 바꾸는 것이었습니다. 이런 방법은 사용하기 재미있고 암호학을 시작하기에 아주 좋지만, 연필을 든 끈기 있는 공격자라면 하나씩 모두 풀 수 있습니다. 이 가이드에서는 고전 암호 다섯 가지의 작동 원리와 오늘날 어느 것도 여러분을 보호할 수 없는 이유를 설명합니다.

평문, 암호문과 키

원래 메시지는 평문입니다. 뒤섞인 버전은 암호문입니다. 암호는 하나를 다른 것으로 바꾸는 규칙이고, 키는 어떤 방식으로 뒤섞을지 정확히 정하는 비밀 정보입니다.

1800년대부터 이어져 온 좋은 원칙은 적이 암호의 방법은 알고 있고, 키만 비밀이라고 가정하는 것입니다. 아래의 모든 내용도 이 기준으로 판단해야 합니다. 누군가 여러분이 무엇을 했는지는 알지만 키는 모른다면, 그래도 메시지를 읽을 수 있을까요?

카이사르 이동: 알파벳을 밀어 보기

카이사르 시프트는 모든 글자를 일정한 수만큼 앞으로 옮겨. 시프트를 3으로 하면 A는 D, B는 E로 쓰고, Z는 다시 돌아가 C가 돼. 로마의 작가 수에토니우스는 율리우스 카이사르가 군사 편지에 이 방법을 사용했다고 전해.

몇 칸 옮기는지가 핵심이야. 그 수를 아는 사람은 다시 뒤로 옮길 수 있어. 문제는 키가 너무 적다는 거야. 쓸 만한 시프트는 25개뿐이거든. 공격자는 모든 경우를 간단히 시도할 수 있어. 이것은 브루트 포스 검색이라고 하며, 손으로 해도 1분이면 되고 컴퓨터로는 거의 시간이 걸리지 않아.

ROT13

ROT13은 카이사르 시프트를 13칸으로 고정해. 알파벳은 26글자이므로 13칸을 두 번 옮기면 처음으로 돌아와. 암호화와 복호화가 같은 작업이야. 포럼에서는 가볍게 내용을 훑어보다 스포일러를 보지 않도록 ROT13을 사용했어. 무엇인가를 안전하게 보호해서가 아니야.

아트바시: 거울처럼 뒤집힌 알파벳

아트바시는 알파벳을 아래에 거꾸로 적어 A는 Z, B는 Y, C는 X와 짝을 이루게 해. 이 방법은 히브리 문자에서 유래했으며 일부 고대 문헌에도 등장해.

ROT13처럼 키가 전혀 없고 스스로 원래대로 돌아가. 거울에 비친 것을 다시 거울에 비추면 처음으로 돌아오는 것과 같아. 그래서 이건 자물쇠가 아니라 퍼즐이야. 누군가 패턴을 알아보는 순간, 이 방법으로 작성된 모든 메시지를 읽을 수 있어.

아핀 암호: 곱셈한 다음 시프트

각 문자에 수를 부여해. A = 0부터 Z = 25까지야. 아핀 암호는 그 수에 a를 곱하고 b를 더한 다음, 26에서 나눈 나머지를 사용해:

E(x) = (a·x + b) mod 26

a = 1로 설정하면 일반적인 카이사르 시프트로 돌아가. 곱셈을 하면 이웃한 문자들이 멀리 떨어져서 더 뒤섞여 보이지.

하지만 문제가 있어. 복호화가 되려면 각 암호문 문자가 정확히 하나의 평문 문자에서 나와야 해. 이건 a가 26과 공약수를 하나도 공유하지 않을 때만 가능해. 그래서 a = 3과 a = 5는 작동하지만, a = 2나 a = 13은 작동하지 않아. 서로 다른 두 문자가 같은 곳으로 가게 되기 때문이야. 허용되는 a의 값은 12개뿐이고, b의 값 26개와 조합하면 키는 312개야. 25개보다는 낫지만, 컴퓨터에게는 여전히 아주 작은 수야.

키워드 치환: 어떤 순서로든 섞기

왜 모든 문자를 규칙에 따라 옮겨야 할까? 치환 암호에서는 키로 알파벳을 어떤 방식으로든 섞어 사용할 수 있어. 이 순서를 외우기 쉽게 만들려면 먼저 키워드를 쓰고, 반복되는 문자를 제거한 다음, 사용하지 않은 문자를 순서대로 추가해. 키워드 ZEBRAS를 사용하면 키 알파벳은 ZEBRASCDFGHIJKLMNOPQTUVWXY가 돼. 따라서 A는 Z로, B는 E로, C는 B로 바뀌고, 이런 식으로 계속 이어져.

가능한 섞기 방법의 수는 26 팩토리얼, 약 4 × 10²⁶개야. 이걸 전부 시도하는 건 불가능해 보여서, 치환 암호는 수백 년 동안 풀 수 없는 암호처럼 보였어. 하지만 실제로는 그렇지 않았지.

라이브 실험 실시간 암호 실험실. 휠을 돌려 메시지를 암호화한 다음, 암호를 해독해 봐. 전체 코드와 암호 실험실 실험 열기 →

오늘날에는 왜 어느 것도 안전하지 않을까

치환 암호에는 치명적인 특징이 있어. 문자는 항상 같은 문자로 바뀐다는 거야. 그래서 언어의 형태가 그대로 남아. 영어에서는 E가 가장 자주 나오고, 그다음은 T, A, O야. 반면 Q와 Z는 드물어. 이슬람 세계의 학자들은 9세기 무렵 주파수 분석을 설명했어. 암호문에 있는 문자의 수를 세고, 가장 많이 나온 문자를 E에 대응시킨 다음, 단어의 패턴을 이용해 나머지를 채우는 방법이야. 예를 들어 한 글자로 된 단어는 A나 I일 가능성이 높아.

메시지가 길수록 통계가 더 정확해지므로, 키 공간이 아무리 커도 도움이 되지 않아. 현대 암호는 암호문에 이런 패턴이 나타나지 않도록 설계되고, 추측하기에는 너무 큰 키를 사용해 보안을 유지해. 실제로 중요한 일이면 직접 만든 방식을 쓰지 말고, 충분히 검증된 현대적인 도구를 사용해야 해.

실험실에서 직접 살펴보는 방법

코드와 암호 실험실에는 직접 돌릴 수 있는 암호 원판과 글자 수를 세고 추측을 시험해 볼 수 있는 도구가 있어. 무료로 이용할 수 있는 첫 번째 월드는 다음 순서로 학습하면 좋아.

  1. 카이사르 이동 암호부터 시작해서 암호를 하나 풀어 봐.
  2. ROT13, 그다음 아트바시에서 같은 변환을 두 번 적용하면 원래대로 돌아오는 거동을 살펴봐.
  3. 아핀 암호: 곱셈 후 이동에서 어떤 곱수가 작동하는지 시험해 봐.
  4. 키워드 치환에서 글자 순서를 섞은 키를 만들어 봐.

이 실험실은 역사 속 암호를 단순화한 학습용 모델이야. 키와 공격 방법을 직관적으로 이해하기 위한 것으로, 실제 메시지를 보호하는 용도는 아니야.

핵심 내용
  • 키가 뒤섞는 방식을 정합니다. 공격자가 방법을 알고 있다고 가정하세요.
  • Caesar에는 쓸 만한 키가 25개뿐이고, ROT13과 Atbash에는 비밀 키가 없습니다.
  • Affine의 곱셈값은 26과 공약수를 가지지 않아야 하므로, 가능한 값은 12개입니다.
  • Keyword substitution은 키 공간이 매우 크지만 글자 주파수 분석에 무너집니다.
무료 수업 · 코드와 암호 실험실

카이사르 시프트

모든 글자가 같은 거리만큼 이동해요. 약 6분 정도 걸려요. 무료이고, 계정 없이 브라우저에서 실행할 수 있어요.

무료 레슨 시작하기

오류 신고

무엇이 잘못되었나요?
0 / 2000 · 최소 10자
보고서와 함께 전송되는 내용
  • 페이지
  • 관련 내용 Classic Ciphers: Caesar, ROT13, Atbash and Affine · caesar-cipher-rot13-atbash-affine-explained
브라우저 종류도 적어 주세요. 보고서는 지원 시스템으로 전송됩니다. 개인정보 보호 안내를 확인하세요.

Novareka의 시뮬레이션은 교육용 모델이며, 일부러 단순화되어 있습니다. 아이디어가 어떻게 작동하는지 보여 주지만, 전문가의 의학적 또는 공학적 조언을 대신할 수는 없습니다.