TỔNG QUAN HỌC THUẬT: GIÁO TRÌNH MẬT MÃ KHOÁ CÔNG KHAI

Tổng quan về giáo trình (250-300 từ)

Tài liệu học tập Mật mã khoá công khai do giảng viên Hoàng Thu Phương – Khoa An toàn thông tin biên soạn, là giáo trình thuộc khối kiến thức chuyên ngành cốt lõi trong chương trình đào tạo kỹ sư và cử nhân ngành An toàn thông tin, Công nghệ thông tin và Toán - Tin ứng dụng. Giáo trình giữ vị trí cầu nối quan trọng giữa các môn toán học cơ sở (Đại số đại cương, Toán rời rạc, Lý thuyết số) với các môn học ứng dụng chuyên sâu về an toàn mạng, giao thức bảo mật và kiến trúc an ninh hệ thống.

Mục tiêu học tập của giáo trình nhằm trang bị cho người học:

  • Hiểu rõ nguyên lý hoạt động, ưu thế và giới hạn của hệ mật mã khoá công khai (khắc phục điểm nghẽn phân phối khoá của hệ mật đối xứng).
  • Nắm vững cơ sở toán học cấu trúc đại số (nhóm, vành, trường), số học modulo, trường hữu hạn Galois ($GF(p)$, $GF(2^n)$), số học đa thức và các định lý nền tảng trong lý thuyết số.
  • Phân tích cơ chế mã hóa, giải mã và cơ sở độ phức tạp tính toán của các hệ mật điển hình như RSA, ElGamal, Merkle - Hellman, McEliece, Chor - Rivest và hệ mật trên đường cong Elliptic (ECC).
  • Vận dụng các giải thuật số học (thuật toán Euclid, thuật toán Euclid mở rộng, tính hàm Euler $\Phi(n)$, kiểm tra tính nguyên tố bằng định lý Fermat nhỏ) vào giải quyết các bài toán mật mã.

Cấu trúc giáo trình được thiết kế theo hướng tiếp cận từ trừu tượng toán học đến các thuật toán ứng dụng cụ thể. Điểm đặc sắc của tài liệu là sự chuẩn hóa các khái niệm toán học khắt khe, phân tích độ an toàn mật mã dựa trên lý thuyết độ phức tạp tính toán (computational security), đồng thời mô hình hóa chi tiết các phép toán trên trường $GF(2^n)$ tương thích trực tiếp với các thao tác xử lý nhị phân và thiết kế phần cứng.


Nội dung kiến thức cốt lõi (500-600 từ)

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

Nội dung giáo trình được triển khai tuần tự theo cấu trúc logic từ tổng quan lý thuyết hệ mật đến hệ thống công cụ toán học hỗ trợ:

