
1. 기본 용어 정리 (Definitions)
| 용어 | 설명 |
| Plaintext(평문) | 암호화되기 전의 원래 메시지 |
| Ciphertext(암호문) | 암호화된 메시지 |
| Encryption(암호화) | 평문을 암호문으로 바꾸는 과정 |
| Decryption(복호화) | 암호문을 평문으로 되돌리는 과정 |
| Cryptography(암호학) | 암호학: 암호 기법 전체를 다루는 학문 |
| Cryptographic System/Cipher(암호시스템) | 암호화 방법과 절차의 조합 |
| Cryptanalysis(해독학) | 암호화 방식 모르는 상태에서 암호를 푸는 기술 |
| Cryptology | 암호학 + 해독학 모두 포함하는 학문 전체 |
2. 대칭 암호화 모델 (Symmetric Encryption)


🔹 대칭 암호 모델 (Figure 3.1)
- 대칭키 방식: 같은 키로 암호화와 복호화 둘 다 수행
- 구조: Plaintext → [암호화 알고리즘 + 키 K] → Ciphertext → [복호화 알고리즘 + 동일 키 K] → Plaintext 복원
🔹 보안 요구사항 (Symmetric Cipher Model)
- 암호화 알고리즘이 충분히 강력해야 함
- 송신자와 수신자가 동일한 비밀 키(K)를 안전하게 공유하고 보호해야 함
🔹 대칭 암호 시스템 확장 모델 (Figure 3.2)
- 암호 시스템 구성 요소:
- Message Source: 원본 메시지
- Encryption Algorithm: 암호화 알고리즘
- Decryption Algorithm: 복호화 알고리즘
- Destination: 수신자
- 암호 키:
- Key Source: 키 소스 (암호화 및 복호화에 사용되는 비밀 키)
- 키는 보안 채널(Secure Channel)을 통해 안전하게 공유되어야 함.
- 암호 분석자 (Cryptanalyst): 암호 분석자는 암호문을 보고, 키를 추적하려 시도할 수 있음.
- 전체 시스템 구성:
- 대칭 암호화 시스템: 암호화 및 복호화 알고리즘 + 키 공유 메커니즘을 포함
3. 암호 해독 기법: 암호 분석(Cryptanalysis) & 무차별 대입(Brute-force)

Cryptanalysis (암호 분석)
- 알고리즘의 구조나 평문의 통계적 특성(예: 글자 빈도 등)을 이용하여 암호를 해독
- 수학적 취약점이나 규칙을 공략함
Brute-force Attack (무차별 대입 공격)
- 가능한 모든 키를 하나씩 시험하여 복호화
- 보통 평균적으로 키 공간의 절반 정도 시도해야 성공
- 시저 암호의 키는 0~25까지 총 26개밖에 없기 때문에, 브루트 포스로 쉽게 깨짐.
- 암호문을 26번 모두 복호화 해보면, 어느 순간 정상 문장이 나와서 쉽게 알아냄.
4. 암호문 공격 유형 (Table 3.1)
| 공격 유형 | 공격자가 아는 정보 |
| Ciphertext Only | 암호문, 알고리즘 |
| Known Plaintext | 평문 일부 + 암호문 쌍 |
| Chosen Plaintext | 공격자가 평문을 선택해 암호화 결과 확인 |
| Chosen Ciphertext | 공격자가 암호문을 선택해 복호화 결과 확인 |
| Chosen Text | 평문+암호문 쌍을 임의로 선택해 실험 가능 (가장 강력한 공격 방식) |
5. 암호 시스템의 보안 수준 (Encryption Scheme Security)
| 보안 수준 | 설명 |
| Unconditionally secure | 이론적으로 아무리 시간이 지나도 해독 불가능 (예: One-Time Pad) |
| Computationally secure | 현실적으로 해독 불가능 (시간, 자원이 너무 많이 필요함) |
6. 치환 기법 (Substitution Technique)
- 평문의 글자를 다른 문자나 숫자로 대체하는 방식
- 컴퓨터에서는 비트 패턴 단위로 치환 가능
- 고대 암호의 기본: 단순하지만 분석에 취약
7. 시저 암호 (Caesar Cipher)

