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

Confusion (Gây nhiễu loạn) trong An ninh Thông tin

Confusion (Gây nhiễu loạn) là nguyên tắc thiết kế mật mã (Claude Shannon, 1949) làm cho mối quan hệ giữa Khóa (Key) và Ciphertext trở nên phức tạp, không thể suy diễn tuyến tính hoặc đại số đơn giản. Mục tiêu: Kẻ tấn công không thể khôi phục khóa ngay cả khi có nhiều cặp plaintext-ciphertext.

Định nghĩa chính thức

Một cipher có confusion tốt nếu:

  • Mỗi bit ciphertext phụ thuộc phức tạp (phi tuyến) vào nhiều bit khóa.
  • Thay đổi 1 bit khóa → sự thay đổi lan tỏa, không đoán trước được trên nhiều bit ciphertext (avalanche effect wrt key).
  • Không tồn tại xấp xỉ tuyến tính/đại số đơn giản liên kết Key, Plaintext, Ciphertext.

Cách đạt được Confusion

Kỹ thuậtCơ chếVí dụ
S-box (Substitution Box)Lookup table phi tuyến: n-bit in → m-bit out. Non-linearity cao, low differential uniformity.AES SubBytes (x⁻¹+affine), DES 8 S-box (6→4), PRESENT 4-bit S-box
Modular AdditionCộng modulo 2ⁿ (n=32/64). Non-linear wrt XOR do carry propagation.ChaCha20 (ARX), IDEA, RC5/RC6, BLAKE2/3
Data-dependent RotationSố bit rotate phụ thuộc giá trị dữ liệu/khóa.RC5, RC6
Key-dependent S-boxS-box thay đổi theo khóa.Twofish, Khufu
Finite Field Inversionx ↦ x⁻¹ trên GF(2ⁿ) — mạnh nhất phi tuyến.AES, Camellia, SHARK, Square

Đặc tính S-box tốt (Cho Confusion)

  1. High Non-linearity: Khoảng cách Hamming đến mọi hàm tuyến tính / affine lớn nhất có thể. (AES 8-bit: 112 — tối đa).
  2. Low Differential Uniformity: Max #{x: S(x)⊕S(x⊕Δin)=Δout} nhỏ. APN (Almost Perfect Nonlinear) = 2 (tối đa cho even n). AES: 4.
  3. SAC (Strict Avalanche Criterion): Flip 1 input bit → mỗi output bit flip với prob ½.
  4. BIC (Bit Independence Criterion): Output bit changes pairwise independent.
  5. No Fixed Points: S(x) ≠ x ∀x. No Opposite Fixed Points: S(x) ≠ x̅.
  6. Algebraic Degree cao: Đa thức biểu diễn S-box bậc cao (AES: degree 7/8).

Ví dụ: AES SubBytes — Confusion Gold Standard

S-box(x) = Affine( x⁻¹ in GF(2⁸) )   # x=0 → 0
# Non-linearity = 112 (max for 8-bit)
# Differential uniformity = 4 (max 4 solutions for S(x)⊕S(x⊕a)=b)
# Algebraic degree = 7
# No fixed points, no opposite fixed points
# SAC, BIC satisfied

Confusion trong các cipher hiện đại

CipherConfusion MechanismĐặc điểm
AESSubBytes (S-box x⁻¹+affine)Math-based, constant-time với AES-NI/bitslice
ChaCha20ARX: Add mod 2³² (carry = non-linear)Không table, constant-time tự nhiên, side-channel resistant
TwofishKey-dependent S-box (pre-computed)Key-dependent confusion, chậm key setup
CamelliaS-box 8→8 (affine + inversion-like)Feistel, FL/FL⁻¹ layer bổ sung
SM4 (China)S-box 8→8 (affine + power map)Feistel 32 vòng, S-box tương tự AES nhưng khác

Tấn công nhắm vào Confusion

  • Linear Cryptanalysis: Tìm xấp xỉ tuyến tính cho S-box/F-function → suy ra key bits. Phòng: S-box low linear bias, many rounds, good diffusion.
  • Differential Cryptanalysis: Tìm differential characteristic high prob qua S-box. Phòng: Low differential uniformity.
  • Algebraic Attack / Gröbner Basis: Mô hình cipher bằng hệ phương trình đa thức. Phòng: High algebraic degree, many rounds.
  • Side-channel (Timing, Cache, Power): Khai thác leakage khi truy xuất S-box table. Phòng: Constant-time, bitslicing, AES-NI, masking.
  • Related-Key Attack: Khai thác key schedule yếu → confusion yếu giữa round keys. Phòng: Strong key schedule (AES-128 tốt, AES-256 yếu hơn).

Kết luận

Confusion là yếu tố bắt buộc khiến ciphertext không tiết lộ thông tin khóa. Không có confusion → cipher tuyến tính → phá vỡ trivially. Thiết kế hiện đại: S-box math-based (AES) hoặc ARX (ChaCha20) + diffusion mạnh + key schedule tốt + số vòng đủ margin. Luôn verify confusion properties (LAT, DDT, algebraic degree) khi thiết kế/chọn cipher.