[Hệ mật khoá công khai & Bài toán nền tảng]
[Cấu trúc đại số trừu tượng]
[Số học Modulo & Giải thuật]
[Trường Galois & Số học đa thức]
[Lý thuyết số ứng dụng]
  1. Tổng quan về hệ mật khoá công khai và lịch sử hình thành:

    • Phân tích hạn chế căn bản của hệ mật khóa đối xứng: bắt buộc phải chia sẻ khóa trên kênh truyền an toàn trước khi truyền bản mã.
    • Giới thiệu phát kiến của Diffie và Hellman (1976) và việc Rivest, Shamir, Adleman hiện thực hóa thành hệ mật RSA (1977).
    • Cơ chế hoạt động: Bên gửi sử dụng khóa công khai ($e_k$) của bên nhận để mã hóa; bên nhận dùng khóa bí mật ($d_k$) để giải mã.
    • Khái niệm hàm một chiều (ví dụ: $f(x) = x^b \bmod n$ với $n = p \cdot q$) và hàm cửa sập một chiều (trapdoor one-way function) cho phép bên sở hữu thông tin bí mật tìm được hàm giải mã ngược.
  2. Khảo sát các hệ mật khóa công khai và bài toán độ phức tạp:

    • Hệ mật RSA: Độ an toàn dựa trên độ khó của bài toán phân tích một số nguyên lớn thành tích các thừa số nguyên tố.
    • Hệ mật Merkle - Hellman: Dựa trên tính khó giải của bài toán tổng các tập con (bài toán NP-đầy đủ).
    • Hệ mật McEliece: Dựa trên lý thuyết mã đại số và bài toán giải mã cho các mã tuyến tính (bài toán NP-đầy đủ).
    • Hệ mật ElGamal: Dựa trên độ khó của bài toán logarithm rời rạc (Discrete Logarithm Problem) trên trường hữu hạn.
    • Hệ mật Chor - Rivest: Biến thể của hệ mật xếp ba lô đảm bảo tính an toàn tính toán.
    • Hệ mật trên đường cong Elliptic (ECC): Biến thể của các hệ mật như ElGamal trên nhóm điểm của đường cong Elliptic, cho phép tối ưu độ dài khóa nhỏ hơn đáng kể so với các hệ mật truyền thống.
    • Nguyên lý độ mật: Hệ mật khóa công khai không thể đạt độ an toàn tuyệt đối (vô điều kiện) mà chỉ nghiên cứu và đảm bảo an toàn về mặt tính toán (computational security).
  3. Cấu trúc đại số trừu tượng:

    • Định nghĩa Nhóm (Group) $(G, \cdot)$ với các tính chất kết hợp, phần tử đơn vị $e$, phần tử nghịch đảo $a^{-1}$; Nhóm Aben (nhóm giao hoán); Nhóm xyclic (mọi phần tử biểu diễn dưới dạng lũy thừa $b = a^k$ của phần tử sinh $a$).
    • Định nghĩa Vành (Ring) $(R, +, \cdot)$ với phép cộng lập thành nhóm Aben, phép nhân có tính đóng, kết hợp và phân phối đối với phép cộng; Vành giao hoán và Miền nguyên (vành không có ước của 0).
    • Định nghĩa Trường (Field) $(F, +, \cdot)$: Vành trong đó tập các phần tử khác 0 lập thành nhóm Aben với phép nhân (cho phép thực hiện đầy đủ 4 phép tính cộng, trừ, nhân, chia). Khảo sát các cấu trúc tập hợp mẫu: $\mathbb{Z}$ là vành giao hoán; $\mathbb{Q}, \mathbb{R}, \mathbb{C}$ là trường.
  4. Số học Modulo và các thuật toán số học:

    • Định nghĩa phép lấy dư $a \bmod n$, quan hệ đồng dư $a \equiv b \pmod n$ và tập đại diện $\mathbb{Z}_n = {0, 1, 2, \dots, n-1}$. Cấu trúc $\mathbb{Z}_n$ lập thành vành giao hoán có đơn vị.
    • Quy tắc rút gọn: $ab \equiv ac \pmod n \Rightarrow b \equiv c \pmod n$ khi và chỉ khi $\gcd(a, n) = 1$.
    • Khái niệm ước số, ước số chung lớn nhất ($\gcd(a,b)$) và hai số nguyên tố cùng nhau ($\gcd(a,b) = 1$).
    • Thuật toán Euclid tìm $\gcd(a,b)$ dựa trên tính chất $\gcd(a,b) = \gcd(b, a \bmod b)$.
    • Thuật toán Euclid mở rộng: Vừa tính $\gcd(m, b)$, vừa tính phần tử nghịch đảo $b^{-1} \bmod m$ khi $\gcd(m, b) = 1$.
  5. Trường hữu hạn Galois và Số học Đa thức:

    • Định nghĩa trường Galois $GF(p^m)$ với số phần tử là lũy thừa của số nguyên tố. Phân loại hai dạng trường thông dụng: $GF(p)$ và $GF(2^m)$.
    • Trường $GF(p)$ gồm tập ${0, 1, \dots, p-1}$ với các phép toán modulo $p$.
    • Không gian đa thức $P_n$ bậc $\le n$. Phép toán đa thức với hệ số trong $GF(p)$ (đặc biệt là modulo 2). Phép toán modulo đa thức $r(x) = f(x) \bmod g(x)$.
    • Khái niệm đa thức nguyên tố / không rút gọn được (irreducible polynomial), ví dụ $g(x) = x^3 + x + 1$.
    • Thuật toán Euclid tìm đa thức ước chung lớn nhất $\gcd(a(x), b(x))$.
    • Xây dựng trường $GF(2^n)$: Biểu diễn đa thức dưới dạng chuỗi bit nhị phân (ví dụ $x^2+1 \leftrightarrow 101_2$), thực hiện phép cộng qua phép toán logic XOR, phép nhân qua phép dịch bit (bit shift) kết hợp XOR và phép rút gọn theo modulo đa thức nguyên tố bậc $n$.
  6. Lý thuyết số ứng dụng trong mật mã:

    • Phân tích thừa số nguyên tố: Định lý cơ bản khẳng định mọi số nguyên dương đều có phân tích duy nhất thành tích lũy thừa các số nguyên tố.
    • Phương pháp xác định $\gcd(a, b)$ thông qua việc lấy tích các thừa số nguyên tố chung với số mũ nhỏ nhất.
    • Định lý Fermat nhỏ: Nếu $p$ là số nguyên tố và $\gcd(a, p) = 1$, thì $a^{p-1} \equiv 1 \pmod p$ (tương đương $a^p \equiv a \pmod p$).
    • Hàm số học Euler $\Phi(n)$: Định nghĩa số lượng các số nguyên dương nhỏ hơn $n$ và nguyên tố cùng nhau với $n$. Các tính chất: $\Phi(p) = p-1$ khi $p$ nguyên tố; $\Phi(m \cdot n) = \Phi(m)\Phi(n)$ khi $\gcd(m, n) = 1$.

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

  • Lý thuyết nền tảng (Fundamental theories): Lý thuyết nhóm - vành - trường, lý thuyết số học đồng dư, lý thuyết trường Galois hữu hạn, lý thuyết số học số nguyên tố và tính bất khả quy của đa thức.
  • Nguyên lý cốt lõi (Core principles): Nguyên lý hàm một chiều và hàm cửa sập; nguyên lý an toàn tính toán dựa trên các bài toán toán học khó (phân tích thừa số nguyên, logarithm rời rạc, bài toán tổng tập con NP-đầy đủ, giải mã tuyến tính).
  • Khung phân tích chuẩn mực (Essential frameworks): Mô hình cặp khóa công khai / khóa bí mật; mô hình biểu diễn số học đa thức nhị phân trên $GF(2^n)$; khung thuật toán lặp Euclid và bảng tính Euclid mở rộng.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Thực hiện thành thạo các phép toán modulo, giải thuật toán Euclid tìm $\gcd(a,b)$, giải thuật toán Euclid mở rộng tìm nghịch đảo $b^{-1} \bmod m$; thực hiện các phép toán cộng (XOR), nhân (dịch bit) và rút gọn modulo đa thức trên trường $GF(2^n)$.
  • Kỹ năng phân tích (Analytical skills): Phân tích cấu trúc đại số của một tập hợp với hệ phép toán; đánh giá tính nguyên tố cùng nhau; tính toán các giá trị hàm Euler $\Phi(n)$ và áp dụng định lý Fermat nhỏ để tối ưu hóa tính toán lũy thừa modulo lớn.
  • Năng lực ứng dụng (Practical competencies): Áp dụng trực tiếp các công cụ toán học vào việc thiết lập tham số cho các hệ mật mã RSA, ElGamal, ECC; mô hình hóa thuật toán mật mã thành các thao tác xử lý phần cứng hiệu năng cao.

