Luận văn: Hệ mật mã khóa công khai ứng dụng bảo mật dữ liệu và giao dịch điện tử

Luận văn thạc sĩ nghiên cứu nghiên cứu và phát triển hệ mật mã khóa công khai ứng dụng trong bảo mật dữ liệu và xác thực các, đánh giá hiện trạng, phân tích vấn đề, đề xuất biện

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2010

91
2
0

Phí lưu trữ

35 Point

Mục lục chi tiết

LỜI CẢM ƠN.

LỜI CAM ĐOAN

DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT

DANH MỤC CÁC BẢNG

1. Chƣơng 1 - GIỚI THIỆU CHUNG VÀ CƠ SỞ TOÁN HỌC CỦA LÝ THUYẾT MẬT MÃ

1.1. Giới thiệu chung về mật mã

1.1.1. Sơ lƣợc lịch sử về mật mã

1.2. Mã hóa khóa đối xứng và mã hóa khóa công khai

1.3. Các bài toán về an toàn thông tin

1.4. Thám mã và tính an toàn của các hệ mã hóa

1.5. Cơ sở toán học của lý thuyết mật mã

1.5.1. Số học các số nguyên, thuật toán Euclid

1.5.2. Độ phức tạp tính toán

2. Chƣơng 2 - PHƢƠNG PHÁP KIỂM TRA VÀ SINH SỐ NGUYÊN TỐ

2.1. Số nguyên tố và định lý cơ bản của số học

2.1.1. Định nghĩa số nguyên tố

2.1.2. Chứng minh số nguyên tố là vô hạn

2.1.3. Sự phân bố của số nguyên tố

2.1.4. Các số nguyên tố có dạng đặc biệt

2.2. Phƣơng pháp cổ điển kiểm tra và sinh số nguyên tố

2.2.1. Thuật toán Trial Division

2.2.2. Phƣơng pháp sàng Eratosthenes

2.3. Phƣơng pháp xác suất kiểm tra và sinh số nguyên tố

2.3.1. Thuật toán Fermat

2.3.2. Thuật toán Solovay – Strassen

2.3.3. Thuật toán Miller-Rabin

2.4. Phƣơng pháp xác định

2.5. Phân tích thành thừa số nguyên tố

3. Chƣơng 3 - ĐỀ XUẤT CẤU TRÚC DỮ LIỆU VÀ THUẬT TOÁN XỬ LÝ SỐ NGUYÊN LỚN

3.1. Cấu trúc dữ liệu và sơ đồ hoạt động của hệ thống

3.1.1. Cấu trúc của các lớp

3.1.2. Bảng luỹ thừa 2

3.1.3. Sơ đồ hoạt động của hệ thống

3.2. Thuật toán chuyển đổi

3.2.1. Thuật toán từ hệ thập phân sang hệ nhị phân

3.2.2. Thuật toán từ hệ nhị phân sang hệ thập phân

3.3. Thuât toán chia (div, mod)

3.4. Thuật toán phân rã nhị phân tính luỹ thừa mod

3.5. Phƣơng pháp tính logarit

3.6. Phƣơng pháp tính căn bậc hai

3.7. Khả năng của thƣ viện

4. Chƣơng 4 - MỘT SỐ HỆ MÃ HÓA KHÓA CÔNG KHAI VÀ CẢI TIẾN HỆ MÃ HÓA RABIN

4.1. Sự ra đời của hệ mã hóa khóa công khai

4.2. Một số bài toán cơ bản

4.3. Một số hệ mã hóa khóa công khai

4.4. Sơ đồ chung hệ mã hóa khoá công khai

4.5. Cải tiến hệ mã hóa Rabin

4.5.1. Mở rộng hệ mã hóa Rabin với n=p*q*r

4.5.2. Sơ đồ hệ mã hóa Rabin với n = p*q*r

4.5.3. Tính đúng đắn

4.5.4. Công thức của phép biến đổi ngƣợc (tính x)

4.5.5. Quy trình giải mã

4.5.6. Nhận xét và đánh giá

4.6. Một số ứng dụng của mã hóa khóa công khai

4.6.1. Tạo vỏ bọc an toàn cho văn bản mật

4.6.2. Vấn đề xác thực chủ thể

4.6.3. Kết hợp với kỹ thuật thủy vân

TÀI LIỆU THAM KHẢO

MỞ ĐẦU

Tóm tắt

I. Mật mã khóa công khai là gì Nền tảng bảo mật hiện đại

Mật mã khóa công khai, hay còn gọi là mật mã phi đối xứng, là một cuộc cách mạng trong lĩnh vực an toàn thông tin, giải quyết triệt để bài toán phân phối khóa của hệ thống đối xứng. Khác với mã hóa truyền thống chỉ sử dụng một khóa bí mật chung, hệ thống này sử dụng một cặp khóa: một khóa công khai (public key) để mã hóa và một khóa riêng tư (private key) để giải mã. Khóa công khai có thể được chia sẻ rộng rãi mà không làm ảnh hưởng đến tính bảo mật, trong khi khóa riêng tư phải được giữ tuyệt đối bí mật. Nền tảng của mật mã khóa công khai dựa trên các hàm một phía có cửa sập (trapdoor one-way function), nghĩa là việc tính toán theo một chiều (mã hóa) thì dễ dàng, nhưng tính toán theo chiều ngược lại (giải mã) là cực kỳ khó khăn nếu không có thông tin bí mật (cửa sập), chính là khóa riêng tư. Sự ra đời của khái niệm này bởi Diffie và Hellman vào năm 1976 đã mở ra một kỷ nguyên mới cho bảo mật dữ liệu và các giao dịch điện tử an toàn. Luận văn của Trần Đăng Hiên (2010) nhấn mạnh rằng sự phát triển của mật mã khóa công khai gắn liền với các bài toán số học phức tạp như phân tích số nguyên lớn thành thừa số nguyên tố, tạo nền tảng vững chắc cho các hệ mã hóa hiện đại như RSA.

