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

Kỹ thuật Playfair Cipher trong An ninh Thông tin

Playfair Cipher là mật mã thay thế digraph (cặp ký tự) do Charles Wheatstone phát minh (1854), phổ biến nhờ Lord Playfair. Sử dụng ma trận 5×5 chứa 25 chữ cái (thường gộp I/J).

Thiết lập khóa (Key Square)

  1. Loại bỏ trùng lặp từ khóa (ví dụ: "MONARCHY" → M O N A R C H Y).
  2. Điền tiếp các chữ cái còn lại theo thứ tự bảng chữ cái (bỏ I/J).
  3. Ma trận 5×5 kết quả dùng cho mã hóa/giải mã.

Quy tắc mã hóa Digraph

Chia plaintext thành cặp (digraph). Nếu cặp trùng ký tự → chèn 'X' (filler). Nếu lẻ → thêm 'X' cuối.

Với digraph (A, B) tại vị trí (r₁,c₁), (r₂,c₂):

  • Cùng hàng: Thay bằng ký tự bên phải (xoay vòng) → (r₁,c₁+1), (r₂,c₂+1).
  • Cùng cột: Thay bằng ký tự bên dưới (xoay vòng) → (r₁+1,c₁), (r₂+1,c₂).
  • Khác hàng/cột (hình chữ nhật): Đổi cột cho nhau → (r₁,c₂), (r₂,c₁).

Giải mã

Ngược lại: cùng hàng → bên trái; cùng cột → bên trên; hình chữ nhật → đổi cột.

Tấn công và Điểm yếu

  • Known-plaintext attack: Với ~50-100 digraph known, có thể khôi phục ma trận khóa.
  • Frequency analysis digraph: Tiếng Anh: TH, HE, AN, RE... thường xuất hiện. Ciphertext giữ pattern digraph.
  • Đối xứng digraph ngược: AB ↔ BA cho cùng cặp ciphertext (trừ cùng hàng/cột). Lộ cấu trúc.
  • Không có chữ cái kép trong ciphertext: Do quy tắc chèn X, ciphertext không bao giờ có AA, BB... — giảm entropy.
  • Brute-force key space: 25! ≈ 2⁸³ nhưng cấu trúc ma trận giảm mạnh; hill-climbing / simulated annealing phá vỡ nhanh.

Đánh giá hiện đại

Playfair là mật mã cổ điển, chỉ giá trị lịch sử/giáo dục. Không an toàn cho bất kỳ ứng dụng thực tế nào. Thay thế bằng AES-GCM, ChaCha20-Poly1305.