📚 FileVault - Tài liệu Thuật toán Mật mã¶
Tài liệu chi tiết về tất cả các thuật toán mật mã được sử dụng trong FileVault.
Dành cho học tập, nghiên cứu và phát triển.
📖 Mục lục¶
🔐 Symmetric - Mã hóa Đối xứng¶
Thuật toán sử dụng cùng một khóa cho cả mã hóa và giải mã.
| Thuật toán | Loại | Bảo mật | File |
|---|---|---|---|
| AES-GCM | AEAD | ⭐⭐⭐ Maximum | aes-gcm.md |
| AES-CBC | Block | ⭐⭐ Strong | aes-cbc.md |
| AES-CTR | Stream | ⭐⭐ Strong | aes-ctr.md |
| AES-XTS | Disk | ⭐⭐⭐ Maximum | aes-xts.md |
| ChaCha20-Poly1305 | AEAD | ⭐⭐⭐ Maximum | chacha20-poly1305.md |
| Serpent-GCM | AEAD | ⭐⭐⭐ Maximum | serpent-gcm.md |
| Twofish-GCM | AEAD | ⭐⭐⭐ Maximum | twofish-gcm.md |
| Camellia-GCM | AEAD | ⭐⭐⭐ Maximum | camellia-gcm.md |
| ARIA-GCM | AEAD | ⭐⭐⭐ Maximum | aria-gcm.md |
| SM4-GCM | AEAD | ⭐⭐ Strong | sm4-gcm.md |
| 3DES | Block | ⚠️ Legacy | triple-des.md |
🔑 Asymmetric - Mã hóa Bất đối xứng¶
Thuật toán sử dụng cặp khóa public/private.
| Thuật toán | Loại | Bảo mật | File |
|---|---|---|---|
| RSA-OAEP | Encryption | ⭐⭐⭐ Maximum | rsa.md |
| ECC (ECDH) | Key Exchange | ⭐⭐⭐ Maximum | ecc.md |
🛡️ PQC - Post-Quantum Cryptography¶
Thuật toán chống lại máy tính lượng tử (NIST Selected).
| Thuật toán | Loại | NIST Level | File |
|---|---|---|---|
| Kyber (ML-KEM) | KEM | Level 1-5 | kyber.md |
| Dilithium (ML-DSA) | Signature | Level 2-5 | dilithium.md |
📚 Classical - Mật mã Cổ điển¶
Thuật toán giáo dục - KHÔNG an toàn cho sử dụng thực tế!
| Thuật toán | Loại | File |
|---|---|---|
| Caesar | Shift | caesar.md |
| Vigenère | Polyalphabetic | vigenere.md |
| Playfair | Digraph | playfair.md |
| Hill | Matrix | hill.md |
| Substitution | Monoalphabetic | substitution.md |
🔒 KDF - Key Derivation Functions¶
Hàm dẫn xuất khóa từ mật khẩu.
| Thuật toán | Loại | File |
|---|---|---|
| Argon2id | Memory-hard | argon2.md |
| PBKDF2 | Standard | pbkdf2.md |
| HKDF | Expand | hkdf.md |
#️⃣ Hash - Hàm băm¶
| Thuật toán | Output | File |
|---|---|---|
| SHA-256/512 | 256/512-bit | sha2.md |
| SHA3 | 256/512-bit | sha3.md |
| BLAKE2 | Variable | blake2.md |
🎯 Cách đọc tài liệu¶
Mỗi file thuật toán có cấu trúc:
- Tóm tắt - Giới thiệu ngắn gọn
- Lý thuyết - Nền tảng toán học
- Cách hoạt động - Step-by-step với diagram
- Cấu trúc dữ liệu - Key size, IV, block size
- Implement trong FileVault - Code thực tế
- Lỗ hổng & Mitigation - Bảo mật
- Test Vectors - Kiểm tra tính đúng đắn
- Ví dụ sử dụng - CLI commands
- Tham khảo - Links, RFCs
🔧 Build & Test¶
| Bash | |
|---|---|
📊 So sánh nhanh¶
AEAD Algorithms (Khuyến nghị cho mã hóa file)¶
Security Comparison¶
| Text Only | |
|---|---|
FileVault - Learn cryptography by doing! 🔐