1.1. So sánh mã hóa đối xứng và mã hóa khóa công khai

Hai phương pháp mã hóa chính trong mật mã học hiện đại là mã hóa khóa đối xứngmật mã khóa công khai. Trong hệ thống đối xứng, cả người gửi và người nhận đều sử dụng chung một khóa bí mật để mã hóa và giải mã. Phương pháp này có ưu điểm là tốc độ xử lý nhanh, phù hợp cho việc mã hóa khối lượng dữ liệu lớn. Tuy nhiên, nhược điểm lớn nhất là vấn đề phân phối khóa: làm thế nào để hai bên trao đổi khóa bí mật một cách an toàn qua một kênh không an toàn? Ngược lại, mật mã khóa công khai sử dụng một cặp khóa. Người gửi dùng khóa công khai của người nhận để mã hóa tin nhắn. Chỉ người nhận, người sở hữu khóa riêng tư tương ứng, mới có thể giải mã được. Điều này loại bỏ hoàn toàn bài toán phân phối khóa, vì khóa công khai có thể được chia sẻ tự do. Mặc dù tốc độ chậm hơn, hệ thống này lại cung cấp các tính năng vượt trội như xác thựcchống chối bỏ, điều mà hệ đối xứng không thể thực hiện được.

1.2. Nguyên lý hoạt động cơ bản của cặp khóa công khai riêng tư

Nguyên lý cốt lõi của mật mã khóa công khai nằm ở mối quan hệ toán học chặt chẽ nhưng không thể đảo ngược giữa khóa công khaikhóa riêng tư. Cặp khóa này được tạo ra đồng thời từ một thuật toán. Dữ liệu được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa riêng tư tương ứng, và ngược lại. Quá trình này đảm bảo tính bí mật: bất kỳ ai cũng có thể dùng khóa công khai để gửi thông tin mã hóa cho chủ sở hữu, nhưng chỉ chủ sở hữu mới đọc được. Đồng thời, nó cũng cho phép xác thực và tạo chữ ký điện tử: người gửi dùng khóa riêng tư của mình để "ký" lên thông điệp. Bất kỳ ai cũng có thể dùng khóa công khai của người gửi để xác minh chữ ký đó, qua đó đảm bảo thông điệp thực sự đến từ người gửi và không bị thay đổi. Đây là nền tảng cho sự tin cậy trong các giao dịch điện tử.

1.3. Vai trò của hàm một phía và cửa sập trong mật mã học

Độ an toàn của mật mã khóa công khai phụ thuộc vào một khái niệm toán học gọi là hàm một phía (one-way function). Đây là một hàm số mà việc tính giá trị y = f(x) rất dễ dàng, nhưng việc tìm lại x từ y là bất khả thi về mặt tính toán. Tuy nhiên, để giải mã, cần có một "lối thoát". Đó là lúc hàm cửa sập một phía (trapdoor one-way function) xuất hiện. Nó vẫn là một hàm một phía, nhưng có thêm một thông tin bí mật gọi là "cửa sập" (trapdoor). Nếu biết cửa sập, việc tính ngược từ y ra x trở nên dễ dàng. Trong mật mã khóa công khai, thuật toán tạo khóa chính là hàm cửa sập, khóa công khai là thông tin để tính xuôi, còn khóa riêng tư chính là cửa sập. Ví dụ, trong hệ mã RSA, việc nhân hai số nguyên tố lớn (p, q) để ra n là dễ, nhưng việc phân tích n thành p và q là cực khó. Ở đây, p và q chính là cửa sập.

II. Thách thức bảo mật Hạn chế của mã hóa khóa đối xứng

Trước khi mật mã khóa công khai ra đời, thế giới chỉ biết đến mã hóa khóa đối xứng. Mặc dù hiệu quả về tốc độ, phương pháp này tồn tại những thách thức cố hữu, đặc biệt trong môi trường mạng mở và quy mô lớn như Internet. Vấn đề lớn nhất là phân phối khóa an toàn. Để hai bên liên lạc bí mật, họ phải có chung một khóa. Làm thế nào để truyền khóa này qua một kênh không an toàn mà không bị kẻ thứ ba đánh cắp? Các phương pháp truyền thống như gặp mặt trực tiếp hoặc dùng người đưa tin tin cậy trở nên bất khả thi khi số lượng người dùng lên đến hàng triệu. Một thách thức khác là quản lý khóa. Trong một hệ thống có N người dùng, để mỗi cặp người dùng có một khóa riêng, cần phải quản lý N(N-1)/2 khóa, một con số khổng lồ. Hơn nữa, mã hóa khóa đối xứng không thể giải quyết vấn đề xác thực danh tínhchống chối bỏ. Vì cả hai bên đều có cùng một khóa, không có cách nào chứng minh ai là người thực sự tạo ra thông điệp, dẫn đến rủi ro trong các giao dịch điện tử quan trọng. Những hạn chế này đã thúc đẩy các nhà nghiên cứu tìm kiếm một giải pháp đột phá, và mật mã khóa công khai chính là câu trả lời.