Phương pháp giảng dạy và học tập (300-350 từ)

Giáo trình được biên soạn dựa trên phương pháp sư phạm diễn dịch kết hợp quy nạp toán học. Mỗi chủ đề kiến thức đều xuất phát từ định nghĩa hình thức (tiên đề, cấu trúc đại số), sau đó mở rộng thành các định lý, quy tắc rút gọn và cụ thể hóa thành các thuật toán thực thi có thể lập trình được.

Hệ thống bài tập và ví dụ mẫu (case studies) được xây dựng chi tiết từng bước (step-by-step trace):

  • Ví dụ thuật toán Euclid: Tính $\gcd(1970, 1066)$ qua 10 bước chia lấy dư liên tiếp: $$\begin{aligned} 1970 &= 1 \times 1066 + 904 \ 1066 &= 1 \times 904 + 162 \ 904 &= 5 \times 162 + 94 \ 162 &= 1 \times 94 + 68 \ 94 &= 1 \times 68 + 26 \ 68 &= 2 \times 26 + 16 \ 26 &= 1 \times 16 + 10 \ 16 &= 1 \times 10 + 6 \ 10 &= 1 \times 6 + 4 \ 6 &= 1 \times 4 + 2 \ 4 &= 2 \times 2 + 0 \implies \gcd(1970, 1066) = 2 \end{aligned}$$
  • Ví dụ thuật toán Euclid mở rộng: Tính phần tử nghịch đảo cho các cặp tham số: $b = 550, m = 1759 \implies \gcd(1759, 550) = 1$ và $550^{-1} \bmod 1759 = 355$; cặp $b = 4864, m = 3458$.
  • Ví dụ trên trường Galois $GF(2^3)$ với đa thức nguyên tố $g(x) = x^3 + x + 1$:
    • Phép cộng: $(x^2 + 1) + (x^2 + x + 1) = x \longleftrightarrow 101_2 \oplus 111_2 = 010_2$.
    • Phép nhân: $(x + 1) \cdot (x^2 + 1) \longleftrightarrow (101_2 \ll 1) \oplus (101_2 \ll 0) = 1010_2 \oplus 0101_2 = 1111_2$.
    • Phép rút gọn modulo: $(x^3 + x^2 + x + 1) \bmod (x^3 + x + 1) = x^2 \longleftrightarrow 1111_2 \oplus 1011_2 = 0100_2$.
  • Ví dụ định lý Fermat nhỏ: $2^{7-1} \bmod 7 = 2^6 \bmod 7 = 64 \bmod 7 = 1$; $3^{5-1} \bmod 5 = 3^4 \bmod 5 = 81 \bmod 5 = 1$.
  • Ví dụ hàm Euler: Tính $\Phi(37) = 36$; $\Phi(25) = \Phi(5^2) = 20$; $\Phi(18) = \Phi(2)\Phi(3^2) = 1 \times 6 = 6$; $\Phi(21) = \Phi(3)\Phi(7) = 2 \times 6 = 12$.

