Tổng quan về giáo trình

Giáo trình Bảo mật thông tin là tài liệu học tập được biên soạn theo khung chương trình đào tạo ngành Công nghệ thông tin ở bậc đại học và sau đại học. Trong chương trình đào tạo kỹ sư và cử nhân công nghệ, học phần này giữ vị trí môn học cơ sở chuyên ngành cốt lõi, cung cấp cơ sở lý thuyết toán học và các giải thuật kỹ thuật nền tảng nhằm bảo đảm tính an toàn, bảo mật và toàn vẹn của dữ liệu trong các hệ thống tính toán và truyền thông mạng.

Mục tiêu học tập của giáo trình tập trung vào việc trang bị cho người học hệ thống kiến thức toàn diện về mật mã học (cryptology), bao gồm hai phân ngành chính: mật mã hóa (cryptography) và thám mã (cryptanalysis). Người học được rèn luyện phương pháp luận hình thức hóa các bài toán an toàn thông tin, nắm bắt cấu trúc toán học của các hệ mật mã cổ điển và hiện đại, hiểu rõ cơ chế vận hành của chuẩn mã hóa đối xứng, mật mã khóa công khai, hàm băm và chữ ký điện tử.

Cấu trúc giáo trình gồm 5 chương được tổ chức theo tiến trình phát triển của lý thuyết mật mã:

  • Chương 1: Giới thiệu chung về mật mã
  • Chương 2: Mật mã cổ điển
  • Chương 3: Chuẩn mã dữ liệu
  • Chương 4: Các hệ mật mã khoá công khai
  • Chương 5: Chữ ký điện tử hàm Hash và phân phối khoá

Cách tiếp cận của tài liệu dựa trên nền tảng toán học giải tích kết hợp mô hình hóa thuật toán. Nội dung giáo trình được biên soạn dựa trên cơ sở cuốn chuyên khảo "Cryptography: Theory and Practice" của tác giả Douglas Stinson (bản dịch của Nguyễn Bình). Điểm đặc sắc của giáo trình là sự gắn kết chặt chẽ giữa định nghĩa hình thức, chứng minh toán học (đại số modulo, lý thuyết nhóm, vành, ma trận) với các bài toán tính toán cụ thể và phương pháp thám mã thực nghiệm tương ứng.


Nội dung kiến thức cốt lõi

[Chương 1: Khung lý thuyết & Mô hình an toàn (P, C, K, E, D)]
[Chương 2: Cơ sở số học Z_m & Các hệ mật mã cổ điển / Thám mã]
[Chương 3: Chuẩn mã dữ liệu đối xứng (DES, Mạng Feistel, IDEA)]
[Chương 4: Mật mã khóa công khai & Bài toán NP (RSA, Rabin, ElGamal)]
[Chương 5: Hàm Hash, Chữ ký số & Giao thức thỏa thuận khóa]