2.1. Vấn đề nan giải trong việc phân phối khóa an toàn

Bài toán phân phối khóa là gót chân Achilles của hệ thống mã hóa khóa đối xứng. Giả sử hai người muốn trao đổi thông tin bí mật qua mạng. Họ cần một khóa chung, nhưng bất kỳ nỗ lực nào để gửi khóa này qua mạng đều có nguy cơ bị nghe lén. Nếu một kẻ tấn công chặn được khóa, toàn bộ cơ chế bảo mật sẽ sụp đổ. Các giao thức phức tạp được tạo ra để giải quyết vấn đề này, nhưng chúng thường làm tăng độ phức tạp của hệ thống và vẫn có thể tồn tại lỗ hổng. Trong môi trường thương mại điện tử hoặc ngân hàng trực tuyến, nơi các bên thường không quen biết nhau từ trước, việc thiết lập một kênh an toàn ban đầu để trao đổi khóa là một thách thức cực lớn. Vấn đề này càng trở nên nghiêm trọng khi quy mô hệ thống mở rộng, khiến việc phân phối và quản lý khóa trở thành một gánh nặng khổng lồ về mặt vận hành và an toàn thông tin.

2.2. Khó khăn trong xác thực danh tính và chống chối bỏ

Một hạn chế nghiêm trọng khác của mã hóa khóa đối xứng là không cung cấp được cơ chế xác thựcchống chối bỏ (non-repudiation). Vì khóa bí mật được chia sẻ, bất kỳ thông điệp nào được mã hóa bằng khóa đó đều có thể được tạo ra bởi một trong hai bên. Điều này có nghĩa là, người nhận không thể chắc chắn 100% rằng thông điệp đến từ người gửi hợp pháp, vì chính họ cũng có thể tạo ra thông điệp y hệt. Tương tự, người gửi sau này có thể chối bỏ việc đã gửi thông điệp, vì họ có thể lập luận rằng chính người nhận đã tự tạo ra nó. Sự mơ hồ này là không thể chấp nhận trong các hợp đồng điện tử, giao dịch tài chính hay các cam kết pháp lý. Thiếu khả năng gắn kết một cách không thể chối cãi một thông điệp với một thực thể cụ thể là một lỗ hổng chí mạng mà chỉ có mật mã khóa công khai mới có thể khắc phục thông qua chữ ký điện tử.

III. Giải pháp mật mã khóa công khai Cơ sở toán học vững chắc

Sức mạnh và độ tin cậy của mật mã khóa công khai không phải là phép màu, mà được xây dựng trên nền tảng vững chắc của các bài toán số học được cho là "khó" giải. Độ an toàn của một hệ mã hóa được chứng minh dựa trên độ phức tạp tính toán cần thiết để phá vỡ nó. Luận văn của Trần Đăng Hiên đã dành một phần quan trọng để phân tích cơ sở toán học này, nhấn mạnh rằng tính an toàn của các hệ mã hóa khóa công khai gắn liền với độ khó của các bài toán như phân tích một số nguyên ra thừa số nguyên tố hoặc bài toán logarit rời rạc. Để tạo ra một cặp khóa an toàn, các thuật toán cần những số nguyên tố cực lớn. Do đó, việc nghiên cứu các phương pháp kiểm tra và sinh số nguyên tố hiệu quả là một phần không thể thiếu. Các thuật toán như Miller-Rabin (kiểm tra xác suất) hay AKS (kiểm tra xác định) đóng vai trò then chốt trong việc cung cấp nguyên liệu đầu vào cho các hệ mã hóa. Về bản chất, bảo mật dữ liệu trong hệ thống khóa công khai là một cuộc chạy đua: người thiết kế hệ thống dựa vào các bài toán mà máy tính hiện tại phải mất hàng triệu năm để giải, trong khi người dùng có thể thực hiện mã hóa và giải mã gần như tức thời nhờ có "cửa sập".

3.1. Bài toán phân tích thừa số nguyên tố và logarit rời rạc

Hai bài toán nền tảng của mật mã khóa công khai hiện đại là bài toán phân tích thừa số nguyên tố và bài toán logarit rời rạc. Hệ mã hóa RSA nổi tiếng dựa trên độ khó của việc phân tích một số nguyên lớn n thành hai thừa số nguyên tố p và q của nó. Trong khi phép nhân p * q = n rất nhanh, việc tìm lại p và q từ n là một bài toán có độ phức tạp tính toán cực lớn. Tương tự, các hệ mã hóa như ElGamal và các giao thức trao đổi khóa Diffie-Hellman dựa trên bài toán logarit rời rạc. Cho một phương trình y ≡ g^x (mod p), việc tính y khi biết g, x, p là dễ dàng (phép lũy thừa), nhưng tìm x khi biết y, g, p là cực kỳ khó. Sự bất đối xứng về độ khó tính toán giữa phép toán xuôi và ngược chính là trái tim của an toàn thông tin trong mật mã khóa công khai.