Phương pháp đánh giá kết quả học tập tập trung vào hai hình thức:

  1. Đánh giá lý thuyết: Khả năng chứng minh cấu trúc vành, trường; phân tích độ an toàn của hàm một chiều.
  2. Đánh giá bài tập thuật toán: Triển khai chính xác thuật toán Euclid mở rộng, tính toán số học đa thức modulo trên giấy và cài đặt mã nguồn trên máy tính.

Hướng dẫn tự học: Sinh viên cần thực hiện lại các chuỗi phép chia Euclid từng bước, lập bảng cộng và nhân modulo (như bảng modulo 8), thực hành biểu diễn bit và phép toán XOR trên các trường $GF(2^m)$ có số mũ khác nhau.


Điểm nổi bật và cập nhật (250-300 từ)

Tài liệu thể hiện các điểm nổi bật mang tính học thuật và kỹ thuật:

  1. Phân loại toàn diện các hệ mật mã khóa công khai dựa trên các bài toán nền tảng: Thay vì chỉ trình bày hệ mật RSA, giáo trình phân loại có hệ thống các trường phái mật mã khác nhau:

    • Hệ mật dựa trên phân tích thừa số nguyên (RSA).
    • Hệ mật dựa trên logarithm rời rạc (ElGamal).
    • Hệ mật dựa trên bài toán NP-đầy đủ (Merkle - Hellman, Chor - Rivest, McEliece).
    • Hệ mật dựa trên cấu trúc đại số hình học (Đường cong Elliptic - ECC).
  2. Làm rõ ranh giới lý thuyết an toàn: Giáo trình nhấn mạnh luận điểm khoa học: Hệ mật mã khóa công khai không thể đạt độ an toàn vô điều kiện (an toàn tuyệt đối về mặt lý thuyết thông tin) mà chỉ nghiên cứu độ an toàn về mặt tính toán (computational security), phụ thuộc vào tài nguyên và thời gian tính toán của kẻ tấn công.

  3. Tối ưu hóa tính toán hướng phần cứng: Nội dung về trường $GF(2^n)$ được phân tích sâu dưới góc độ biểu diễn chuỗi bit và các phép toán logic (XOR, phép dịch bit). Điều này giúp sinh viên hiểu rõ cơ chế phần cứng xử lý các thuật toán mật mã với tốc độ cao và mức tiêu thụ tài nguyên tối thiểu.

  4. Tích hợp các định lý lý thuyết số kinh điển: Định lý Fermat nhỏ và Hàm số học Euler được liên kết trực tiếp với các ứng dụng thực tế: tạo sinh tham số khóa công khai và kiểm tra tính nguyên tố (primality testing) của các số nguyên lớn.


Đối tượng sử dụng giáo trình (200-250 từ)