Các chương/chủ đề chính

  • Chương 1: Giới thiệu chung về mật mã
    Trình bày lược sử phân kỳ mật mã học: giai đoạn cổ điển (trước năm 1949) và giai đoạn hiện đại (từ công trình lý thuyết thông tin của Claude Shannon năm 1949). Hình thức hóa hệ mật mã qua bộ 5 thành phần $S = (P, C, K, E, D)$ thỏa mãn điều kiện giải mã $d_K(e_K(x)) = x$. Phân định các yêu cầu an toàn: độ tin cậy, tính toàn vẹn, tính không chối bỏ, tính xác thực; phân loại mã khối và mã dòng; so sánh hệ mật khóa đối xứng và khóa công khai. Khái quát 12 bài toán an toàn thông tin thực tế, 4 mô hình tấn công thám mã (chỉ biết bản mã, biết bản rõ, bản rõ được chọn, bản mã được chọn) và 3 cấp độ an toàn (vô điều kiện, được chứng minh, an toàn tính toán).

  • Chương 2: Mật mã cổ điển
    Xây dựng cơ sở số học: quan hệ chia hết, thuật toán Euclid, thuật toán Euclid mở rộng giải phương trình Đi-ô-phăng $ax + by = d$, số học modulo $m$ trên tập $\mathbb{Z}_m$, phần tử nghịch đảo trong nhóm nhân $\mathbb{Z}_m^*$, phương trình đồng dư tuyến tính $ax \equiv b \pmod n$ và hàm số học Euler $\phi(n)$. Khảo sát các hệ mật: dịch chuyển (Shift/Caesar), thay thế (Substitution), Affine ($e_K(x) = ax + b \pmod{26}$), Vigenère đa biểu, Hill (đại số ma trận), mã hoán vị và mã dòng (mã tự sinh, thanh ghi dịch phản hồi tuyến tính LFSR). Giới thiệu nguyên lý Kerckhoffs và kỹ thuật thám mã: phân tích tần suất ký tự đơn/bộ đôi/bộ ba theo bảng Beker & Piper, phép thử Kasiski, chỉ số trùng hợp $I_C(x)$ và chỉ số trùng hợp tương hỗ $MIC(x, y)$.

  • Chương 3: Chuẩn mã dữ liệu
    Phân tích chi tiết chuẩn mã hóa dữ liệu đối xứng DES (Data Encryption Standard): cấu trúc hoán vị bit ban đầu/cuối, thuật toán sinh khóa con từ khóa gốc $K$, cấu trúc mạng Feistel và cách tính hàm $f$, kỹ thuật tối ưu hóa thời gian - bộ nhớ, đánh giá độ an toàn trước các phương pháp thám mã. Trình bày hệ mật IDEA (International Data Encryption Algorithm): các phép toán trên các trường đại số khác nhau, cấu trúc vòng lặp và đặc tính an toàn.

  • Chương 4: Các hệ mật mã khoá công khai
    Xây dựng lý thuyết hàm cửa sập một chiều (trapdoor one-way function), kiểm tra số nguyên tố xác suất, định lý phần dư Trung Hoa (Chinese Remainder Theorem - CRT), phần tử nguyên thủy và thuật toán tính lũy thừa lớn $x^e \pmod n$. Phân tích cấu trúc và phương pháp tấn công hệ mật RSA (dựa trên bài toán phân tích số nguyên $n = pq$ qua thuật toán $p-1$, thuật toán Dixon, sàng bậc hai), hệ mật Rabin, hệ mật ElGamal (dựa trên bài toán Logarithm rời rạc) và các hệ mật dựa trên bài toán NP-đầy đủ (hệ xếp ba lô Merkle - Hellman, hệ mật McEliece).

  • Chương 5: Chữ ký điện tử, hàm Hash và phân phối khoá
    Mô tả sơ đồ chữ ký số, phân loại chữ ký số, chuẩn chữ ký điện tử, chữ ký một lần, chữ ký không thể chối từ. Trình bày lý thuyết hàm băm không va chạm, hàm băm dựa trên logarithm rời rạc, hàm băm MD4. Khảo sát giao thức phân phối và thỏa thuận khóa: phân phối khóa trước và giao thức trao đổi khóa Diffie - Hellman.

Kiến thức nền tảng được xây dựng

  • Cơ sở toán học số học và đại số trừu tượng: Lý thuyết chia hết, ước chung lớn nhất $\gcd$, cấu trúc nhóm Abel, vành $\mathbb{Z}_m$, nhóm nhân $\mathbb{Z}_n^*$, giải phương trình đồng dư tuyến tính, định lý phần dư Trung Hoa, hàm số học Euler $\phi(n)$, đại số ma trận trên trường hữu hạn.
  • Nguyên lý an toàn mật mã: Nguyên lý Kerckhoffs (tính bí mật của thuật toán phụ thuộc vào khóa $K$), nguyên lý hàm một chiều không thể đảo ngược trong thời gian đa thức nếu không có khóa bí mật, nguyên lý khuếch tán và xáo trộn trong mạng Feistel.
  • Lý thuyết độ phức tạp tính toán: Khái niệm phân lớp bài toán $P$, $NP$, $NP$-đầy đủ, đánh giá độ an toàn tính toán dựa trên sự bất khả thi về mặt tài nguyên khi giải các bài toán toán học khó (phân tích thừa số nguyên tố, logarithm rời rạc, xếp ba lô).

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Cài đặt và thực thi thuật toán Euclid mở rộng, thuật toán tính lũy thừa nhanh modulo, thuật toán sinh khóa và mã hóa/giải mã của DES, IDEA, RSA, ElGamal, Diffie-Hellman, MD4.
  • Kỹ năng phân tích (Analytical skills): Phân tích phổ tần suất ký tự trên văn bản mã, áp dụng chỉ số trùng hợp $I_C$ và kiểm tra Kasiski để ước lượng chu kỳ khóa $m$ trong mã Vigenère, đánh giá độ phức tạp và nguy cơ lộ khóa trước các kịch bản tấn công.
  • Năng lực thực tế (Practical competencies): Vận dụng các sơ đồ chữ ký số và hàm băm nhằm giải quyết các bài toán xác thực thông báo, nhận dạng thực thể, bảo toàn dữ liệu và chống chối bỏ trong các giao dịch điện tử.

Phương pháp giảng dạy và học tập

[Lý thuyết hình thức & Cơ sở Toán học]
[Thuật toán chi tiết & Phân tích cơ chế]
[Bài tập tính toán mẫu & Kịch bản Thám mã thực tế]
[Cài đặt thuật giải & Đánh giá an toàn hệ thống]