3.2. Quy trình kiểm tra và sinh số nguyên tố lớn an toàn

Vì các hệ mã hóa như RSA đòi hỏi các số nguyên tố rất lớn (hàng trăm chữ số) làm khóa, quy trình tìm kiếm chúng phải vừa hiệu quả vừa đáng tin cậy. Tài liệu nghiên cứu đề cập đến nhiều phương pháp, từ cổ điển như sàng Eratosthenes (chỉ hiệu quả với số nhỏ) đến các phương pháp hiện đại. Phổ biến nhất là các thuật toán kiểm tra xác suất như thuật toán Miller-Rabin. Thuật toán này không khẳng định 100% một số là nguyên tố, nhưng có thể cho kết quả với xác suất sai cực nhỏ (ví dụ, nhỏ hơn (1/4)^k với k lần thử). Trong thực tế, người ta thường chọn ngẫu nhiên một số lớn, sau đó dùng Miller-Rabin để kiểm tra. Nếu vượt qua nhiều vòng kiểm tra, số đó được xem là "nguyên tố công nghiệp" và đủ an toàn để sử dụng. Gần đây, thuật toán AKS đã cung cấp một phương pháp xác định (chắc chắn 100%) trong thời gian đa thức, nhưng do độ phức tạp cao, nó ít được ứng dụng trong thực tế so với Miller-Rabin.

IV. Các hệ mã hóa khóa công khai phổ biến RSA ElGamal Rabin

Từ khi khái niệm mật mã khóa công khai ra đời, nhiều hệ thống đã được phát triển, trong đó ba hệ thống nổi bật và được nghiên cứu sâu rộng là RSA, ElGamal, và Rabin. Hệ mã hóa RSA (Rivest-Shamir-Adleman, 1978) là hệ thống phổ biến nhất và được ứng dụng rộng rãi nhất cho cả mã hóa và chữ ký điện tử. Độ an toàn của nó dựa trực tiếp vào độ khó của bài toán phân tích thừa số nguyên tố. Hệ mã hóa ElGamal, ra đời sau, lại dựa trên bài toán logarit rời rạc. Nó thường được dùng trong các giao thức yêu cầu tính bí mật cao. Hệ mã hóa Rabin có một đặc điểm toán học thú vị: việc phá vỡ nó được chứng minh là tương đương với việc phân tích thừa số nguyên tố của mô-đun n. Điều này mang lại một sự đảm bảo an toàn mạnh mẽ. Tuy nhiên, hệ Rabin có một nhược điểm là quá trình giải mã có thể tạo ra bốn kết quả khả dĩ, đòi hỏi thêm bước xử lý để xác định bản rõ chính xác. Luận văn của Trần Đăng Hiên đã đề xuất một hướng cải tiến hệ mã hóa Rabin bằng cách sử dụng n = pqr (tích của ba số nguyên tố) nhằm nâng cao độ an toàn và khắc phục một số nhược điểm trong quá trình giải mã, cho thấy lĩnh vực này vẫn liên tục được nghiên cứu và phát triển.

4.1. Phân tích thuật toán RSA Nguyên tắc và độ an toàn

Thuật toán RSA hoạt động dựa trên số học mô-đun. Quá trình tạo khóa bao gồm việc chọn hai số nguyên tố lớn p và q, tính n = p*q và φ(n) = (p-1)(q-1). Sau đó, chọn một số e (khóa mã hóa) sao cho nguyên tố cùng nhau với φ(n) và tính d (khóa giải mã) là nghịch đảo của e theo mô-đun φ(n). Cặp (e, n) là khóa công khai và d là khóa riêng tư. Quá trình mã hóa một thông điệp M là C ≡ M^e (mod n), và giải mã là M ≡ C^d (mod n). Độ an toàn của RSA nằm ở chỗ việc tìm d từ e và n đòi hỏi phải biết φ(n), và việc tính φ(n) lại tương đương với việc phân tích n thành p và q. Chừng nào bài toán phân tích thừa số nguyên tố còn khó, hệ thống RSA vẫn được coi là an toàn. Độ dài khóa (số bit của n) là yếu tố quyết định mức độ bảo mật.

4.2. Hệ mã hóa Rabin và hướng cải tiến nâng cao bảo mật

Hệ mã hóa Rabin là một ví dụ điển hình về một hệ mã hóa có an toàn được chứng minh. Độ an toàn của nó gắn chặt với bài toán phân tích thừa số nguyên tố: bất kỳ thuật toán nào có thể phá vỡ Rabin đều có thể được dùng để phân tích mô-đun n. Quá trình mã hóa trong hệ Rabin rất đơn giản: C ≡ M^2 (mod n). Tuy nhiên, khi giải mã, việc tính căn bậc hai theo mô-đun n sẽ cho ra bốn nghiệm. Điều này tạo ra sự mơ hồ và là một nhược điểm. Để giải quyết vấn đề này và tăng cường bảo mật, luận văn gốc đề xuất một cải tiến: thay vì dùng n = pq, hệ thống sử dụng n = pq*r. Việc này làm cho bài toán phân tích n trở nên khó hơn nữa, từ đó nâng cao độ an toàn của hệ thống. Đồng thời, nghiên cứu cũng đề xuất các công thức tính nghịch đảo để quy trình giải mã của cả hệ Rabin gốc và Rabin cải tiến trở nên dễ dàng và hiệu quả hơn, cho thấy tiềm năng tối ưu hóa ngay cả với các hệ mã hóa đã có.