🔹 특징:
- 고대 로마의 율리우스 시저가 사용
- 알파벳을 3글자 뒤로 이동시킴
- 예: A → D, B → E, ..., Z → C
- 알파벳은 순환형 구조 (Z 다음은 A)
🔹 예시:
- Plaintext: meet me after the toga party
- Ciphertext: PHHW PH DIWHU WKH WRJD SDUWB
🔹 일반화된 수식:
▶ 암호화 (Encryption)
C=(P+k)mod 26C = (P + k) \mod 26
- P: 평문 문자 위치 (0~25)
- k: 이동할 거리 (시저에서는 보통 3)
- C: 암호문 문자 위치
▶ 복호화 (Decryption)
P=(C−k)mod 26P = (C - k) \mod 26
🔹 예시 정리:
- 알파벳: a → 0, b → 1, ..., z → 25
- E(‘a’,3)=(0+3)mod 26=3→‘d’
- D(‘d’,3)=(3−3)mod 26=0→‘a’
8. Monoalphabetic Cipher (단일 알파벳 치환 암호)

🔹 개념
- 각 알파벳을 무작위로 재배열한 키를 사용해서 문자 하나당 하나의 대응 문자로 암호화.
- 예:
- 원래: a b c d e f ... 암호: Z H K C J W ...
🔹 시저 암호와의 차이
- 시저 암호는 항상 일정한 간격으로 밀지만, 모노알파벳 암호는 규칙따위 없이 완전히 무작위 순열이 가능해서 훨씬 키 수가 많음.
🔹 보안 약점 (Frequency Analysis); 키 공간 크기
- 시저 암호 키 수: 26개
- 모노알파벳 암호 키 수: 26! = 약 4 × 10²⁶
- 즉, DES 키 공간보다 10배 이상 큼
- 모노알파벳 암호는 글자 간 비율을 그대로 유지하기 때문에, 빈도 분석으로 쉽게 해독 가능.
📍 예시:
- 영어에서 'E'가 가장 많이 쓰이는 문자
- 암호문에서도 가장 많이 나오는 문자가 'E'일 가능성이 높음
🔹 암호 분석 (빈도 기반)
| 용어 | 의미 |
| Digram | 두 글자 조합 (ex. "th") |
| Trigram | 세 글자 조합 (ex. "the") |
→ 이런 패턴을 활용하면 암호문 속 단어 유추 가능.
🔹 대응 기법 (Countermeasures)
영어에서 e, t, a, o 같은 글자가 가장 자주 나옴.
빈도 분석을 방지하기 위해 다음과 같은 기법을 사용할 수 있다:
- 다중 문자 블록 암호화 (chunk encryption): 여러 문자를 한 묶음(블록)으로 묶어서 한 번에 암호화하는 방식
- 동일 문자에 복수 치환자 부여 (Homophonic Substitution): ‘E’ → ‘X’ 또는 ‘Q’ 또는 ‘P’ 중 하나
9. Playfair Cipher (복수 문자 치환 암호)

🔹 핵심 개념:
- 2글자씩 짝지어(Digram) 암호화
- 5×5 매트릭스(키워드 기반) 사용
- 같은 글자 쌍은 I/J를 함께 사용: 5×5 매트릭스에 26자가 다 못 들어가기 때문
🔹 매트릭스 구성 예:
키워드: MONARCHY → 이후 키워드 제외한 알파벳순으로
M O N A R
C H Y B D
E F G I/J K
L P Q S T
U V W X Z
🔹 암호화 규칙:
- 같은 행이면 오른쪽 글자로 이동
- 같은 열이면 아래쪽 글자로 이동
- 서로 다른 행/열이면 직사각형 반대쪽 글자 사용
- ll 처럼 같은 글자가 연속되면 x를 끼워 넣어 분리→ digram 단위 암호화 수행
예: balloon → ba lx lo on → IB SU PM NA
🔹Playfair 암호 특징
- 단일 문자 암호보다 보안이 강함
- 문자 빈도 분석이 어려워짐 (digram 단위로 동작하기 때문에)
10. Figure 3.6: 빈도 감소도