Phương pháp tiếp cận sư phạm của giáo trình được thiết kế theo hướng quy chuẩn giải tích: xuất phát từ bài toán an toàn thực tế, mô hình hóa toán học, đưa ra định nghĩa giải thuật hình thức, sau đó minh họa từng bước tính toán bằng dữ liệu số học cụ thể.

Hệ thống bài tập và thực hành trong giáo trình được chia thành các nhóm nội dung rõ ràng:

  1. Bài tập tính toán đại số modulo và số học: Vận dụng thuật toán Euclid mở rộng tìm nghịch đảo $a^{-1} \pmod m$ (như tìm số nghịch đảo của $30 \pmod{101}$ cho ra kết quả 64), giải hệ phương trình đồng dư tuyến tính, tính định thức và ma trận nghịch đảo cấp 2 trên vành $\mathbb{Z}_{26}$.
  2. Thực hành mã hóa và giải mã: Thực hiện mã hóa chuỗi ký tự bằng hệ mật Affine với khóa $K=(a,b)$ thỏa mãn $\gcd(a,26)=1$, hệ mật Vigenère với từ khóa $K$, hệ mật Hill với ma trận khóa $K_{2 \times 2}$, mã khối DES và IDEA.
  3. Thực nghiệm thám mã (Cryptanalysis case studies): Phân tích tần suất bản mã văn bản tiếng Anh dựa trên bảng xác suất Beker & Piper để khôi phục bản rõ; sử dụng phép thử Kasiski và công thức chỉ số trùng hợp $I_C(x) = \sum \frac{f_i(f_i-1)}{n(n-1)} \approx 0.065$ để xác định độ dài từ khóa $m$ và giải hệ phương trình dịch chuyển tương đối $MIC(y_i, y_j)$ tìm khóa $K$.

Phương pháp đánh giá kết quả học tập bao gồm:

  • Đánh giá khả năng giải quyết các bài toán số học modulo và đại số ma trận.
  • Đánh giá năng lực phân tích thuật toán, tính toán chu trình mã hóa/giải mã của các hệ mật đối xứng và bất đối xứng.
  • Đánh giá kỹ năng lập trình mô phỏng các giải thuật mật mã và xây dựng kịch bản thám mã.

Hướng dẫn tự học: Người học cần nghiên cứu tuần tự phần cơ sở toán học tại Chương 2 trước khi tiếp cận các cấu trúc mã hóa nâng cao; thực hiện lại các bước tính toán trong các ví dụ mẫu (như ví dụ giải mã Affine, giải mã Vigenère bằng chỉ số $MIC$, tìm khóa hệ mật Hill bằng ma trận bản rõ đã biết $K = X^{-1}Y$) trước khi làm hệ thống câu hỏi bài tập ở cuối mỗi chương.


Điểm nổi bật và cập nhật

  • Hệ thống hóa chuẩn mực từ tài liệu kinh điển: Giáo trình kế thừa trực tiếp khung lý thuyết từ tác phẩm "Cryptography: Theory and Practice" của Douglas Stinson (Nguyễn Bình dịch), bảo đảm tính chuẩn xác khoa học và thuật ngữ mật mã học chuẩn mực quốc tế.
  • Tích hợp tiến trình lịch sử và các mốc phát triển bản lề: Nội dung làm rõ bước ngoặt lịch sử năm 1949 khi Claude Shannon công bố lý thuyết thông tin, đặt nền móng khoa học cho mật mã hiện đại; phát minh năm 1976 của Diffie - Hellman về mật mã khóa công khai dựa trên bài toán logarithm rời rạc; và phát minh năm 1978 của Rivest, Shamir, Adleman về hệ mật RSA dựa trên độ khó của bài toán phân tích thừa số nguyên tố.
  • Bao quát toàn diện các bài toán an toàn thông tin hiện đại: Không dừng lại ở việc che giấu thông tin, giáo trình tích hợp các công cụ mật mã để giải quyết hệ thống 12 bài toán an toàn thực tế: bảo mật, toàn vẹn thông tin, nhận thực thực thể, nhận thực thông báo, chữ ký điện tử, ủy quyền, cấp chứng chỉ, báo nhận, làm chứng, chống chối bỏ, ẩn danh và thu hồi.
  • Mở rộng các hướng tiếp cận mật mã hiện đại: Phân tích các thuật toán phân tích thừa số nguyên tố thực nghiệm (phương pháp $p-1$, thuật toán Dixon, sàng bậc hai), các giải thuật logarithm rời rạc, cùng nguyên tắc xây dựng các hệ mật mã dựa trên các bài toán $NP$-đầy đủ như hệ mật xếp ba lô Merkle - Hellman và hệ mật McEliece.