V. Ứng dụng mật mã khóa công khai trong giao dịch dữ liệu

Các ứng dụng của mật mã khóa công khai đã trở thành một phần không thể thiếu trong cuộc sống số, từ việc bảo vệ email đến đảm bảo an toàn cho các giao dịch điện tử trị giá hàng tỷ đô la. Một trong những ứng dụng quan trọng nhất là tạo ra các kênh truyền thông an toàn trên Internet, điển hình là giao thức SSL/TLS (nay là nền tảng của HTTPS). Trong giao thức này, mật mã khóa công khai được sử dụng ở giai đoạn đầu để hai bên xác thực lẫn nhau và trao đổi an toàn một khóa phiên đối xứng. Sau đó, khóa đối xứng này được dùng để mã hóa toàn bộ dữ liệu truyền đi, kết hợp ưu điểm của cả hai hệ thống (mã hóa kết hợp). Một ứng dụng quan trọng khác là chữ ký điện tử, cung cấp tính toàn vẹn, xác thựcchống chối bỏ. Người gửi dùng khóa riêng tư để ký, người nhận dùng khóa công khai để kiểm tra. Điều này đảm bảo rằng văn bản không bị sửa đổi và thực sự đến từ người ký. Các ứng dụng khác bao gồm tạo vỏ bọc an toàn cho văn bản mật, cấp chứng chỉ số, và ủy quyền, tất cả đều góp phần xây dựng một môi trường kỹ thuật số đáng tin cậy.

5.1. Bảo mật dữ liệu với vỏ bọc an toàn và mã hóa kết hợp

mật mã khóa công khai tính toán chậm hơn so với mã hóa đối xứng, nó không phù hợp để mã hóa trực tiếp các tệp dữ liệu lớn. Giải pháp thực tế là sử dụng một mô hình mã hóa kết hợp (hybrid encryption). Quy trình hoạt động như sau: đầu tiên, một khóa phiên ngẫu nhiên (khóa đối xứng) được tạo ra. Dữ liệu chính sẽ được mã hóa bằng khóa phiên này. Sau đó, chính khóa phiên đó lại được mã hóa bằng khóa công khai của người nhận. Cả dữ liệu đã mã hóa và khóa phiên đã mã hóa được gửi đi cùng nhau. Người nhận sẽ dùng khóa riêng tư của mình để giải mã khóa phiên, sau đó dùng khóa phiên để giải mã dữ liệu. Kỹ thuật này, còn được gọi là tạo vỏ bọc an toàn (secure envelope), tận dụng được tốc độ của mã hóa đối xứng để xử lý dữ liệu lớn và sự tiện lợi của mật mã khóa công khai để giải quyết bài toán phân phối khóa.

5.2. Xác thực chủ thể và chữ ký điện tử trong giao dịch online

Chữ ký điện tử là một trong những ứng dụng đột phá nhất của mật mã khóa công khai. Nó không chỉ là một hình ảnh của chữ ký tay, mà là một cơ chế toán học đảm bảo ba yếu tố: xác thực (người ký là ai), toàn vẹn (thông điệp không bị thay đổi) và chống chối bỏ (người ký không thể phủ nhận hành động của mình). Để tạo chữ ký, người gửi trước hết sử dụng một hàm băm để tạo ra một "dấu vân tay" số của thông điệp, sau đó mã hóa dấu vân tay này bằng khóa riêng tư của mình. Kết quả chính là chữ ký điện tử. Người nhận sử dụng khóa công khai của người gửi để giải mã chữ ký, đồng thời tự tính lại hàm băm của thông điệp. Nếu hai giá trị băm khớp nhau, chữ ký được xác thực. Đây là công nghệ nền tảng cho hợp đồng điện tử, hóa đơn điện tử, và mọi giao dịch online yêu cầu độ tin cậy cao.

VI. Tương lai mật mã khóa công khai an toàn thông tin toàn diện

Kể từ khi ra đời, mật mã khóa công khai đã trở thành trụ cột của an toàn thông tin hiện đại. Nó không chỉ giải quyết các vấn đề cố hữu của mã hóa đối xứng mà còn mở ra vô số ứng dụng mới, từ thương mại điện tử, ngân hàng số đến công nghệ blockchain. Sự phát triển không ngừng của công nghệ tính toán đòi hỏi các hệ mã hóa phải liên tục được nâng cấp, với độ dài khóa ngày càng lớn hơn để duy trì mức độ bảo mật. Tuy nhiên, thách thức lớn nhất trong tương lai đến từ máy tính lượng tử. Các máy tính lượng tử, nếu được chế tạo thành công, có khả năng giải quyết các bài toán nền tảng như phân tích thừa số nguyên tố và logarit rời rạc một cách hiệu quả bằng thuật toán Shor. Điều này có nghĩa là các hệ mã hóa khóa công khai phổ biến hiện nay như RSA và ElGamal sẽ bị phá vỡ. Do đó, cộng đồng mật mã học toàn cầu đang tích cực nghiên cứu và phát triển một thế hệ mật mã mới, được gọi là mật mã hậu lượng tử (post-quantum cryptography), có khả năng chống lại các cuộc tấn công từ cả máy tính cổ điển và máy tính lượng tử. Tương lai của an toàn thông tin sẽ phụ thuộc vào sự thành công của những nỗ lực này.

