스킬캠퍼스

오늘 끝나면

빈도분석

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

실습 미션

단순 치환은 왜 깨지나 — e가 제일 많이 나옴 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

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

암호 & 보안 · 03

빈도분석
단순 암호의 약점

글자만 바꾼 암호는 빈도로 깨진다. 자주 나오는 글자는 티가 난다. 영어는 e가 제일 많다. 글자를 바꿔도 그 버릇은 사라지지 않는다.

P.01암호 & 보안 · 03

치환 암호 = 글자 1:1 교체

치환 암호는 글자를 다른 글자로 바꾸는 방식이다. A는 D로, B는 E로, 글자를 1:1로 짝지어 통째로 갈아끼운다.

시저 암호가 대표적이다. 모든 글자를 같은 칸 수만큼 뒤로 민다. 세 칸 밀면 HELLO → KHOOR가 된다. 푸는 쪽은 같은 칸만큼 되밀면 끝난다.

열쇠는 “몇 칸 밀었나” 하나뿐이다. 겉보기엔 외계어인데, 글자끼리의 관계는 그대로 남는다. 이게 약점이 된다.

A→D · B→E … 표 한 장이 곧 열쇠
시저 +3, 글자를 세 칸 뒤로
평문암호문
A+3D
B+3E
C+3F
H+3K
+3
Z+3C
열쇠는 “몇 칸 밀었나” 하나뿐
P.02암호 & 보안 · 03

언어의 글자 빈도는 지문처럼 남는다

어떤 언어든 글자가 나오는 비율이 정해져 있다. 영어 글을 길게 모으면 언제나 e가 1등이다.

e, t, a, o 순으로 흔하다.z, q, x는 거의 나오지 않는다. 글쓴이가 누구든 비슷하다. 한국어도 받침과 조사 빈도가 일정하다.

치환 암호는 글자 모양만 바꾼다. 그래서 제일 흔한 글자가 뭘로 바뀌든, 그게 여전히 제일 흔하다. 빈도 순서라는 “지문”이 암호문에 그대로 찍힌다.

영어에서 e가 압도적으로 많음
영어 글자 빈도, e가 1등
e
12.7%
t
9.1%
a
8.2%
o
7.5%
i
7%
n
6.7%
s
6.3%
h
6.1%
r
6%
z
0.1%

글쓴이가 누구든 이 순서는 거의 그대로다

P.03암호 & 보안 · 03

막대 최댓값을 e로 맞추면 키가 드러난다

깨는 법은 단순하다. 암호문에서 제일 많이 나온 글자e라고 찍으면 된다.

제일 높은 막대를 e에 맞추면몇 칸 밀렸는지가 역산되고, 그만큼 되돌리면 평문이 복원된다.

시프트가 맞는 순간 영어 문장이 떠오른다. 키 하나만 알아내면 전체가 풀린다.

제일 흔한 글자 → e 로 찍기 → 자동 해독
빈도분석 · 시저 암호 깨기
암호문 (시저로 잠김)

AOL XBPJR IYVDU MVE QBTWZ VCLY AOL SHGF KVN ULHY AOL YPCLYZPKL

되돌린 글, 시프트 0

AOL XBPJR IYVDU MVE QBTWZ VCLY AOL SHGF KVN ULHY AOL YPCLYZPKL

글자 빈도, 제일 높은 막대가 곧 단서
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

제일 높은 막대는 L다. 영어에서 제일 흔한 글자는 e라서, 이 막대를 e로 보면 키가 드러난다.

되돌릴 시프트, 직접 돌려도 된다
0

버튼을 누르면 막대 최댓값을 e에 맞춰 시프트를 추정한다. 직접 슬라이더를 돌려 맞춰도 된다.

P.04암호 & 보안 · 03

그래서 단순 치환은 안전하지 않다

단순 치환 암호의 약점은 빈도가 그대로 새어 나간다는 점이다.

글자를 아무리 뒤섞어도 빈도 순위표는 변하지 않는다. 그 순위표를 언어의 표준 빈도와 나란히 놓으면 짝이 맞춰진다.

그래서 현대 암호는 글자를 1:1로 바꾸지 않는다. 같은 글자도 매번 다르게 보이게 섞는다.에니그마가 그 “매번 바뀌는 치환”으로 빈도 단서를 지운 기계다.

Q. 빈도분석이 통하는 이유는?언어마다 글자 비율이 일정하기 때문이다. 암호로 글자를 바꿔도 빈도 순서는 그대로 남는다. 그래서 제일 흔한 글자를 그 언어의 제일 흔한 글자(영어는 e)로 찍으면 키가 드러난다. 모양만 바뀌었지 빈도라는 지문은 지워지지 않은 것이다.
모양은 바뀌어도 빈도 순서는 그대로
모양은 바뀌어도 순위표는 그대로
평문 빈도 순위
1e
2t
3a
4o
암호문 빈도 순위
1h
2w
3d
4r

1등은 1등끼리 짝, 빈도가 새어 나간다

3줄 요약

  1. 1단순 치환은 왜 깨지나 — e가 제일 많이 나옴
  2. 2빈도분석은 고전 암호 → 키와 신뢰 → 웹 보안 → 블록체인 → 다음 시대 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

빈도분석

단순 치환은 왜 깨지나 — e가 제일 많이 나옴

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

해시

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