069. 고전 암호 (Classical Cryptography)
⚠️ 이 문서는 컴퓨터가 발명되기 수천 년 전부터 기원전 인류가 비밀 편지를 보내기 위해 문자의 위치를 바꾸거나 다른 문자로 바꾸어치기 하던 1세대 수동적 암호 기법인 고전 암호를 다룹니다.
핵심 인사이트 (3줄 요약)
- 본질: 고전 암호는 컴퓨터의 복잡한 비트 연산이 아니라, 인간의 손과 눈으로 직접 풀 수 있는 수준의 '글자 바꾸기' 놀이로, 크게 치환(Substitution) 암호와 전치(Transposition) 암호 두 가지 원리로 나뉜다.
- 가치: 비록 현대의 컴퓨터로 1초 만에 풀릴 만큼 허술하지만, 현대 암호학의 가장 중요한 양대 산맥인 **혼돈(Confusion - 치환)**과 **확산(Diffusion - 전치)**이라는 위대한 개념을 최초로 탄생시킨 뿌리다.
- 융합: 고전 암호의 한계를 극복하기 위해 통계적 분석(빈도 분석)이 등장했으며, 이를 피하기 위해 기계식 암호(Enigma)를 거쳐 마침내 현대의 디지털 블록 암호(AES)로 진화하게 되었다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
전쟁터에서 왕이 장군에게 "내일 아침 성문을 공격하라"는 편지를 보냈을 때, 전령이 적군에게 잡히면 작전은 실패한다. 수천 년 전 로마나 고대 그리스 시대의 사람들도 이 고민을 했고, 전령이 잡혀도 편지 내용을 알 수 없도록 글자를 꼬아버리는 기술을 발명했다. 이것이 고전 암호의 시작이다.
고전 암호는 복잡한 수학 공식 없이, 종이와 펜, 혹은 막대기 같은 간단한 도구만 있으면 누구나 만들고 해독할 수 있다는 장점이 있다. 하지만 비밀을 숨기는 방식이 너무 단순하여, 언어학자나 통계학자의 눈썰미 한 번에 뚫려버리는 치명적 한계를 안고 있었다.
📢 섹션 요약 비유: 어릴 때 친구들과 "ㅏ는 ㅑ로, ㄱ은 ㄴ으로 바꿔서 쓰자"고 약속하고 외계어 같은 비밀 편지를 주고받던 기억이 있죠? 그것이 바로 2000년 전 로마 황제들이 군사 작전을 지시할 때 쓰던 훌륭한 고전 암호입니다.
Ⅱ. 고전 암호의 두 가지 대원칙: 치환과 전치
고전 암호는 아무리 복잡해 보여도 결국 다음 두 가지 행동 중 하나이거나, 둘을 섞은 것이다.
1. 치환 암호 (Substitution Cipher)
- 개념: 어떤 글자를 다른 글자나 기호로 완전히 '바꿔치기' 하는 방식. (현대 암호의 혼돈(Confusion) 특성을 제공)
- 특징: 글자의 생김새 자체가 변하므로 평문의 구조가 감춰진다.
- 예시: 카이사르(Caesar) 암호, 비제네르(Vigenère) 암호.
2. 전치 암호 (Transposition Cipher)
- 개념: 글자 자체를 다른 글자로 바꾸지는 않지만, 글자들의 '배열 위치(순서)'를 마구 뒤섞는 방식. (현대 암호의 확산(Diffusion) 특성을 제공)
- 특징: 글자의 생김새는 그대로지만, 위치가 뒤죽박죽이라 읽을 수 없다. 퍼즐을 맞추면 원래 평문이 나온다.
- 예시:
- 스키테일(Scytale) 암호: 고대 스파르타에서 두께가 일정한 막대기에 양피지를 감고 가로로 글씨를 쓴 뒤, 양피지를 풀면 글씨가 세로로 섞여버리는 방식. 같은 두께의 막대기를 가진 사람만 읽을 수 있다. (막대기 두께 = Key)
┌────────────────────────────────────────────────────────────────────────┐
│ 치환(Substitution)과 전치(Transposition)의 비교 시각화 │
├────────────────────────────────────────────────────────────────────────┤
│ │
│ [ 평문 (Plaintext) ] : ATTACK (공격하라) │
│ │
│ 1. 치환 암호 (Substitution) - 3칸씩 알파벳 미루기 │
│ A ──(+3)──▶ D │
│ T ──(+3)──▶ W │
│ 결과(암호문): D W W D F N (글자가 완전히 다른 것으로 바뀜!) │
│ │
│ 2. 전치 암호 (Transposition) - 짝수/홀수 번째 자리 바꾸기 │
│ A T T A C K │
│ │ │ │ │ │ │ (1↔2, 3↔4, 5↔6 자리 스왑) │
│ T A A T K C │
│ 결과(암호문): T A A T K C (글자는 그대로인데 순서가 엉망진창됨!) │
└────────────────────────────────────────────────────────────────────────┘
[다이어그램 해설] 치환 암호는 글자의 껍데기를 다른 옷으로 갈아입히는 것이고, 전치 암호는 사람들은 그대로인데 줄 서는 순서를 바꾸는 것이다. 현대의 AES 같은 강력한 암호는 이 두 가지 짓을 수십 번 반복하여 섞음으로써 해커의 혼을 빼놓는다.
- 📢 섹션 요약 비유: 트럼프 카드 상자를 샀을 때, 카드에 그려진 스페이드를 하트 모양 스티커로 덮어 가리는 것이 '치환'이고, 스티커를 붙이지는 않았지만 카드 뭉치를 마구 셔플(화투 섞기)해버리는 것이 '전치'입니다.
Ⅲ. 고전 암호의 몰락과 빈도 분석법 (Frequency Analysis)
치환 암호는 겉보기엔 완벽해 보였지만 9세기에 이슬람 수학자 알킨디(Al-Kindi)가 발명한 빈도 분석법(Frequency Analysis) 한 방에 처참하게 무너졌다.
- 몰락의 원리: 영어 문장에서 가장 많이 쓰이는 알파벳은 무조건 'E', 'T', 'A' 순서다. 만약 암호문에서 'X'라는 글자가 비정상적으로 엄청나게 많이 나온다면, 해커는 "아, X가 평문의 E를 바꾼 글자구나!"라고 눈치채고 거꾸로 끼워 맞춘다. 즉, 암호문이 평문의 통계적 특성(언어의 습관)을 그대로 노출하는 치명적 약점이 있었던 것이다.
- 영향: 이를 극복하기 위해 글자 하나를 여러 개로 바꾸는 '다중 치환 암호(Vigenere)'가 등장했고, 인간의 손을 넘어 기계(Enigma)를 동원하는 기계식 암호 시대로 발전하게 되었다.
Ⅳ. 결론
"보안의 역사는 창과 방패의 싸움이다." 고전 암호는 펜과 종이로 비밀을 지키려 했던 인류의 가장 원초적이고 낭만적인 보안 기술이었다. 비록 지금은 신문 퍼즐이나 방탈출 게임의 퀴즈 수준으로 전락했지만, 글자를 바꿔치기(치환)하고 섞는(전치) 고전 암호의 위대한 아이디어는 천 년의 시간을 넘어 지금 이 순간에도 당신의 스마트폰 안에 있는 AES 암호화 칩 안에서 맹렬하게 작동하고 있다.
📌 관련 개념 맵
- 하위 구현체: 카이사르 암호(치환), 비제네르 암호(다중 치환), 스키테일 암호(전치)
- 해독 기법: 통계적 빈도 분석법 (Frequency Analysis)
- 현대 암호학으로의 유산: 혼돈(Confusion - 치환이 제공), 확산(Diffusion - 전치가 제공)
👶 어린이를 위한 3줄 비유 설명
- 옛날 사람들은 편지를 몰래 보내기 위해 두 가지 장난을 쳤어요.
- 첫 번째는 호랑이를 사자로 바꿔 부르는 '치환 장난'이고, 두 번째는 '안녕하세요'를 거꾸로 '요세하녕안'으로 섞어버리는 '전치 장난'이에요.
- 너무 단순해 보이지만, 이 두 가지 장난을 수백 번 섞으면 세상에서 제일 똑똑한 슈퍼컴퓨터도 절대 풀 수 없는 진짜 마법의 암호가 탄생한답니다!