6.1. Tổng kết vai trò cốt lõi trong an ninh mạng hiện đại

Mật mã khóa công khai đã chuyển đổi ngành mật mã từ một nghệ thuật giữ bí mật thành một khoa học về sự tin cậy. Nó là công nghệ nền tảng cho phép các giao dịch an toàn giữa các bên không tin tưởng nhau trên một mạng lưới không an toàn. Mọi chứng chỉ số (digital certificate), mọi kết nối HTTPS, mọi giao dịch tiền điện tử đều dựa vào nguyên tắc của mật mã khóa công khai. Nó không chỉ cung cấp tính bí mật mà còn đảm bảo tính xác thực, toàn vẹn và không thể chối bỏ - những yếu tố thiết yếu cho một xã hội số vận hành trơn tru. Có thể nói, không có mật mã khóa công khai, Internet như chúng ta biết ngày nay sẽ không thể tồn tại. Vai trò của nó trong việc bảo vệ dữ liệu cá nhân, tài sản tài chính và cơ sở hạ tầng quan trọng là không thể thay thế.

6.2. Hướng phát triển trước thách thức từ máy tính lượng tử

Sự trỗi dậy của máy tính lượng tử đặt ra một mối đe dọa υπαρξιακή đối với các hệ thống mật mã khóa công khai hiện tại. Nhận thức được điều này, các nhà nghiên cứu đang phát triển nhiều hướng tiếp cận cho mật mã hậu lượng tử. Các hướng này bao gồm mật mã dựa trên mạng tinh thể (lattice-based), dựa trên hàm băm (hash-based), dựa trên mã (code-based), và dựa trên phương trình đa biến (multivariate cryptography). Những hệ thống này được thiết kế dựa trên các bài toán toán học được cho là khó giải ngay cả đối với máy tính lượng tử. Quá trình tiêu chuẩn hóa các thuật toán hậu lượng tử đang được các tổ chức như NIST (Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ) dẫn dắt. Việc chuyển đổi từ hạ tầng mật mã hiện tại sang mật mã hậu lượng tử sẽ là một trong những thách thức lớn nhất của ngành an ninh mạng trong thập kỷ tới, đòi hỏi sự chuẩn bị kỹ lưỡng và phối hợp toàn cầu.

24/09/2025

Trích đoạn nội dung tài liệu

phần mở đầu và kết luận, kết cấu của luận văn gồm 4 chƣơng: - Chƣơng 1 “Giới thiệu chung và cơ sở toán học của lý thuyết mật mã” nhằm trình bày các vấn đề chung nhất của mật mã, đƣa ra các khái niệm cơ bản. Phần cơ sở toán học trình bày các kiến thức toán học làm nền cho các nội dung chính trong luận văn nhƣ: số học các số nguyên, thuật toán Euclid, thuật toán Euclid mở rộng, lý thuyết đồng dƣ, thặng dƣ thu gọn, phần tử nguyên thủy, phƣơng trình đồng dƣ tuyến tình và đồng dƣ bậc hai. Ngoài ra trình bày về độ phức tạp thuật toán, hàm một phía và cửa sập một phía. - Chƣơng 2 “Phương pháp kiểm tra và sinh số nguyên tố” trình bày các định nghĩa, định lý về số nguyên tố.

Giới thiệu một số phƣơng pháp với các thuật toán kiểm tra và sinh số nguyên tố nói chung và số nguyên tố lớn nói riêng, đóng vai trò rất quan trọng trong việc cung cấp số nguyên tố lớn giúp thực thi, ứng dụng các hệ mã hóa khóa công khai. Các phƣơng pháp đƣợc trình bày trong luận văn là: phƣơng pháp cổ điển, phƣơng pháp xác suất và phƣơng pháp xác định. Trong chƣơng này cũng trình bày một phƣơng pháp phân tích một số ra thừa số nguyên tố. TIEU LUAN MOI download : skknchat@gmail.com 9 - Chƣơng 3 “Đề xuất cấu trúc dữ liệu và thuật toán xử lý số nguyên lớn” trình bày cụ thể cấu trúc dữ liệu và đề xuất các thuật toán để có thể xây dựng hoàn chỉnh thƣ viện xử lý số nguyên lớn.