Giáo trình được thiết kế phục vụ các đối tượng đào tạo và nghiên cứu cụ thể:

  • Sinh viên đại học và học viên cao học:
    • Sinh viên từ năm thứ hai đến năm thứ tư thuộc các ngành: An toàn thông tin, Kỹ thuật mật mã, Công nghệ thông tin, Khoa học máy tính, Mạng máy tính và Truyền thông dữ liệu, Toán - Tin ứng dụng.
    • Học viên cao học chuyên ngành An toàn thông tin cần tài liệu hệ thống hóa nền tảng toán học của các hệ mật phi đối xứng.
  • Điều kiện 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ệ tương đương), Đại số đại cương (khái niệm ánh xạ, cấu trúc đại số cơ bản) và Giải thuật căn bản.
  • Giảng viên và cán bộ nghiên cứu:
    • Giảng viên sử dụng làm giáo trình chính hoặc đề cương bài giảng cho học phần Mật mã học, Mật mã khóa công khai.
    • Cung cấp nguồn ví dụ mẫu chuẩn mực, hệ thống định lý và thuật toán phục vụ biên soạn bài giảng, đề thi và bài tập lớn.
  • Kỹ sư và chuyên gia an toàn thông tin:
    • Tài liệu tham khảo hữu ích cho các kỹ sư phát triển phần mềm an toàn, kỹ sư thiết kế phần cứng bảo mật cần nắm vững bản chất toán học của các thuật toán mã hóa (RSA, ECC, $GF(2^n)$) để tối ưu hóa hiệu năng hệ thống.

Câu hỏi thường gặp (250-300 từ)

1. Giáo trình này phù hợp với đối tượng người học nào?

Giáo trình phù hợp nhất cho sinh viên chuyên ngành An toàn thông tin, Công nghệ thông tin và Toán - Tin ứng dụng từ năm thứ 2 trở lên, cũng như các kỹ sư phần mềm, kỹ sư bảo mật cần nghiên cứu cơ sở toán học của mật mã phi đối xứng.

2. Cần chuẩn bị những kiến thức nền tảng nào trước khi học giáo trình này?

Người học cần nắm vững kiến thức toán học cơ bản bao gồm: Toán rời rạc (tập hợp, quan hệ đồng dư), Đại số đại cương (khái niệm nhóm, vành, trường) và kỹ năng lập trình giải thuật căn bản (để hiện thực các thuật toán lặp như Euclid).

3. Điểm khác biệt cốt lõi giữa giáo trình này với các tài liệu mật mã học đại cương là gì?

Tài liệu tập trung chuyên sâu vào phân tích toán học hình thức: mô tả chi tiết cấu trúc trường Galois $GF(2^n)$ dưới dạng bit nhị phân phục vụ tính toán phần cứng, cung cấp các thuật toán giải mã cụ thể (Euclid mở rộng) và phân loại đa dạng các hệ mật ít phổ biến hơn như McEliece, Chor - Rivest bên cạnh RSA và ElGamal.

4. Phương pháp tự học giáo trình này như thế nào để đạt hiệu quả cao?

Người học nên làm theo lộ trình: Đọc hiểu các định nghĩa cấu trúc đại số $\rightarrow$ Tự giải tay các ví dụ mẫu từng bước (như thuật toán Euclid với cặp số $(1970, 1066)$ và Euclid mở rộng với $(1759, 550)$) $\rightarrow$ Lập bảng tính cộng/nhân modulo $\rightarrow$ Lập trình cài đặt các thuật toán bằng ngôn ngữ lập trình cụ thể.

5. Có những tài liệu bổ trợ và công cụ tham khảo nào đi kèm nội dung bài giảng?

Nội dung giáo trình đi kèm bảng danh sách các số nguyên tố nhỏ hơn 200, các bảng số học modulo 8, bảng tính mẫu của thuật toán Euclid mở rộng và hệ thống ví dụ tính toán hàm Euler $\Phi(n)$.


Kết luận (150 từ)

Giáo trình Mật mã khoá công khai của tác giả Hoàng Thu Phương (Khoa An toàn thông tin) cung cấp một hệ thống lý thuyết chuẩn mực và chặt chẽ về các hệ mật phi đối xứng. Giá trị cốt lõi của tài liệu nằm ở sự kết hợp logic giữa nền tảng toán học trừu tượng (nhóm, vành, trường, trường Galois, số học modulo, đa thức và lý thuyết số) với các giải thuật mật mã thực tế (RSA, ElGamal, ECC, McEliece, Merkle - Hellman).

Lộ trình học tập khuyến nghị bắt đầu từ việc nắm vững Cấu trúc đại số cơ sở $\rightarrow$ Số học modulo và Thuật toán Euclid mở rộng $\rightarrow$ Không gian đa thức và Trường $GF(2^n) \rightarrow$ Các định lý lý thuyết số (Fermat, Euler) $\rightarrow$ Phân tích chi tiết các hệ mật mã khóa công khai. Tài liệu là nguồn tham khảo học thuật phục vụ giảng dạy, học tập và nghiên cứu trong lĩnh vực an toàn thông tin.