Đối tượng sử dụng giáo trình

  • Sinh viên chuyên ngành: Tài liệu được thiết kế cho sinh viên năm thứ ba và năm thứ tư thuộc các ngành Công nghệ thông tin, Kỹ thuật mạng, An toàn thông tin, Khoa học máy tính; đồng thời là tài liệu tham khảo cho học viên cao học định hướng an ninh hệ thống và khoa học dữ liệu.
  • Kiến thức tiên quyết (Prerequisites): Người học cần hoàn thành các học phần Toán rời rạc (lý thuyết tập hợp, quan hệ đồng dư, tổ hợp), Đại số tuyến tính (ma trận, định thức, hệ phương trình tuyến tính), Cấu trúc dữ liệu và giải thuật, cùng kỹ năng lập trình cơ bản.
  • Ứng dụng cho giảng viên: Cung cấp khung bài giảng chuẩn hóa cho học phần Bảo mật thông tin, An toàn mạng hoặc Mật mã học; cung cấp cơ sở lý thuyết hình thức, các bước chứng minh thuật toán và hệ thống bài tập thực hành mẫu.
  • Tự học và nghiên cứu ứng dụng: Tài liệu hỗ trợ các kỹ sư phần mềm, quản trị viên hệ thống tra cứu thuật toán nền tảng, nắm vững cơ chế toán học bên dưới các giao thức bảo mật mạng (SSL/TLS, SSH, IPSec) và các chuẩn mã hóa phổ biến.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với ai?

Giáo trình phù hợp với sinh viên đại học, học viên sau đại học ngành Công nghệ thông tin, An toàn thông tin, cũng như các kỹ sư phần mềm cần tìm hiểu nền tảng toán học và thuật giải của mật mã học.

2. Cần chuẩn bị kiến thức nền nào để học?

Người học cần có kiến thức nền tảng về Toán rời rạc (phép chia hết, số học modulo), Đại số tuyến tính (phép nhân ma trận, ma trận nghịch đảo, định thức) và tư duy thuật toán lập trình.

3. Điểm khác biệt của giáo trình so với các tài liệu khác là gì?

Giáo trình kết hợp chặt chẽ giữa hai nhánh tạo mã (cryptography) và thám mã (cryptanalysis). Các thuật toán không chỉ được mô tả nguyên lý mà còn đi kèm phân tích toán học chi tiết (như nhóm $\mathbb{Z}_m$, thuật toán Euclid mở rộng, định lý phần dư Trung Hoa, thống kê $I_C$, mạng Feistel) dựa theo khung chuyên khảo của Douglas Stinson.

4. Làm sao để tự học giáo trình hiệu quả?

Người học nên học tuần tự theo cấu trúc từng chương: nắm chắc lý thuyết số học modulo và các phép biến đổi ma trận ở Chương 2, tự giải lại các bài toán mẫu từng bước bằng tay, sau đó lập trình kiểm chứng các thuật toán (DES, RSA, ElGamal) và thực hiện các bài tập thám mã ở cuối mỗi chương.

5. Có tài liệu bổ trợ nào kèm theo giáo trình?

Giáo trình đi kèm hệ thống ví dụ tính toán số học chi tiết từng bước, bảng phân bố tần suất ký tự chuẩn của Beker & Piper, các bảng dữ liệu chỉ số trùng hợp tương hỗ và hệ thống câu hỏi bài tập cuối mỗi chương.


Kết luận

Giáo trình Bảo mật thông tin cung cấp hệ thống tri thức toán học và giải thuật chuẩn mực về mật mã học, tạo nền tảng vững chắc cho sinh viên ngành Công nghệ thông tin trong việc nghiên cứu và triển khai các giải pháp an toàn dữ liệu.

Lộ trình học tập đề xuất:

  1. Giai đoạn 1 (Chương 1 - 2): Tiếp cận mô hình hệ mật $S=(P,C,K,E,D)$, làm chủ công cụ số học modulo $\mathbb{Z}_m$, đại số ma trận và kỹ thuật thám mã thống kê trên các hệ mật cổ điển.
  2. Giai đoạn 2 (Chương 3): Phân tích kiến trúc mạng Feistel và cơ chế xử lý của các chuẩn mã khối đối xứng DES, IDEA.
  3. Giai đoạn 3 (Chương 4 - 5): Nghiên cứu các hệ mật mã khóa công khai (RSA, Rabin, ElGamal), các hệ mật dựa trên bài toán NP-đầy đủ, hàm băm MD4, sơ đồ chữ ký điện tử và giao thức thỏa thuận khóa Diffie - Hellman.

Tài liệu tham khảo mở rộng được khuyến nghị: Chuyên khảo "Cryptography: Theory and Practice" của Douglas Stinson (bản dịch Nguyễn Bình), cùng các công trình khoa học nền tảng của C. Shannon (1949), W. Diffie - M. Hellman (1976), R. Rivest - A. Shamir - L. Adleman (1978).