Thực tế xây dựng thì khả năng xử lý của thƣ viện này lên tới hàng nghìn chữ số và tốc độ thực hiện các phép toán nhƣ trong các ngôn lập trình, tƣơng đƣơng với thƣ viện đã có (có bổ sung so với nội dung đăng trong Kỷ yếu hội thảo quốc gia lần thứ XII “Một số vấn đề chọn lọc của công nghệ thông tin và truyền thông”, Đồng Nai, 8/2009, NXB KHKT 2010). - Chƣơng 4 “Một số hệ mã hóa khóa công khai và cải tiến hệ mã hóa Rabin” trình bày lịch sử ra đời, một số bài toán nền tảng xây dựng hệ mã hóa khóa công khai. Trong chƣơng này cũng trình bày một số hệ mã hóa khóa công khai RSA, ElGamal, Rabin. Hơn nữa chƣơng này đƣa ra hƣớng cải tiến nhằm nâng cao độ an toàn của hệ mã hóa khóa công khai Rabin và hƣớng khắc phục một số nhƣợc điểm trong quá trình giải mã.

Đƣa ra một số công thức tính nghịch đảo để quy trình giải mã của hệ mã hóa Rabin và Rabin cải tiến đƣợc dễ dàng. TIEU LUAN MOI download : skknchat@gmail.com 10 Chƣơng 1 - GIỚI THIỆU CHUNG VÀ CƠ SỞ TOÁN HỌC CỦA LÝ THUYẾT MẬT MÃ Tóm tắt chương: Trong chương này luận văn giới thiệu lịch sử mật mã, các hệ mã, các bài toàn an toàn thông tin và bài toán thám mã. Đưa ra được một số khái niệm cơ bản nhất của mã hóa như: bản rõ, bản mã, hệ mã hóa thám mã, khóa mã, mã hóa khóa công khai, mã hóa khóa đối xứng, mã theo khối, mã theo dòng.v…Ngoài ra nội dung chương cũng trình bày về số học các số nguyên, thuật toán Eucild, thuật toán Euclid mở rộng, lý thuyết đồng dư, thặng dư thu gọn, phần tử nguyên thủy, phương trình đồng dư tuyến tình và đồng dư bậc hai. Ngoài ra trình bày về độ phức tạp thuật toán, hàm một phía và cửa sập một phía.

Các nội dung của chương này được tổng hợp từ các tài liệu [7][16]. Giới thiệu chung về mật mã 1. Sơ lƣợc lịch sử về mật mã Nhu cầu sử dụng mật mã đã xuất hiện từ rất sớm, khi con ngƣời biết trao đổi và truyền đƣa thông tin cho nhau, đặc biệt khi các thông tin đó đã đƣợc thể hiện dƣới hình thức ngôn ngữ, thƣ từ. Mật mã trƣớc hết là một loại hoạt động thực tiễn, lúc này nội dung chính của nó là để giữ bí mật thông tin từ một ngƣời gửi A đến một ngƣời nhận B.

Vì bản gửi đi thƣờng đƣợc chuyển qua các con đƣờng công khai nên ngƣời ngoài có thể “lấy trộm” đƣợc, nên thay vì gửi bản rõ thì A gửi cho B bản mã mật của bản rõ ngƣời ngoài không hiểu đƣợc. Nhƣng B có thể giải bản mã mật này thành bản rõ để hiểu đƣợc là do giữa hai ngƣời đã có một thỏa thuận về một chìa khóa chung. Chìa khóa chung đó đƣợc gọi đơn giản là khóa mật mã. Tất nhiên để thực hiện đƣợc một phép mật mã, còn cần có một thuật toán biến bản rõ, cùng với khóa mật mã, thành bản mã mật, và một thuật toán ngƣợc lại, biến bản mã mật, cùng với khóa mật mã, thành bản rõ.

Các thuật toán đó đƣợc gọi là tƣơng ứng là thuật toán lập mật mã và thuật toán giải mật mã. Các thuật toán này thƣờng không nhất thiết phải giữ bí mật, mà cái cần đƣợc giữ tuyệt mật luôn luôn là khóa mật mã. Trong thực tiễn, đã có hoạt động bảo mật thì cũng có hoạt động ngƣợc lại là khám phá bí mật từ các bản mật mã “lấy trộm” đƣợc, ta thƣờng gọi hoạt động này là mã thám, hoạt động này quan trọng không kém gì hoạt động bảo mật! Vì các thuật toán lập mật mã và giải mật mã không nhất thiết là bí mật, nên mã thám thƣờng đƣợc tập trung vào việc tìm khóa mật mã, do đó cũng có ngƣời gọi công việc đó là phá khóa. Suốt mấy nghìn năm lịch sử, các thông báo, thƣ từ đƣợc truyền đƣa và trao đổi với nhau thƣờng là các văn bản, tức là có dạng các dãy ký tự trong một ngôn ngữ nào đó; vì vậy, các thuật toán lập mật mã thƣờng cũng đơn giản là thuật toán xáo trộn, thay đổi các ký tự đƣợc xác định bởi các phép chuyển dịch, thay thế hay hoán vị các ký tự trong bảng ký tự của ngôn ngữ tƣơng ứng; khóa mật mã là thông tin dùng để thực hiện phép lập mật mã và giải mật mã cụ thể,.

