스킬캠퍼스
2강 · 시저 암호
강의

오늘 끝나면

시저 암호

  • 시저 암호의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 시저이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

글자를 밀어라 — 고대 로마의 3칸 밀기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

암호 & 보안 · 02

시저
암호

글자를 정한 칸수만큼 미는 가장 오래된 암호. 로마 카이사르가 3칸 밀어 씀. A → D, 끝.

P.01암호 & 보안 · 02

알파벳을 정한 수만큼 뒤로 민다

시저 암호는 알파벳을 정한 수만큼 뒤로 미는 것.

미는 칸이 3이면 A는 D로, B는 E로, C는 F로 감. 모든 글자가 똑같이 3칸 밀림.

끝에 닿으면 처음으로 돌아옴. X·Y·Z는 한 바퀴 돌아 A·B·C가 됨. 시계가 12 넘으면 다시 1이 되는 거랑 같음.

A를 D로 · 한 칸씩 미는 그림
키 3 — 모든 글자가 3칸씩 밀림
A
D
B
E
C
F
X
A
Y
B
Z
C

Z 넘어가면 한 바퀴 돌아 다시 A — 시계처럼 순환

P.02암호 & 보안 · 02

키 = 미는 칸 수, 밀고 당김은 대칭

미는 칸 수를 라고 부름. 키만 알면 누구나 풀 수 있음.

보내는 쪽은 키만큼 뒤로 밀어 암호문을 만듦. 받는 쪽은 같은 키만큼 거꾸로 당기면 원문이 그대로 나옴. 민 만큼 당기니 제자리임.

밀 때도 키, 풀 때도 같은 키. 같은 열쇠 하나로 잠그고 여는 것을 대칭이라 함.

같은 키로 밀고 · 같은 키로 당기고
같은 키 3으로 밀고 · 당기고
보내는 쪽 — 키 3만큼 밀기
HI+3 →KL
받는 쪽 — 같은 키 3만큼 당기기
KL−3 →HI
열쇠 하나로 잠그고 여는 것 = 대칭
P.03암호 & 보안 · 02

직접 밀어 보기 — 띠가 회전한다

말로는 헷갈림. 오른쪽 슬라이더를 직접 밀어 보면 한눈에 들어옴.

위·아래 두 줄 알파벳 띠가 있음. 슬라이더를 움직이면 아래 띠가 통째로 회전함. A 자리에 어떤 글자가 오는지 바로 보임. 이게 “치환”임.

평문을 치면 암호문이 실시간으로 나옴.암호화 ↔ 복호화 토글을 누르면 미는 방향만 뒤집힘. 한글·숫자는 그대로, 영문만 굴러감.

슬라이더로 글자 띠를 돌려 보셈
시저 암호 변환기 · 직접 밀어 보셈
키 — 미는 칸 수3

A는 3칸 밀려 D가 됨

치환표 — 위 글자가 아래 글자로 바뀜
ABCDEFGHIJKLMNOPQRSTUVWXYZ
3
DEFGHIJKLMNOPQRSTUVWXYZABC
평문 — 넣을 글
암호문 — 결과
KHOOR Fdhvdu

한글·숫자·기호는 그대로 둠. 영문 글자만 3칸 굴림.

P.04암호 & 보안 · 02

단순함이 곧 약점이다

바로 그 단순함이 함정임. 시저 암호는 아주 약함.

키로 쓸 수 있는 수는 1부터 25까지뿐임. 0은 안 민 거라 의미 없음. 그러니 진짜 후보는 25개밖에 없음.

공격자는 그냥 1칸부터 25칸까지 전부 당겨봄. 25번 안에 말이 되는 문장이 반드시 나옴. 키를 몰라도 25번이면 뚫림 — 다음 장에서 더 매섭게 깨봄.

Q. 키가 3일 때 A는 무엇이 됨?정답은 D임. A를 0번, B를 1번으로 세면 0에 3을 더해 3번 글자, 즉 D가 됨. 받는 쪽은 거꾸로 3칸 당겨 다시 A로 복원함. 밀고 당김이 같은 키라 제자리로 돌아옴.
키 후보 25개 · 다 돌려보면 끝
키 후보 — 단 25개
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
25번 다 당겨보면 → 반드시 뚫림

경우의 수가 너무 적음 — 다음 장: 더 빨리 깨는 법

3줄 요약

  1. 1글자를 밀어라 — 고대 로마의 3칸 밀기
  2. 2시저 암호은 고전 암호 → 키와 신뢰 → 웹 보안 → 블록체인 → 다음 시대 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

시저

글자를 밀어라 — 고대 로마의 3칸 밀기

암호를 잠그고 풀 때 쓰는 비밀 또는 공개 숫자

해시

데이터를 고정 길이 지문으로 바꾸는 함수