Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> An Ninh Mạng

Diffusion (Sự khuếch tán) trong mật mã học & An ninh mạng

Diffusion (Sự khuếch tán) là gì?

Trong mật mã học (Cryptography), Diffusion là đặc tính: một thay đổi nhỏ ở plaintext (bản rõ) hoặc key làm thay đổi nhiều bit ở ciphertext (bản mã). Mục đích: làm rải rác sự thống kê của plaintext ra toàn bộ ciphertext, khiến kẻ tấn công không thể suy ra plaintext/key từ phân tích thống kê ciphertext.

Diffusion vs Confusion (Sự nhầm lẫn) – Cặp song sinh của Shannon

Thuộc tínhDiffusion (Khuếch tán)Confusion (Nhầm lẫn)
Mục tiêuLàm rải rác cấu trúc thống kê plaintextLàm phức tạp mối quan hệ Key ↔ Ciphertext
Thao tácHoán vị (Permutation), Trộn bit/byte, Matrix multiplicationThay thế (Substitution), S-box, XOR với key schedule
Hiệu ứng1 bit plaintext đổi → nhiều bit ciphertext đổi (Avalanche Effect)1 bit key đổi → nhiều bit ciphertext đổi
Ví dụ thuật toánShiftRows + MixColumns (AES), P-box (DES), Bit permutationSubBytes (AES S-box), S-box (DES), Key XOR

Diffusion trong AES (Advanced Encryption Standard)

AES đạt Diffusion tối ưu (Optimal Diffusion) nhờ 2 bước trong mỗi round:

  1. ShiftRows: Dịch vòng các hàng trong ma trận State 4x4 byte – lan truyền byte theo cột.
  2. MixColumns: Nhân ma trận State với ma trận MDS (Maximum Distance Separable) cố định trên Galois Field GF(2⁸).

Branch Number = 5 (tối đa cho ma trận 4x4) → 1 byte input đổi → ít nhất 4 byte output đổi (tổng 5). Sau 2 round: diffusion toàn bộ 16 byte (128-bit block).

Diffusion trong DES / 3DES

  • Initial Permutation (IP) & Final Permutation (FP): Hoán vị bit cố định – diffusion yếu.
  • Expansion Permutation (E-box): Mở rộng 32-bit → 48-bit – lan truyền bit.
  • P-box (Permutation Box) sau S-box: Hoán vị 32-bit – diffusion chính.
  • Cần 16 rounds để đạt diffusion tốt (AES chỉ cần 2-3 rounds).

Product Cipher (Mật mã tích) = Confusion + Diffusion

Claude Shannon (1949) chứng minh: Mật mã an toàn = xen kẽ Substitution (Confusion) + Permutation (Diffusion) qua nhiều Round.

  • Substitution (S-box) → Confusion.
  • Permutation (P-box, MixColumns, ShiftRows) → Diffusion.
  • Key Schedule → đưa key vào mỗi round.

Tiêu chuẩn Strict Avalanche Criterion (SAC): Đảo 1 bit input → mỗi bit output đổi với xác suất 50%.

Độ tối ưu Diffusion (Diffusion Optimality)

  • Đo lường bằng Branch Number của ma trận tuyến tính (MixColumns).
  • MDS Matrix → Branch Number tối đa = n+1 (với ma trận n×n). AES 4x4 → Branch Number = 5 (tối ưu).
  • Phần cm (Hardware): MixColumns dùng lookup table / composite field arithmetic – nhanh, chống side-channel.
  • Phần mềm (Software): T-table (Pre-computed) hoặc bit-sliced implementation.

Ứng dụng ngoài Block Cipher

  • Hash Function (SHA-2, SHA-3, BLAKE): Compression function dùng diffusion (message expansion, permutation) để avalanche effect.
  • Stream Cipher (ChaCha20): Quarter-round (ARX: Add-Rotate-XOR) cung cấp diffusion nhanh trên 512-bit state.
  • KDF (HKDF, PBKDF2, Argon2): Diffusion key material qua nhiều iteration.
  • TLS/SSL Record Layer: AEAD (AES-GCM, ChaCha20-Poly1305) kết hợp diffusion (AES/ChaCha) + integrity (GMAC/Poly1305).

Tóm tắt

Diffusion làm cho mỗi bit ciphertext phụ thuộc vào nhiều bit plaintext/key. Là yếu tố then chốt tạo ra Avalanche Effect, chống phân tích tuyến tính & vi phân. AES đạt diffusion tối ưu nhờ MDS Matrix trong MixColumns. Thiết kế cipher hiện đại luôn cân bằng Confusion + Diffusion qua nhiều round.