Bài 5: Vigenère Cipher

⏱️ Thời gian: ~25 phút ⭐ Độ khó: Trung bình 📚 Module 2: Mã hóa Cổ điển

📖 Lý thuyết

Lịch sử

Vigenère Cipher là một phương pháp mã hóa đa bảng chữ cái (polyalphabetic), được đặt tên theo Blaise de Vigenère, mặc dù thực tế được mô tả lần đầu bởi Giovan Battista Bellaso vào năm 1553.

Cách hoạt động

Khác với Caesar Cipher chỉ sử dụng một shift cố định, Vigenère Cipher sử dụng một key phrase (cụm từ khóa) để tạo ra một key stream (dòng khóa lặp lại). Mỗi chữ cái trong plaintext được mã hóa bằng một Caesar Cipher khác nhau tùy thuộc vào chữ cái tương ứng trong key stream.

Ví dụ:
Plaintext: ATTACKATDAWN
Key: LEMONLEMONLE
Ciphertext: LXFOPVEFRNHR

Chữ A đầu tiên (vị trí 0) được mã hóa với shift L (11) → L
Chữ T đầu tiên (vị trí 1) được mã hóa với shift E (4) → X

Vigenère Table

Vigenère Table là một bảng 26x26 chữ cái, mỗi hàng là một Caesar Cipher với shift khác nhau. Để mã hóa, tìm giao điểm của hàng (plaintext) và cột (key).

Ưu điểm so với Caesar Cipher

Kasiski Examination

Mặc dù an toàn hơn Caesar, Vigenère vẫn có thể bị phá bằng Kasiski Examination - một kỹ thuật tìm độ dài key bằng cách tìm các chuỗi lặp lại trong ciphertext.

🎮 Thử nghiệm

Plain Text

Key Phrase

Key Stream

Cypher Text

Encryption System

Plain Letter

Encrypts To

Key Stream Letter Cyphertext Alphabet

Frequency Analysis

Plain Text

Cypher Text

📝 Kiểm tra kiến thức

🎯 Thử thách

Hoàn thành các thử thách sau: