Mật Mã Vigenère – Wikipedia Tiếng Việt
Có thể bạn quan tâm
Bài viết này cần thêm liên kết tới các bài bách khoa khác để trở thành một phần của bách khoa toàn thư trực tuyến Wikipedia. Xin hãy giúp cải thiện bài viết này bằng cách thêm các liên kết có liên quan đến ngữ cảnh trong văn bản hiện tại. (tháng 11 năm 2016) |
Bài viết này cần thêm chú thích nguồn gốc để kiểm chứng thông tin. Mời bạn giúp hoàn thiện bài viết này bằng cách bổ sung chú thích tới các nguồn đáng tin cậy. Các nội dung không có nguồn có thể bị nghi ngờ và xóa bỏ. |
Mật mã Vigenère là một phương pháp mã hóa văn bản bằng cách sử dụng xen kẽ một số phép mã hóa Caesar khác nhau dựa trên các chữ cái của một từ khóa. Nó là một dạng đơn giản của mật mã thay thế dùng nhiều bảng chữ cái.
Lịch sử
[sửa | sửa mã nguồn]Mô tả
[sửa | sửa mã nguồn]Trong phép mã hóa Caesar, mỗi ký tự của bảng chữ cái được dịch đi một khoảng nhất định, ví dụ với bước dịch là 3, A trở thành D, B trở thành E... Mật mã Vigenère là sự kết hợp xen kẽ vài phép mã hóa Caesar với các bước dịch khác nhau.
Để mã hóa, ta dùng một hình vuông Vigenère (hình bên). Nó gồm 26 hàng, mỗi hàng dịch về bên trái một bước so với hàng phía trên, tạo thành 26 bảng mã Caesar. Trong quá trình mã hóa, tùy theo từ khóa mà mỗi thời điểm ta dùng một dòng khác nhau để mã hóa văn bản.
Ví dụ, ta có văn bản cần mã hóa như sau:
ATTACKATDAWNNgười gửi lựa chọn một từ khóa và viết nó lặp lại nhiều lần trên một dòng đến khi số chữ cái trên dòng bằng số chữ cái trong thông điệp, với từ khóa "LEMON" thì:
LEMONLEMONLEChữ cái đầu tiên của văn bản, A, được mã hóa bằng bảng bắt đầu với L (chữ cái đầu tiên của từ khóa). Nó sẽ được mã hóa thành chữ cái trên dòng L và cột A của hình vuông Vigenère, đó là chữ L. Tương tự như vậy, chữ cái thứ hai của văn bản sẽ được mã hóa bằng chữ cái thứ hai của từ khóa: chữ trên dòng E và cột T là X. Sau đây là bản mã:
Văn bản: | ATTACKATDAWN |
Từ khóa: | LEMONLEMONLE |
Bản mã: | LXFOPVEFRNHR |
Cách giải mã Vigenère
[sửa | sửa mã nguồn]Trước hết, ngoài mật mã thì ta còn cần từ khóa (lấy ví dụ như trên). Đầu tiên, ta lấy chữ cái đầu tiên của từ khóa (ở đây là chữ cái L), sau đó tìm chữ cái đó ở hàng ngang đầu tiên của bảng mã. Từ chữ cái tìm được, ta dóng xuống chữ cái cùng thứ tự của mã (ở đây là chữ cái L). Rồi ta di chuyển tới chữ cái tương ứng ở cột dọc đầu tiên từ trái sang phải. Dần dần ta sẽ giải hết mật mã.
Tham khảo
[sửa | sửa mã nguồn]Từ khóa » Code Hệ Mã Vigenere
-
Mã Hoá Vigenère - KienDT
-
[Online] Dịch Và Mã Hóa Vigenère
-
Code C#: Mã Hóa Cổ điển Vigenere (Vigenere Cipher) - Thongtinchiase
-
Mã Hóa Cổ điển - Mã Hóa Vigenere - YouTube
-
[Crypto] 06 – Mã Vigenere - Nhat Truong Blog
-
Vigenere Encryption - Programming - Dạy Nhau Học
-
Thám Mật Mã Vigenère - Tạp Chí An Toàn Thông Tin
-
Các Hướng Dẫn Mã Hóa Mật Mã Vigenère Cipher Và Playfair ...
-
Vigenere Cipher In C And C++ - The Crazy Programmer
-
Bài Tập Giải Mã Vigenère - Thả Rông
-
Slide Lập Trình Hệ Mật Vigenere ( đính Kèm Source Code) - 123doc
-
Nhờ Giúp Về Giải Thuật Giải Mã Vigenere [Archive] - Diễn Đàn Tin Học
-
Phân Tích Hệ Thám Mã Vigenere