스킬캠퍼스

오늘 끝나면

에니그마

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

실습 미션

기계 암호와 2차대전 — 튜링이 깬 그 암호 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

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

암호 & 보안 · 04

에니그마
기계가 된 암호

에니그마는 2차대전 독일이 쓴 암호기계다.
키를 칠 때마다 안에서 회로가 한 칸씩 돈다.
그래서 같은 글자도 매번 다르게 암호화된다.

P.01암호 & 보안 · 04

시저는 한 칸, 에니그마는 매번

시저 암호는 알파벳을 딱 한 칸 밀었다.
A는 D로, B는 E로 가는 식으로 규칙이 처음부터 끝까지 똑같다. 그래서 약하다.

규칙이 고정이면 패턴이 남는다.
가장 자주 나오는 글자를 찾아 거꾸로 맞추면 풀린다. 이게 어제 배운 빈도분석이다.

에니그마는 발상을 뒤집었다. 한 글자 칠 때마다 미는 양을 바꾼다.
그래서 같은 A라도 첫 번째 A와 두 번째 A가 다른 글자로 나온다.

고정된 한 칸 밀기 vs 매 글자 바뀌는 밀기
규칙이 고정 vs 규칙이 매번
시저, 항상 +3칸
A → D
B → E
C → F
D → G

규칙이 같으니 패턴이 남는다

에니그마, A인데 매번 다르다
A → F
A → C
A → H
A → B

규칙이 도니 패턴이 사라진다

P.02암호 & 보안 · 04

로터를 겹치면 치환표가 돈다

핵심 부품은 로터다. 알파벳을 마구 섞어놓은 톱니바퀴다.
한 면으로 글자가 들어가면 배선을 타고 다른 글자로 나온다.

여기까진 그냥 치환표다.
그런데 글자 하나 칠 때마다 톱니가 한 칸 돈다.
톱니가 돌면 배선이 통째로 어긋나서 치환표 자체가 매번 바뀐다.

로터를 여러 개 겹치면 더 심해진다.
첫 로터가 한 바퀴 돌면 둘째 로터가 한 칸 돈다. 주행거리계와 같은 방식이다.
그래서 같은 키를 또 만나려면 어마어마하게 많이 쳐야 한다.

로터 = 돌아가는 치환표
로터 = 돌아가는 톱니 치환표
ABC로터FDA

한 글자 치면 톱니가 한 칸 ↻ 돌아 배선이 어긋나고 표가 바뀐다

P.03암호 & 보안 · 04

같은 글자, 다른 출력. 직접 해보자

오른쪽은 로터 2개짜리 미니 에니그마다. 글자는 8개로 줄였다.

같은 글자를 두 번 연속 눌러 보자.
칠 때마다 로터가 한 칸씩 도는 게 보인다. 출력도 매번 달라진다.
빈도분석이 노릴 패턴이 사라진다.

위의 시작 위치를 바꾸면 암호 전체가 달라진다.
이게 독일군이 매일 바꾸던 오늘의 키다.
같은 키로 맞춰야만 상대가 풀 수 있다.

A를 연속으로 눌러 출력이 달라지는지 보기
미니 에니그마 · 로터 2개
시작 위치, 오늘의 키
로터10
로터20
현재 로터 위치, 칠 때마다 돈다
로터1
0
로터2
0
입력, 같은 글자를 연속으로 눌러 본다
출력, 최근 입력 순서

위 글자를 눌러 보자. 같은 글자를 두 번 눌러도 출력이 달라진다.

P.04암호 & 보안 · 04

경우의 수가 천문학적

에니그마가 오래 안 풀린 이유는 키의 경우의 수가 너무 많아서다.

로터 시작 위치만 따져도 (글자 수)로터 수로 늘어난다.
거기에 로터 끼우는 순서와 배선판까지 곱한다.
실제 에니그마는 경우의 수가 천억의 천억 배 수준이 된다.

사람이 손으로 하나씩 시도하면 우주 나이로도 모자란다.
그래서 독일은 안전하다고 믿었다.
그런데 사람이 못 한다고 기계도 못 하는 건 아니었다.

로터 위치 · 순서 · 배선을 곱하면
곱하면 천문학적
로터 시작 위치26 × 26 × 26= 17,576
로터 끼우는 순서× 605개 중 3개 배치
배선판(plugboard)× 150조+선 바꿔 꽂기
총 경우의 수≈ 10²³
P.05암호 & 보안 · 04

튜링: 기계 암호는 기계로 깬다

앨런 튜링의 발상이 결정적이었다. 기계가 만든 암호는 기계로 깨면 된다는 것이다.

튜링 팀은 봄베(Bombe)라는 기계를 만들었다.
사람이 평생 걸릴 경우의 수를 지치지도 않고 빠르게 훑었다.
“날씨” 같은 매일 반복되는 단어를 단서로 후보를 확 줄였다.

이게 컴퓨터의 씨앗이다.
반복 계산을 기계에 떠넘긴다는 이 아이디어가 현대 컴퓨터로 자랐다.
암호와 컴퓨터는 이때부터 한 몸으로 굴러왔다.

Q. 에니그마가 시저보다 강한 결정적 이유는?글자마다 치환 규칙이 바뀌기 때문이다.
시저는 끝까지 같은 한 칸이라 패턴이 남는다.
에니그마는 칠 때마다 로터가 돌아 치환표가 매번 달라진다.
그러면 자주 쓰는 글자도 매번 다른 글자로 흩어져 빈도가 고르게 퍼진다. 그래서 단순 빈도분석이 안 통한다.
사람의 시도 vs 기계의 시도
사람은 못 한다 · 기계는 한다
사람이 손으로
한 번씩 시도
한 번씩 시도
한 번씩 시도
한 번씩 시도
한 번씩 시도

우주 나이로도 부족

봄베(기계)로
규칙대로 자동 탐색
기계가 대신
기계가 대신
기계가 대신
기계가 대신
기계가 대신

컴퓨터의 씨앗

3줄 요약

  1. 1기계 암호와 2차대전 — 튜링이 깬 그 암호
  2. 2에니그마은 고전 암호 → 키와 신뢰 → 웹 보안 → 블록체인 → 다음 시대 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

에니그마

기계 암호와 2차대전 — 튜링이 깬 그 암호

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

해시

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