Crypto

Mật mã là chủ đề đầy thú vị và cũng là kiến thức quan trọng cho bất kỳ ai muốn phát triển trong lĩnh vực An toàn thông tin.

Loạt bài viết này sẽ giới thiệu đến bạn đọc các loại mật mã từ dễ đến khó, cách thức cài đặt mã hóa và giải mã cụ thể bằng ngôn ngữ lập trình Python. Chủ đề này được xem là khá khoai, nên tôi sẽ cố gắng dùng từ ngữ dễ hiểu nhất, kèm theo các ví dụ, đoạn code mẫu để bạn đọc nắm được bản chất cũng như cách sử dụng của các phương pháp mã hóa thường dùng.

Để nắm bắt được toàn bộ nội dung trong series một cách dễ dàng, bạn đọc được khuyến khích đọc các bài viết theo thứ tự sau (các bài viết không được đánh số là các bài viết bổ trợ, bên lề để series được liền mạch):

1. Tổng quan các loại mật mã.

2. Mã Caesar.

->  Kiểm tra đoạn văn bản có phải Tiếng Anh không

3. Mã Affine.

4. Mã thay thế (Phần 1).

5. Mã thay thế (Phần 2).

->  Kết hợp phân tích mẫu từ và phân tích tần suất để giải mã loại mã thay thế

6. Mã Vigenere.


Series có tham khảo kiến thức từ nhiều nguồn cả trong sách và trên internet. Trong đó 3 quyển sách mà tôi rất thích và được trích dẫn vào series là:

  1. Mật mã – Từ cổ điển đến lượng tử, của tác giả Simon Singh.
  2. Lý thuyết mật mã và an toàn thông tin, giáo trình bộ môn An toàn thông tin của Đại học quốc gia Hà nội.
  3. Hacking secret cipher with Python, của Al Sweigart.

Bản ebook của các quyển sách này có thể dễ dàng tìm được trên internet.