오늘 끝나면
에니그마
- ✓에니그마의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 에니그마이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
기계 암호와 2차대전 — 튜링이 깬 그 암호 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
암호 & 보안 · 04
에니그마
기계가 된 암호
에니그마는 2차대전 독일이 쓴 암호기계다.
키를 칠 때마다 안에서 회로가 한 칸씩 돈다.
그래서 같은 글자도 매번 다르게 암호화된다.
시저는 한 칸, 에니그마는 매번
시저 암호는 알파벳을 딱 한 칸 밀었다.
A는 D로, B는 E로 가는 식으로 규칙이 처음부터 끝까지 똑같다. 그래서 약하다.
규칙이 고정이면 패턴이 남는다.
가장 자주 나오는 글자를 찾아 거꾸로 맞추면 풀린다. 이게 어제 배운 빈도분석이다.
에니그마는 발상을 뒤집었다. 한 글자 칠 때마다 미는 양을 바꾼다.
그래서 같은 A라도 첫 번째 A와 두 번째 A가 다른 글자로 나온다.
규칙이 같으니 패턴이 남는다
규칙이 도니 패턴이 사라진다
로터를 겹치면 치환표가 돈다
핵심 부품은 로터다. 알파벳을 마구 섞어놓은 톱니바퀴다.
한 면으로 글자가 들어가면 배선을 타고 다른 글자로 나온다.
여기까진 그냥 치환표다.
그런데 글자 하나 칠 때마다 톱니가 한 칸 돈다.
톱니가 돌면 배선이 통째로 어긋나서 치환표 자체가 매번 바뀐다.
로터를 여러 개 겹치면 더 심해진다.
첫 로터가 한 바퀴 돌면 둘째 로터가 한 칸 돈다. 주행거리계와 같은 방식이다.
그래서 같은 키를 또 만나려면 어마어마하게 많이 쳐야 한다.
한 글자 치면 톱니가 한 칸 ↻ 돌아 배선이 어긋나고 표가 바뀐다
같은 글자, 다른 출력. 직접 해보자
오른쪽은 로터 2개짜리 미니 에니그마다. 글자는 8개로 줄였다.
같은 글자를 두 번 연속 눌러 보자.
칠 때마다 로터가 한 칸씩 도는 게 보인다. 출력도 매번 달라진다.
빈도분석이 노릴 패턴이 사라진다.
위의 시작 위치를 바꾸면 암호 전체가 달라진다.
이게 독일군이 매일 바꾸던 오늘의 키다.
같은 키로 맞춰야만 상대가 풀 수 있다.
위 글자를 눌러 보자. 같은 글자를 두 번 눌러도 출력이 달라진다.
경우의 수가 천문학적
에니그마가 오래 안 풀린 이유는 키의 경우의 수가 너무 많아서다.
로터 시작 위치만 따져도 (글자 수)로터 수로 늘어난다.
거기에 로터 끼우는 순서와 배선판까지 곱한다.
실제 에니그마는 경우의 수가 천억의 천억 배 수준이 된다.
사람이 손으로 하나씩 시도하면 우주 나이로도 모자란다.
그래서 독일은 안전하다고 믿었다.
그런데 사람이 못 한다고 기계도 못 하는 건 아니었다.
| 로터 시작 위치 | 26 × 26 × 26= 17,576 |
| 로터 끼우는 순서 | × 605개 중 3개 배치 |
| 배선판(plugboard) | × 150조+선 바꿔 꽂기 |
튜링: 기계 암호는 기계로 깬다
앨런 튜링의 발상이 결정적이었다. 기계가 만든 암호는 기계로 깨면 된다는 것이다.
튜링 팀은 봄베(Bombe)라는 기계를 만들었다.
사람이 평생 걸릴 경우의 수를 지치지도 않고 빠르게 훑었다.
“날씨” 같은 매일 반복되는 단어를 단서로 후보를 확 줄였다.
이게 컴퓨터의 씨앗이다.
반복 계산을 기계에 떠넘긴다는 이 아이디어가 현대 컴퓨터로 자랐다.
암호와 컴퓨터는 이때부터 한 몸으로 굴러왔다.
Q. 에니그마가 시저보다 강한 결정적 이유는?
글자마다 치환 규칙이 바뀌기 때문이다.시저는 끝까지 같은 한 칸이라 패턴이 남는다.
에니그마는 칠 때마다 로터가 돌아 치환표가 매번 달라진다.
그러면 자주 쓰는 글자도 매번 다른 글자로 흩어져 빈도가 고르게 퍼진다. 그래서 단순 빈도분석이 안 통한다.
우주 나이로도 부족
컴퓨터의 씨앗