Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình

Các kỹ thuật Mã hóa Dữ liệu (Data Encryption Techniques)

Bài viết tổng hợp các kỹ thuật/ thuật toán mã hóa dữ liệu chính, từ lịch sử đến hiện đại, với đánh giá trạng thái 2024.

1. Đối xứng (Symmetric Encryption)

Thuật toánNămBlock/KeyĐặc điểmTrạng thái 2024
DES197764-bit / 56-bitFeistel 16 vòng, S-box 6→4, IP/FP. Key yếu, block nhỏ.Cấm (broken, deprecated)
3DES / TDEA199864-bit / 112/168-bit3 lần DES (EDE). 3-key: 112-bit security. Chậm, block 64-bit (birthday bound).Deprecated NIST 2023, chỉ legacy
AES (Rijndael)2001128-bit / 128,192,256-bitSPN, 10/12/14 vòng, S-box 8→8 (x⁻¹+affine), MixColumns MDS, ShiftRows. AES-NI hardware.Tiêu chuẩn vàng #1
Twofish1998128-bit / 256-bitFeistel-like, key-dependent S-box, MDS, 16 vòng. Không patent. AES finalist.An toàn, ít dùng (AES thắng)
Camellia2000128-bit / 128,192,256-bitFeistel 18/24 vòng, S-box 8→8, FL/FL⁻¹ layer. ISO/IEC 18033-3. Nhật/Ảo.An toàn, tùy chọn TLS
ChaCha202008Stream / 256-bit keyARX (Add-Rotate-XOR), 20 vòng, 512-bit state. Không S-box, constant-time tự nhiên.Tiêu chuẩn #2 (TLS 1.3, WireGuard)

2. Bất đối xứng (Asymmetric / Public-Key Encryption)

Thuật toánCơ sở toán họcKey SizeDùng choTrạng thái 2024
RSAInteger Factorization2048/3072/4096-bitKEM (OAEP), Signature (PSS), CertVẫn dùng rộng, chậm, key lớn
ECDH / ECIESElliptic Curve DLPP-256, P-384, Curve25519Key agreement, Hybrid encryptionTiêu chuẩn hiện tại
X25519 (ECDH Curve25519)Montgomery Curve256-bitKey exchange (TLS 1.3, Signal, WireGuard)Khuyên dùng #1 ECC
Kyber (ML-KEM)Module-LWE (Lattice)768 (NIST Level 3)Post-Quantum KEMNIST PQC Standard 2024

3. Hybrid Encryption (Kết hợp) — Mô hình thực tế

# HPKE (RFC 9180) - Hybrid Public Key Encryption
KEM:  X25519 / Kyber768 / X25519Kyber768 (hybrid)
KDF:  HKDF-SHA256
AEAD: AES-256-GCM / ChaCha20-Poly1305

# TLS 1.3 Handshake
ECDHE (X25519) → Shared Secret → HKDF → Traffic Keys (AES-GCM/ChaCha20-Poly1305)

4. Chế độ mã hóa (Modes) — Quan trọng như thuật toán

  • AEAD (Authenticated Encryption with Associated Data) — BẮT BUỘC: AES-GCM, ChaCha20-Poly1305, AES-CCM, AES-OCB, XChaCha20-Poly1305.
  • Disk Encryption: AES-XTS (IEEE 1619) — tweakable, random access, no expansion.
  • Cấm: ECB, CBC không MAC, CTR không MAC, OFB, CFB, RC4, DES, 3DES (cho mới).

5. SSL/TLS & End-to-End Encryption

  • TLS 1.3: Chỉ hỗ trợ AEAD (AES-GCM, ChaCha20-Poly1305). Forward secrecy bắt buộc (ECDHE). 0-RTT có rủi ro replay.
  • E2EE (End-to-End Encryption): Chỉ sender/recipient có khóa (Signal Double Ratchet, MLS, PGP, age, rage). Provider không giải mã được.

6. Lựa chọn khuyến nghị (Decision Matrix 2024)

Use Case                    | Recommended
----------------------------|--------------------------------------
General data encryption     | AES-256-GCM (HW) / ChaCha20-Poly1305 (SW) / XChaCha20-Poly1305
Disk / Database encryption  | AES-256-XTS + integrity layer (dm-verity/fsverity)
Key exchange (classical)    | X25519 (ECDHE)
Key exchange (PQC hybrid)   | X25519Kyber768 (hybrid KEM)
Digital signature           | Ed25519 (classical) / Dilithium-3 (PQC hybrid)
Password hashing            | Argon2id (t=3, m=64MB, p=4) / bcrypt(cost=12)
File integrity / checksum   | SHA-256 (crypto) / xxHash / BLAKE3 (non-crypto speed)

Thư viện an toàn: libsodium, Tink (Google), OpenSSL 3.0+, BoringSSL, AWS-LC, ring (Rust), Go crypto, .NET System.Security.Cryptography.