오늘 끝나면
시저 암호
- ✓시저 암호의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 시저이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
글자를 밀어라 — 고대 로마의 3칸 밀기 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
암호 & 보안 · 02
시저
암호
글자를 정한 칸수만큼 미는 가장 오래된 암호. 로마 카이사르가 3칸 밀어 씀. A → D, 끝.
알파벳을 정한 수만큼 뒤로 민다
시저 암호는 알파벳을 정한 수만큼 뒤로 미는 것.
미는 칸이 3이면 A는 D로, B는 E로, C는 F로 감. 모든 글자가 똑같이 3칸 밀림.
끝에 닿으면 처음으로 돌아옴. X·Y·Z는 한 바퀴 돌아 A·B·C가 됨. 시계가 12 넘으면 다시 1이 되는 거랑 같음.
Z 넘어가면 한 바퀴 돌아 다시 A — 시계처럼 순환
키 = 미는 칸 수, 밀고 당김은 대칭
미는 칸 수를 키라고 부름. 키만 알면 누구나 풀 수 있음.
보내는 쪽은 키만큼 뒤로 밀어 암호문을 만듦. 받는 쪽은 같은 키만큼 거꾸로 당기면 원문이 그대로 나옴. 민 만큼 당기니 제자리임.
밀 때도 키, 풀 때도 같은 키. 같은 열쇠 하나로 잠그고 여는 것을 대칭이라 함.
직접 밀어 보기 — 띠가 회전한다
말로는 헷갈림. 오른쪽 슬라이더를 직접 밀어 보면 한눈에 들어옴.
위·아래 두 줄 알파벳 띠가 있음. 슬라이더를 움직이면 아래 띠가 통째로 회전함. A 자리에 어떤 글자가 오는지 바로 보임. 이게 “치환”임.
평문을 치면 암호문이 실시간으로 나옴.암호화 ↔ 복호화 토글을 누르면 미는 방향만 뒤집힘. 한글·숫자는 그대로, 영문만 굴러감.
A는 3칸 밀려 D가 됨
한글·숫자·기호는 그대로 둠. 영문 글자만 3칸 굴림.
단순함이 곧 약점이다
바로 그 단순함이 함정임. 시저 암호는 아주 약함.
키로 쓸 수 있는 수는 1부터 25까지뿐임. 0은 안 민 거라 의미 없음. 그러니 진짜 후보는 25개밖에 없음.
공격자는 그냥 1칸부터 25칸까지 전부 당겨봄. 25번 안에 말이 되는 문장이 반드시 나옴. 키를 몰라도 25번이면 뚫림 — 다음 장에서 더 매섭게 깨봄.
Q. 키가 3일 때 A는 무엇이 됨?
정답은 D임. A를 0번, B를 1번으로 세면 0에 3을 더해 3번 글자, 즉 D가 됨. 받는 쪽은 거꾸로 3칸 당겨 다시 A로 복원함. 밀고 당김이 같은 키라 제자리로 돌아옴.경우의 수가 너무 적음 — 다음 장: 더 빨리 깨는 법