📊 평문 vs 다양한 암호기법의 문자 사용 비율 시각화
- 평문은 특정 문자의 사용 빈도(e, t, a 등)가 매우 높음
- Playfair, Vigenère, Polyalphabetic 암호는 → 빈도를 고르게 퍼뜨려서 분석 어렵게 만듦
- 즉, 빈도 기반 해독(빈도 분석)에 대한 방어 수단
- 그래프:
- Plaintext는 특정 문자 빈도 급격히 높음
- Playfair는 약간 완화
- Vigenère는 더 평탄
- Random Polyalphabetic은 거의 균등 (완전한 보안은 아님, 그래도 해독 어려움)
11. Polyalphabetic Cipher (다중 알파벳 치환 암호)

🔸 기본 개념
- 단순 모노알파벳 암호의 약점을 보완한 방식
- 문장 전체를 암호화할 때, 위치에 따라 다른 치환 규칙 적용
- 같은 평문 문자라도 위치에 따라 다른 암호문으로 암호화될 수 있음
🔸 핵심 구성
- 여러 개의 서로 다른 모노알파벳 치환 규칙 세트 사용
- 키(Key)가 현재 어떤 규칙을 쓸지 결정
- 예: 키가 "LEMON"이면 문자마다 순서에 따라 L→E→M→O→N을 반복하며 다르게 치환
🔸 보안 효과
- 단일 알파벳 치환보다 빈도 분석을 어렵게 함
- 평문 통계가 암호문에 직접 반영되지 않아 보안성 향상
12. Vigenère Cipher (비즈네르 암호)

🔸구조:
- 26개의 시저 암호를 조합
- 키가 반복되며, 문자의 위치마다 키가 다르기 때문에 빈도 분석이 어려움
🔸예시:
키: deceptive deceptive deceptive
평문: we are discovered save yourself
암호문: ZICVTWQNGRZGVTWAVZHCQYGLMGJ
👉 문자의 위치마다 키 문자가 다르기 때문에, 빈도 분석이 매우 어려움!
🔸공격법 (Kasiski, Babbage 공격):
- 반복 패턴 찾아서 키 길이 추측
- 추정된 키 길이로 빈도 분석 수행 → 각 나눠진 부분은 시저 암호와 동일하므로 해독 가능
🔸Vigenère Autokey System
키워드 뒤에 평문을 붙여 런닝 키(running key) 생성 → 키 반복을 줄여 보안성 강화 시도
키: deceptivewearediscoveredsav
평문: wearediscoveredsaveyourself
- 더 긴 키로 보안을 높이려 했지만, 평문과 키가 같은 빈도 분포를 가지기 때문에 여전히 통계 공격에 취약함.
13. Vernam Cipher (1918, AT&T)

- 개념: 평문 비트와 키 비트를 XOR 연산 (⊕)으로 처리
- 암호화: ci = pi ⊕ ki
- 복호화: pi = ci ⊕ ki
- 조건: 키 스트림은 무작위여야 하며, 비트 단위 암호화
- 한계: 키 재사용 시 보안이 약해짐
14. One-Time Pad (OTP)

- 개념:
- Vernam 암호를 완벽하게 만든 형태
- 메시지 길이만큼 무작위 키 사용
- 키는 단 1회 사용 후 폐기
- 장점: 이론상 완벽한 보안 (Perfect Secrecy) 제공
- 단점:
- 키 생성 어려움: 랜덤 키를 대량 생성해야 함
- 키 분배 문제: 송수신자 모두 키를 안전하게 공유해야 함
- 실용성 낮음: 메시지마다 새 키 필요 → 실제 사용은 군사·극비 통신에 한정
15. Transposition Cipher (전치 암호)