Lúc này mật mã chƣa phải là một khoa học. Do trong một thời gian dài bản thân hoạt động mật mã cũng đƣợc xem là một bí mật, nên các tài liệu kỹ thuật về mật mã đƣợc phổ biến đến nay thƣờng chỉ ghi lại các kiến thức kinh nghiệm, thỉnh thoảng mới có một vài “phát minh” nhƣ các hệ mật mã Vigenère vào thế kỷ 16 hoặc hệ mật mã Hill ra đời năm 1929 là các hệ mã thực hiện phép chuyển dịch (đối với mã Vigenère) hay phép thay thế (mã Hill) đồng thời trên một nhóm ký tự chứ không phải trên TIEU LUAN MOI download : skknchat@gmail.com 11 từng ký tự riêng rẽ. Vấn đề thám mã, ngƣợc lại, khi thành công thƣờng đƣa đến những cống hiến nổi trội và ấn tƣợng trong những tình huống gay cấn của các cuộc đấu tranh, và cũng thƣờng đòi hỏi nhiều tài năng phát hiện với những kinh nghiệm và suy luận tinh tế hơn. Nhƣ vậy, trƣớc đây mật mã chỉ đƣợc hiểu theo nghĩa hẹp, chủ yếu dùng đề bảo mật dữ liệu, ngƣời ta quan niệm: mật mã học là khoa học nghiên cứu mật mã: tạo mã và phân tích mã (thám mã) [16].

Bƣớc sang thế kỷ 20, với những tiến bộ liên tục của kỹ thuật tính toán và truyền thông, ngành mật mã cũng đã có những tiến bộ to lớn. Vào những thập niên đầu của thế kỷ, sự phát triển của các kỹ thuật biểu diễn, truyền và xử lý tín hiệu đã có tác động giúp cho các hoạt động lập và giải mật mã từ thủ công chuyển sang cơ giới hóa rồi điện tử hóa. Các văn bản, các bản mật mã trƣớc đây đƣợc viết bằng ngôn ngữ thông thƣờng nay đƣợc chuyển bằng kỹ thuật số thành các dãy tín hiệu nhị phân, tức các dãy bit, và các phép biến đổi trên các dãy ký tự đƣợc chuyển thành các phép biến đổi trên các dãy bit, hay các dãy số, việc thực hiện các phép lập mã, giải mã trở thành việc thực hiện các hàm số số học. Toán học và kỹ thuật tính toán bắt đầu trở thành công cụ cho việc phát triển khoa học về mật mã.

Khái niệm trung tâm của khoa học mật mã là khái niệm bí mật. Đó là một khái niệm phổ biến trong đời sống, nhƣng liệu có thể cho nó một nội dung có thể định nghĩa đƣợc một cách toán học không? Khái niệm bí mật thoạt đầu đƣợc gắn với khái niệm ngẫu nhiên, rồi về sau trong những thập niên gần đây, với khái niệm phức tạp, cụ thể hơn là khái niệm độ phức tạp tính toán. Việc sử dụng lý thuyết xác suất và ngẫu nhiên làm cơ sở để nghiên cứu mật mã đã giúp C.Shannon đƣa ra khái niệm bí mật hoàn toàn của một hệ mật mã từ năm 1948, khởi đầu cho một lý thuyết xác suất về mật mã. Trong thực tiễn làm mật mã, các dãy bit ngẫu nhiên đƣợc dùng để trộn với bản rõ (dƣới dạng một dãy bit xác định) thành ra bản mật mã.

Làm thế nào để tạo ra các dãy bit ngẫu nhiên? Có thể tạo ra bằng phƣơng pháp vật lý đơn giản nhƣ sau: ta tung đồng xu lên, nếu đồng xu rơi xuống ở mặt sấp thì ta ghi bit 0, ở mặt ngửa thì ta ghi bit 1; tung n lần ta sẽ đƣợc một dãy n bit, dãy bit thu đƣợc nhƣ vậy có thể đƣợc xem là dãy bit ngẫu nhiên. Nhƣng tạo ra theo cách nhƣ vậy thì khó có thể sử dụng một cách phổ biến, vì không thể tìm ra quy luật để theo đó mà sinh ra dãy bit ngẫu nhiên đƣợc. Ở đây ta gặp một khó khăn có tính bản chất: nếu qui luật thì đã không còn là ngẫu nhiên nữa rồi! Nhƣ vậy, nếu ta muốn tìm theo qui luật, thì không bao giờ có thể tìm ra các dãy bit ngẫu nhiên, hay giả ngẫu nhiên, mà thôi. Từ vài chục năm nay, ngƣời ta đã nghiên cứu đề xuất nhiều thuật toán toán học để sinh ra các dãy bit giả ngẫu nhiên, và cũng đã đƣa ra nhiều thuộc tính để đánh giá một dãy bit giả ngẫu nhiên có đáng đƣợc xem là “gần” ngẫu nhiên hay không.

Một vài thuộc tính chủ yếu mà ngƣời ta đã đề xuất là: cho một dãy bit X = (x1, x2, .); dãy đó đƣợc xem là giả ngẫu nhiên “tốt” nếu xác suất xuất hiện bit 0 hay bit l trong toàn dãy đó cũng nhƣ trong mọi dãy con bất kỳ của nó đều bằng 1/2; hoặc một tiêu chuẩn khác: nếu mọi chƣơng trình sinh ra đƣợc đoạn đầu n bit của dãy đều phải có độ phức tạp (hay độ dài) cỡ n ký tự!

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