# Mật mã học: Các khái niệm cơ bản đến nâng cao

## Các khái niệm mật mã cơ bản

### 1. Thuật ngữ
- **Plaintext**: Thông điệp có thể đọc được gốc
- **Ciphertext**: Thông điệp đã được mã hóa
- **Encryption**: Quy trình chuyển đổi plaintext thành ciphertext
- **Decryption**: Quy trình chuyển đổi ciphertext trở lại thành plaintext
- **Key**: Giá trị bí mật được sử dụng để mã hóa/giải mã thông điệp

### 2. Các mật mã cổ điển
- **Caesar Cipher**: Dịch chuyển các chữ cái theo một số cố định
- **Substitution Cipher**: Thay thế mỗi chữ cái bằng một chữ cái khác
- **Vigenère Cipher**: Sử dụng từ khóa cho sự thay thế đa chữ cái

### 3. Mật mã đối xứng
- **Chìa khóa đơn** cho cả mã hóa và giải mã
- Ví dụ: AES (Tiêu chuẩn mã hóa nâng cao), DES, 3DES
- Nhanh nhưng yêu cầu trao đổi chìa khóa an toàn

## Các khái niệm trung cấp

### 1. Mật mã không đối xứng
- **Cặp chìa khóa công khai / riêng tư**
- Chìa khóa công khai mã hóa, chìa khóa riêng tư giải mã (hoặc ngược lại)
- Ví dụ: RSA, ECC (Mật mã đường elip)
- Giải quyết vấn đề phân phối chìa khóa

### 2. Hàm băm
- Hàm một chiều tạo ra đầu ra có kích thước cố định
- Ví dụ: SHA-256, MD5 (không an toàn), SHA-3
- Được sử dụng cho tính toàn vẹn dữ liệu, lưu trữ mật khẩu

### 3. Chữ ký số
- Chứng minh tính xác thực và toàn vẹn của thông điệp
- Được tạo ra bằng cách mã hóa băm với chìa khóa riêng tư
- Được xác minh bằng chìa khóa công khai

## Mật mã nâng cao

### 1. Giao thức mật mã
- **SSL/TLS**: Giao tiếp web an toàn
- **PGP/GPG**: Mã hóa email
- **SSH**: Truy cập từ xa an toàn

### 2. Thuật toán hiện đại
- **Mật mã sau lượng tử**: Kháng lại máy tính lượng tử (Dựa trên lưới, Dựa trên băm)
- **Mã hóa đồng nhất**: Tính toán trên dữ liệu đã được mã hóa
- **Chứng minh không kiến thức**: Chứng minh kiến thức mà không tiết lộ thông tin

### 3. Phân tích mật mã
- Kỹ thuật để phá vỡ hệ thống mật mã
- Tấn công kênh bên
- Phân tích mật mã phân biệt/tuyến tính
- Tấn công sinh nhật trên các hàm băm

### 4. Quản lý chìa khóa
- Hàm phát sinh chìa khóa (PBKDF2, bcrypt, scrypt)
- Mô-đun bảo mật phần cứng (HSMs)
- Chính sách xoay vòng chìa khóa