1) Rail Fence Cipher (기초적인 전치 암호)
- 평문을 대각선으로 쓰고, 행 단위로 읽기
예시: meet me after the toga party
m e m a t r h t g p r y
e t e f e t e o a a t
암호문: MEMATRHTGPRYETEFETEOAAT
2) Row Transposition Cipher
- 행렬에 평문을 적고, 열의 순서를 키에 따라 뒤바꿔서 읽기
키: 4 3 1 2 5 6 7
읽는 순서가 실제 열 번호 3 → 4 → 2 → 1 → 5 → 6 → 7
평문:
a t t a c k p
o s t p o n e
d u n t i l t
w o a m x y z
암호문: TTNA APTM TSUO AODW COIX KNLY PETZ = TTNAAPTMTSUOAODWCOIXKNLYPETZ
- 여러 라운드 반복 적용도 가능 → 보안 증가
16. Rotor Machines (로터 기계)

- 암호 기계에서 여러 개의 회전 로터(rotor)를 사용
- 입력 알파벳이 여러 개의 치환을 순차적으로 거쳐 암호화됨
대표 예: Enigma (독일군 사용)
- 로터들이 입력마다 돌아가므로, 같은 문자도 계속 다른 암호문자로 바뀜
- 수천만 가지 키 조합 가능
17. Steganography (정보 은닉술)

- 정의: 메시지를 숨기는 기술 (존재 자체를 감춤)
- 방식: 문자 마킹, 보이지 않는 잉크, 이미지에 삽입, 빈 공간에 삽입 등
| 비교 | Steganography | Encryption |
| 목적 | 숨김 | 내용 보호 |
| 탐지 | 존재 자체를 모르게 함 | 존재는 드러남 |
| 예 | 비밀 편지, 그림, 숨겨진 텍스트 | 시저, RSA 등 |
| 단점 | 시스템이 알려지면 즉시 무력화됨 | 암호화는 여전히 복호화 어려움 |
🔚 요약 정리
🔸암호기법
| 기술 | 특징 | 보안성 |
| Vigenère | 반복되는 시저 암호 | 약함 (빈도 분석) |
| Vigenère Autokey | 키에 평문 추가 | 여전히 취약 |
| Vernam | 키 비트와 평문 XOR | 무작위 키 필요 |
| One-Time Pad | 완벽 보안 | 실용성 낮음 |
| Rail Fence | 대각선 → 행순 읽기 | 간단한 전치 |
| Row Transposition | 행렬 작성 후 열순 정렬 | 복잡도↑ |
| Rotor Machine | 로터 회전 구조 | 실전 활용 |
| Steganography | 메시지 숨김 | 발견 시 무력화 |
🔸개념 요약
| 항목 | 설명 |
| 시저 암호 | 일정 간격으로 문자 이동, 브루트포스로 깨기 쉬움 |
| 모노알파벳 암호 | 문자마다 대응을 무작위로 지정 (키 공간 큼) |
| 빈도 분석 공격 | 영어의 빈도 특성을 이용해 암호문 분석 |
| Playfair 암호 | 2글자 단위로 암호화, 빈도 퍼짐 |
| Polyalphabetic | 다수의 치환 규칙 사용, 빈도 분석 방어 |
| Vigenère 암호 | 대표적 Polyalphabetic, 키워드 반복으로 암호화 |
Classical Encryption Techniques
├── Substitution Ciphers (치환 암호)
│ ├── Monoalphabetic
│ │ ├── Simple Monoalphabetic
│ │ ├── Playfair Cipher
│ │ └── Polyalphabetic
│ │ ├── Vigenère Cipher
│ │ ├── Vigenère Autokey
│ │ └── One-Time Pad
│ └── Rotor Machines
├── Transposition Ciphers (전치 암호)
│ ├── Rail Fence Cipher
│ └── Row Transposition Cipher
└── Steganography'컴퓨터 보안' 카테고리의 다른 글
| 6장-AES (0) | 2025.04.22 |
|---|---|
| 5장-Finite Fields and Polynomial Operation (0) | 2025.04.16 |
| 4장-Block Ciphers & DES (1) | 2025.04.13 |
| 2장-정수론 (0) | 2025.04.11 |
| 1장 (0) | 2025.04.09 |