Số học số lớn cho mật mã luận án thạc sĩ
Luận án thạc sĩ về số học số lớn, tối ưu hóa thuật toán cho mật mã hiện đại. Nghiên cứu sâu ứng dụng bảo mật hệ thống.
Đại học Thái Nguyên - Trường Đại học Công nghệ Thông tin và Truyền thông
Luan An
Luận văn thạc sĩ
Năm xuất bản
Số trang
72
Thời gian đọc
11 phút
Lượt xem
1
Lượt tải
0
Phí lưu trữ
40 Point
Tổng quan nhanh
- Chủ đề:
- Khám phá Số học số lớn cho Mật mã: Nền tảng Bảo mật
- Số trang:
- 72 trang
- Trường:
- Đại học Thái Nguyên - Trường Đại học Công nghệ Thông tin và Truyền thông
- Chuyên ngành:
- Khoa học máy tính
- Tác giả:
- Nguyễn Tam Cường
- Năm:
- 2013
Tóm tắt nội dung luận án
I.Khám phá Số học số lớn cho Mật mã Nền tảng Bảo mật
Luận văn khám phá sâu sắc vai trò của số học số lớn trong mật mã học hiện đại. Các hệ thống mật mã khóa công khai yêu cầu xử lý các số nguyên với hàng trăm, thậm chí hàng nghìn bit. Kích thước này đảm bảo an toàn thông tin. Việc thiếu các thuật toán hiệu quả cho số học đa chính xác sẽ làm suy yếu bảo mật. Tài liệu tập trung vào các kỹ thuật cần thiết để thực hiện các phép toán trên những số nguyên khổng lồ. Mục tiêu là xây dựng nền tảng vững chắc cho các ứng dụng mật mã. Đây là yếu tố then chốt cho an ninh mạng.
1.1. Tầm quan trọng của số học số lớn trong mật mã
Mật mã học hiện đại dựa vào tính toán với các số nguyên có độ dài lớn. Các phép toán cơ bản như cộng, trừ, nhân, chia thông thường không đủ. Độ phức tạp tính toán của các bài toán như phân tích thừa số nguyên tố quyết định độ an toàn. Số học số lớn cung cấp các phương pháp để thực hiện những phép toán này một cách chính xác. Nó là xương sống của mọi giao thức bảo mật dữ liệu.
1.2. Mật mã khóa công khai và nhu cầu số lớn
Các hệ mật mã khóa công khai, điển hình là RSA, đòi hỏi các số nguyên cực lớn. Kích thước số nguyên này giúp chống lại các cuộc tấn công phá mã. Độ khó của bài toán phân tích thừa số và bài toán RSA tăng theo cấp số mũ với kích thước số. Do đó, việc sử dụng số học số lớn là bắt buộc. Nó đảm bảo tính bảo mật và toàn vẹn của dữ liệu trong các giao tiếp điện tử.
II.Kỹ thuật Xử lý Số học Đa chính xác hiệu quả
Hiệu suất của các thuật toán mật mã phụ thuộc vào kỹ thuật xử lý số học đa chính xác. Luận văn trình bày và phân tích các phương pháp hiệu quả cho các phép toán trên số lớn. Các kỹ thuật này được thiết kế để tối ưu hóa tốc độ và tài nguyên. Mục tiêu là làm cho các hoạt động mật mã trở nên khả thi trong thực tế. Nó bao gồm cả các phép toán cơ bản và các phép toán nâng cao.
2.1. Nhân số lớn Karatsuba và tối ưu hóa
Phép nhân là một trong những phép toán tốn kém nhất trên số lớn. Thuật toán nhân số lớn Karatsuba giảm độ phức tạp tính toán đáng kể so với phương pháp nhân truyền thống. Kỹ thuật này chia bài toán lớn thành các bài toán nhỏ hơn, sau đó kết hợp kết quả. Nó đóng vai trò quan trọng trong việc tăng tốc các hệ thống mật mã. Việc tối ưu hóa Karatsuba cải thiện hiệu năng đáng kể.
2.2. Lũy thừa modular nhanh và ứng dụng bảo mật
Lũy thừa modular nhanh là thuật toán thiết yếu trong nhiều hệ mật mã, bao gồm RSA và Mật mã đường cong Elliptic (ECC). Phương pháp này tính toán a^b mod n một cách hiệu quả. Nó sử dụng kỹ thuật 'bình phương và nhân' để giảm số phép nhân. Hiệu quả của lũy thừa modular trực tiếp ảnh hưởng đến tốc độ mã hóa và giải mã. Đây là yếu tố then chốt cho hiệu năng mật mã.
2.3. Nghịch đảo modular Euclid mở rộng
Việc tìm nghịch đảo modular là cần thiết cho các thuật toán mật mã như RSA. Thuật toán Euclid mở rộng cung cấp một phương pháp hiệu quả để tính toán nghịch đảo modular. Nó không chỉ tìm ước chung lớn nhất mà còn xác định các hệ số Bezout. Đây là nền tảng cho việc tạo khóa và các phép toán giải mã. Thuật toán này đảm bảo tính toán chính xác và nhanh chóng.
III.Hệ mật mã RSA Ứng dụng Số học số lớn then chốt
Hệ mật mã RSA là ví dụ điển hình nhất về ứng dụng của số học số lớn. Luận văn phân tích cách các phép toán số học số lớn được tích hợp trong RSA. RSA vẫn là một trong những thuật toán mật mã khóa công khai được sử dụng rộng rãi nhất. Bảo mật của nó hoàn toàn dựa trên sự khó khăn trong việc thực hiện các phép toán với số nguyên lớn. Hiểu rõ cơ chế RSA là chìa khóa để đánh giá tầm quan trọng của số học đa chính xác.
3.1. Cơ chế hoạt động của thuật toán RSA
Thuật toán RSA bao gồm các bước tạo khóa, mã hóa và giải mã. Mỗi bước này đều sử dụng các phép toán số học số lớn, đặc biệt là lũy thừa modular. Việc tạo khóa công khai và khóa riêng tư yêu cầu chọn hai số nguyên tố lớn. Quá trình mã hóa và giải mã liên quan đến việc tính toán lũy thừa của một thông điệp. Tất cả các phép toán này phải xử lý số có kích thước hàng trăm bit.
3.2. Đảm bảo an toàn RSA qua kích thước số nguyên
An toàn của RSA phụ thuộc trực tiếp vào kích thước của các số nguyên tố được chọn. Các số nguyên càng lớn, việc phân tích thừa số càng trở nên khó khăn. Điều này làm tăng chi phí tính toán cho kẻ tấn công. Mật mã khóa công khai như RSA duy trì độ an toàn bằng cách sử dụng các số có độ dài bit đủ lớn. Do đó, số học số lớn là yếu tố không thể thiếu để bảo vệ thông tin.
IV.Thư viện Số học lớn Công cụ Phát triển Mật mã
Việc triển khai hiệu quả các thuật toán số học số lớn đòi hỏi một thư viện chuyên dụng. Luận văn thảo luận về kiến trúc và phát triển một thư viện số học lớn. Thư viện này cung cấp các hàm API để thực hiện các phép toán đa chính xác. Nó đơn giản hóa quá trình phát triển các ứng dụng mật mã. Thư viện này cũng tối ưu hóa hiệu năng và độ tin cậy. Đây là một công cụ thiết yếu cho các nhà phát triển.
4.1. Thiết kế và triển khai thư viện số học
Thiết kế một thư viện số học lớn bao gồm việc chọn cách biểu diễn số hiệu quả. Các số lớn thường được lưu trữ dưới dạng mảng các từ máy tính. Việc triển khai từng phép toán (cộng, trừ, nhân, chia, lũy thừa modular) cần được tối ưu. Thư viện phải hỗ trợ các phép toán có dấu và không dấu. Mục tiêu là cung cấp một bộ công cụ mạnh mẽ và dễ sử dụng cho các nhà phát triển.
4.2. Lợi ích của thư viện số lớn trong mật mã
Sử dụng thư viện số học lớn giúp các nhà phát triển mật mã tiết kiệm thời gian và công sức. Nó cung cấp các thuật toán đã được kiểm tra và tối ưu hóa sẵn. Điều này giảm thiểu lỗi và tăng cường bảo mật của ứng dụng. Thư viện cho phép tập trung vào logic mật mã thay vì chi tiết triển khai số học. Nó là một thành phần quan trọng trong việc xây dựng các hệ thống an toàn và hiệu quả.
V.Tối ưu hóa Hiệu năng Thuật toán Mật mã hiện đại
Hiệu năng là một yếu tố then chốt trong các hệ thống mật mã thực tế. Luận văn xem xét các phương pháp tối ưu hóa hiệu năng của các thuật toán số học mật mã. Các phép toán trên số lớn có thể rất tốn kém về mặt tính toán. Việc tối ưu hóa giúp giảm thời gian xử lý, làm cho các hệ thống mật mã nhanh hơn. Điều này đặc biệt quan trọng trong các ứng dụng yêu cầu tốc độ cao. Các kỹ thuật tối ưu hóa đảm bảo tính khả thi của mật mã.
5.1. Phân tích độ phức tạp tính toán thuật toán
Phân tích độ phức tạp tính toán là bước đầu tiên để tối ưu hóa. Nó giúp xác định các thuật toán hiệu quả nhất cho từng phép toán số học lớn. Ví dụ, thuật toán Karatsuba có độ phức tạp thấp hơn so với nhân truyền thống. Việc hiểu rõ Big O notation giúp lựa chọn phương pháp tối ưu. Phân tích này là nền tảng để cải thiện hiệu năng mật mã.
5.2. Các kỹ thuật tăng tốc xử lý cho mật mã
Nhiều kỹ thuật được áp dụng để tăng tốc các phép toán mật mã. Bao gồm việc sử dụng bảng tra cứu, tối ưu hóa cấp độ bit, và kiến trúc song song. Việc lựa chọn cấu trúc dữ liệu phù hợp cũng đóng vai trò quan trọng. Các tối ưu hóa này có thể bao gồm cả việc sử dụng các hướng dẫn CPU cụ thể. Mục tiêu là giảm thiểu chu kỳ xung nhịp cho mỗi phép toán. Điều này cải thiện đáng kể trải nghiệm người dùng.
VI.Các Khái niệm cơ bản Mật mã học Bảo mật thông tin
Mật mã học là lĩnh vực then chốt trong bảo mật thông tin. Luận văn cung cấp cái nhìn tổng quan về các khái niệm cơ bản. Việc nắm vững các nguyên tắc này là cần thiết để hiểu sâu về ứng dụng số học số lớn. Mật mã giúp bảo vệ dữ liệu khỏi truy cập trái phép và sửa đổi. Nó là một yếu tố không thể thiếu trong thế giới số hóa hiện nay. Các khái niệm này đặt nền tảng cho an ninh mạng.
6.1. Giới thiệu về mật mã khóa công khai
Mật mã khóa công khai sử dụng một cặp khóa: khóa công khai và khóa riêng tư. Khóa công khai dùng để mã hóa thông điệp, khóa riêng tư dùng để giải mã. Khóa công khai có thể được chia sẻ rộng rãi, khóa riêng tư phải được giữ bí mật. Hệ thống này giải quyết vấn đề phân phối khóa của mật mã đối xứng. Nó là nền tảng cho chữ ký số và giao tiếp an toàn trên internet.
6.2. Tính năng của hệ mật mã Bảo mật toàn vẹn xác thực
Một hệ mật mã hiệu quả phải đảm bảo nhiều tính năng. Bảo mật thông tin ngăn chặn việc đọc trộm bởi bên thứ ba. Toàn vẹn dữ liệu đảm bảo thông tin không bị thay đổi. Xác thực thông tin xác minh danh tính của người gửi và tính hợp lệ của dữ liệu. Ngoài ra, tính không từ chối cũng là một yếu tố quan trọng. Các tính năng này được củng cố bởi việc sử dụng số học số lớn hiệu quả. Chúng là trụ cột của mọi hệ thống an toàn.
Tải xuống file đầy đủ để xem toàn bộ nội dung
Tải đầy đủ (72 trang)Nội dung chính
Tổng quan nghiên cứu
Mật mã học, một trụ cột quan trọng trong lĩnh vực bảo mật và an toàn thông tin, đã trải qua một quá trình phát triển vượt bậc từ thời La Mã cổ đại. Ngày nay, với sự bùng nổ của kỷ nguyên số, nhu cầu bảo mật thông tin càng trở nên cấp thiết, đặc biệt là trong các giao dịch điện tử và truyền thông số. Các hệ mật mã khóa công khai như RSA đóng vai trò then chốt, nhưng chúng đòi hỏi khả năng thực hiện các phép toán với số nguyên lớn, thường lên đến hàng trăm chữ số. Vấn đề cốt lõi nằm ở chỗ, độ phức tạp tính toán của việc mã hóa và giải mã tỷ lệ hàm mũ với kích thước của các số nguyên này. Để duy trì tính an toàn trước các cuộc tấn công ngày càng tinh vi, việc tăng kích thước của các số nguyên là không thể tránh khỏi, dẫn đến thời gian xử lý tăng lên đáng kể. Điều này tạo ra một thách thức lớn: làm thế nào để đảm bảo an toàn thông tin mà vẫn duy trì tốc độ xử lý cần thiết cho khối lượng dữ liệu khổng lồ hiện nay?
Luận văn "Số học số lớn cho mật mã" tập trung giải quyết vấn đề tối ưu hóa các giải thuật xử lý số học với số nguyên lớn, nhằm nâng cao hiệu quả và tính bảo mật của các hệ mật mã công khai. Mục tiêu chính là xây dựng một thư viện tính toán số lớn hiệu quả và áp dụng thử nghiệm vào hệ mật mã RSA. Phạm vi nghiên cứu bao gồm việc phân tích độ phức tạp tính toán, nghiên cứu cơ sở lý thuyết số học cho các phép toán trên số nguyên kích thước lớn (cộng, trừ, nhân, chia, số dư, số nguyên tố, ước chung lớn nhất), tổ chức dữ liệu cho số lớn, và xây dựng các thuật toán tối ưu hóa. Toàn bộ nghiên cứu được thực hiện và hoàn thành vào năm 2013 tại Đại học Thái Nguyên, trong khuôn khổ ngành Khoa học Máy tính. Ý nghĩa của đề tài không chỉ dừng lại ở việc cung cấp nền tảng khoa học vững chắc về các thuật toán mật mã và lý thuyết số, mà còn mang lại ý nghĩa thực tiễn to lớn thông qua việc cài đặt hoàn chỉnh các giải thuật xử lý số học cho số nguyên lớn cỡ hàng trăm chữ số, và đánh giá hiệu năng xử lý của hệ mã RSA trước và sau khi tối ưu. Dự kiến, các cải tiến này sẽ giúp giảm thiểu thời gian xử lý mã hóa xuống khoảng 15-20% và tăng cường khả năng chống chịu trước các cuộc tấn công Brute-force.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết áp dụng
Để xây dựng nền tảng vững chắc cho việc tối ưu hóa số học số lớn trong mật mã, luận văn đã kế thừa và áp dụng nhiều khung lý thuyết và mô hình nghiên cứu quan trọng. Đầu tiên, Lý thuyết Mật mã học là nền tảng cốt lõi, đặc biệt là các khái niệm về hệ mật mã khóa công khai như RSA. Lý thuyết này giải thích nguyên lý hoạt động của mã hóa và giải mã, các yếu tố bảo mật như tính bí mật, toàn vẹn, chống chối bỏ và xác thực. Các khái niệm như bản rõ, bản mã, khóa công khai, khóa riêng, và hàm một chiều (one-way function) hay hàm cửa sập một phía (trapdoor one-way function) là trọng tâm để hiểu cách RSA tận dụng độ khó của các bài toán toán học.
Thứ hai là Lý thuyết Số học, cung cấp các công cụ toán học cần thiết để làm việc với số nguyên lớn. Các khái niệm chính bao gồm:
- Số nguyên tố và nguyên tố cùng nhau: Nền tảng cho việc tạo khóa RSA, đặc biệt là việc tìm các số nguyên tố lớn (thường lớn hơn 10^150) và các số nguyên tố cùng nhau để đảm bảo tính an toàn của hệ thống.
- Ước chung lớn nhất (GCD): Được sử dụng rộng rãi, đặc biệt là trong thuật toán Euclid mở rộng để tìm phần tử nghịch đảo modulo, một bước quan trọng trong tạo khóa RSA. Ví dụ, GCD(12, 18) = 6.
- Đồng dư thức và các phép toán trong không gian modulo: Các phép toán cộng, trừ, nhân, lũy thừa modulo là xương sống của RSA. Ví dụ, 11 ≡ 5 (mod 3). Không gian Zn (tập hợp các số nguyên không âm nhỏ hơn n) và Zn* (tập hợp các số nguyên p thuộc Zn và nguyên tố cùng n) là môi trường hoạt động của RSA.
- Phần tử nghịch đảo modulo: Là yếu tố cần thiết để giải mã trong RSA, được tìm thấy bằng thuật toán Euclid mở rộng.
- Hàm Euler (phi-hàm): Hàm φ(n) xác định số lượng số nguyên dương nhỏ hơn hoặc bằng n và nguyên tố cùng nhau với n, đóng vai trò quan trọng trong việc tạo khóa d trong RSA.
Thứ ba, Lý thuyết Độ phức tạp Tính toán cung cấp khuôn khổ để đánh giá hiệu quả của các thuật toán. Các khái niệm như ký hiệu Big O (ví dụ O(n), O(n^2), O(n^3)) được sử dụng để định lượng thời gian chạy của thuật toán, giúp xác định các thuật toán tối ưu. Ví dụ, thuật toán Miller-Rabin để kiểm tra tính nguyên tố có độ phức tạp khoảng O(n^2), với n là số bit của số cần kiểm tra.
Phương pháp nghiên cứu
Luận văn đã áp dụng một phương pháp nghiên cứu tổng hợp, kết hợp nghiên cứu lý thuyết chuyên sâu với thực nghiệm cài đặt để đạt được các mục tiêu đề ra.
Nguồn dữ liệu: Dữ liệu chính được sử dụng là các số nguyên lớn với kích thước thay đổi, từ vài chục đến hàng trăm chữ số, được tạo ra ngẫu nhiên hoặc có cấu trúc để kiểm tra hiệu năng của các thuật toán số học. Các tài liệu khoa học, sách chuyên ngành về mật mã học, lý thuyết số và thuật toán cũng là nguồn dữ liệu lý thuyết quan trọng.
Phương pháp nghiên cứu cụ thể:
- Thu thập và phân tích tài liệu: Nghiên cứu sâu rộng các thuật toán xử lý số nguyên lớn hiện có, các phương pháp mã hóa khóa công khai (đặc biệt là RSA) và các kỹ thuật tối ưu hóa thuật toán. Phân tích các tài liệu học thuật từ năm 2013 trở về trước để nắm bắt tình hình nghiên cứu.
- Nghiên cứu giải thuật và phát hiện điểm cần tối ưu: Dựa trên phân tích các quá trình mã hóa và giải mã của RSA, luận văn đã xác định các phép toán số học với số nguyên lớn (cộng, trừ, nhân, chia, tính ước chung lớn nhất, modulo) là những nút thắt cổ chai về hiệu năng.
- Đề xuất giải pháp tối ưu hóa: Áp dụng các kỹ thuật như phương pháp chia để trị, tối ưu hóa cấu trúc dữ liệu cho số lớn (sử dụng
List<sbyte>trong C# để biểu diễn số lớn, giúp tiết kiệm tài nguyên và linh hoạt hơn mảng tĩnh) và cải tiến các thuật toán số học cơ bản. Ví dụ, việc lặp lại thuật toán Miller-Rabin khoảng 20 lần có thể giảm xác suất sai sót xuống 1/4^20, đảm bảo độ tin cậy cao cho việc tạo số nguyên tố. - Thực nghiệm cài đặt: Xây dựng một thư viện tính toán số lớn theo hướng đối tượng bằng ngôn ngữ C#. Thư viện này bao gồm các hàm để biểu diễn số lớn, thực hiện các phép toán cơ bản, và các thuật toán số học phức tạp như GCD, tính nghịch đảo modulo.
- Ứng dụng thử nghiệm: Tích hợp thư viện số lớn đã phát triển vào một hệ mật mã RSA thử nghiệm.
- Đánh giá hiệu năng: Tiến hành đối sánh kết quả thực thi của hệ mật mã RSA trước và sau khi áp dụng thư viện số lớn tối ưu. Việc đánh giá dựa trên thời gian xử lý các phép toán mã hóa và giải mã với các đầu vào có kích thước khác nhau. Cỡ mẫu cho việc đánh giá này là một tập hợp các cặp khóa RSA được tạo ra với độ dài bit khác nhau (ví dụ: 512-bit, 1024-bit, 2048-bit), và số lượng phép toán thực hiện đủ lớn để thu được kết quả thống kê có ý nghĩa. Phương pháp chọn mẫu là chọn ngẫu nhiên các số nguyên lớn và các khóa trong phạm vi xác định để đảm bảo tính đại diện cho các trường hợp sử dụng thực tế. Việc lựa chọn phương pháp phân tích hiệu năng dựa trên thời gian thực thi là phù hợp vì mục tiêu chính là tối ưu tốc độ xử lý.
Timeline nghiên cứu: Luận văn được thực hiện và hoàn thành trong năm 2013, bao gồm các giai đoạn từ thu thập tài liệu, nghiên cứu lý thuyết, thiết kế thuật toán, cài đặt thực nghiệm và đánh giá kết quả.
Kết quả nghiên cứu và thảo luận
Những phát hiện chính
Nghiên cứu đã mang lại một số phát hiện quan trọng trong việc tối ưu hóa số học số lớn cho mật mã, đặc biệt là trong bối cảnh ứng dụng RSA.
- Cải thiện hiệu năng các phép toán số học cơ bản: Việc tối ưu hóa các giải thuật cộng, trừ, nhân, chia số nguyên lớn đã cho thấy sự cải thiện rõ rệt. Cụ thể, trong môi trường thử nghiệm, phép nhân hai số lớn hàng trăm chữ số bằng thuật toán Ấn Độ đã giảm thời gian tính toán xuống khoảng 20-25% so với phương pháp nhân truyền thống. Tương tự, phép chia số lớn cũng được tối ưu, đạt mức giảm khoảng 18% thời gian xử lý. Các phép toán này được cài đặt với cấu trúc dữ liệu
List<sbyte>trong C#, giúp quản lý bộ nhớ linh hoạt và hiệu quả hơn. - Hiệu quả của thư viện số lớn hướng đối tượng: Thư viện số lớn được xây dựng đã chứng minh tính hiệu quả trong việc xử lý các số nguyên có kích thước lớn, vượt xa giới hạn của kiểu dữ liệu nguyên thủy trong các ngôn ngữ lập trình. Cấu trúc hướng đối tượng giúp đóng gói các thuộc tính và phương thức một cách gọn gàng, dễ dàng mở rộng và tái sử dụng. Các phép toán như ước chung lớn nhất (GCD) và tìm phần tử nghịch đảo modulo, vốn là các thành phần quan trọng của RSA, đã được cài đặt tối ưu. Ví dụ, việc tìm GCD của hai số 512-bit bằng thuật toán Euclid mở rộng diễn ra nhanh hơn khoảng 10-12% so với các triển khai đơn giản.
- Tăng tốc độ xử lý trong hệ mật mã RSA: Khi ứng dụng thư viện số lớn đã tối ưu vào hệ mật mã RSA thử nghiệm, kết quả cho thấy sự gia tăng đáng kể về tốc độ mã hóa và giải mã. Đối với các khóa RSA 1024-bit, thời gian mã hóa một khối dữ liệu đã giảm khoảng 15% và thời gian giải mã giảm khoảng 17% so với khi sử dụng các giải thuật số học không tối ưu. Điều này đặc biệt quan trọng khi xử lý thông tin cần mã hóa có khối lượng lớn.
- Tính chính xác và hiệu quả của kiểm tra tính nguyên tố: Thuật toán Miller-Rabin được triển khai để kiểm tra tính nguyên tố của các số lớn. Với việc thực hiện thuật toán này t = 20 lần, xác suất sai sót tối đa giảm xuống dưới 1/4^20, đảm bảo độ tin cậy cao cho việc tạo các số nguyên tố p và q cần thiết cho RSA. Trong thử nghiệm, việc tìm một số nguyên tố 512-bit bằng thuật toán này cho thấy thời gian xử lý nhanh và độ chính xác đáng tin cậy, với trung bình khoảng 177 số lẻ ngẫu nhiên sẽ có 1 số nguyên tố.
Thảo luận kết quả
Những phát hiện trên khẳng định rằng việc tối ưu hóa số học số lớn là một yếu tố then chốt để nâng cao hiệu quả của các hệ mật mã hiện đại. Nguyên nhân chính của sự cải thiện hiệu năng là nhờ vào việc áp dụng các thuật toán được thiết kế đặc biệt cho số lớn, chẳng hạn như thuật toán Ấn Độ cho phép nhân, cùng với việc sử dụng cấu trúc dữ liệu tối ưu. Thay vì dựa vào các phép toán trên các kiểu dữ liệu có giới hạn, thư viện số lớn cho phép xử lý các số có độ dài tùy ý, mở rộng khả năng tính toán.
Khi so sánh với các nghiên cứu khác trong lĩnh vực, luận văn này cho thấy hướng tiếp cận xây dựng một thư viện hướng đối tượng cho số lớn là một chiến lược hiệu quả. Các nghiên cứu trước đây thường tập trung vào từng thuật toán riêng lẻ hoặc sử dụng các thư viện có sẵn. Tuy nhiên, việc tự xây dựng và tối ưu toàn bộ thư viện cho phép kiểm soát chặt chẽ hơn về hiệu năng và khả năng tích hợp. Chẳng hạn, một số thư viện số lớn có thể được triển khai bằng ngôn ngữ cấp thấp hơn để đạt hiệu quả cao nhất, nhưng việc sử dụng C# vẫn mang lại sự cân bằng tốt giữa hiệu năng và khả năng phát triển nhanh chóng.
Ý nghĩa của các kết quả này là rất lớn. Đối với hệ mật mã RSA, việc giảm thiểu thời gian xử lý trực tiếp ảnh hưởng đến khả năng ứng dụng thực tiễn trong các hệ thống yêu cầu tốc độ cao như giao dịch trực tuyến, truyền thông bảo mật. Hơn nữa, việc đảm bảo tính nguyên tố của các số lớn một cách hiệu quả giúp củng cố nền tảng bảo mật của RSA, vì độ an toàn của hệ thống phụ thuộc vào độ khó của bài toán phân tích thừa số nguyên tố của N (N = p * q) mà p và q là các số nguyên tố lớn. Các kết quả này có thể được trình bày rõ ràng thông qua các biểu đồ so sánh thời gian thực thi (ví dụ: biểu đồ cột hoặc đường) giữa các phép toán tối ưu và không tối ưu, hoặc bảng tổng hợp các chỉ số hiệu năng (thời gian trung bình, độ lệch chuẩn) khi xử lý các số có kích thước khác nhau (ví dụ: 128-bit, 256-bit, 512-bit, 1024-bit). Điều này không chỉ minh họa trực quan sự cải thiện mà còn cung cấp bằng chứng định lượng cho các phát hiện của luận văn.
Đề xuất và khuyến nghị
Dựa trên những kết quả nghiên cứu và thảo luận, luận văn đề xuất một số giải pháp và khuyến nghị quan trọng nhằm tiếp tục phát triển và ứng dụng hiệu quả số học số lớn trong mật mã.
- Tiếp tục phát triển và mở rộng thư viện số lớn: Cần bổ sung thêm các phép toán số học phức tạp khác như phép lũy thừa modulo nhanh (Exponentiation by Squaring), các thuật toán số học elip (Elliptic Curve Cryptography - ECC) và các hàm băm mật mã. Mục tiêu là giảm thêm 15-20% thời gian thực thi cho các phép toán này trong vòng 12 tháng tới. Chủ thể thực hiện là nhóm nghiên cứu phát triển phần mềm bảo mật hoặc các sinh viên cao học chuyên ngành khoa học máy tính dưới sự hướng dẫn của giảng viên.
- Tích hợp thư viện vào đa dạng hệ mật mã: Khuyến nghị mở rộng phạm vi ứng dụng của thư viện số lớn đã phát triển sang các hệ mật mã công khai khác ngoài RSA, ví dụ như hệ ElGamal hoặc Diffie-Hellman, để kiểm chứng hiệu quả và tính linh hoạt. Hoạt động này nhằm mở rộng phạm vi ứng dụng và kiểm chứng hiệu quả, dự kiến hoàn thành trong vòng 18 tháng. Các nhà phát triển phần mềm và kỹ sư bảo mật có thể là chủ thể chính.
- Nghiên cứu tối ưu hóa đa luồng và song song: Để tận dụng tối đa sức mạnh của các kiến trúc CPU hiện đại, cần nghiên cứu và triển khai các giải pháp tối ưu hóa đa luồng (multi-threading) hoặc song song (parallel computing) cho các phép toán số học số lớn, đặc biệt là phép nhân và lũy thừa modulo. Mục tiêu là tăng tốc độ xử lý thêm 10-25% cho các phép toán quan trọng này, với timeline 24 tháng. Các nhà khoa học máy tính và kỹ sư nghiên cứu thuật toán là nhóm đối tượng phù hợp để thực hiện.
- Xây dựng giao diện lập trình ứng dụng (API) thân thiện: Để khuyến khích cộng đồng nhà phát triển ứng dụng và tái sử dụng thư viện, cần xây dựng một API rõ ràng, dễ sử dụng, kèm theo tài liệu hướng dẫn chi tiết và các ví dụ minh họa. Việc này thu hút cộng đồng phát triển và khuyến khích tái sử dụng, dự kiến hoàn thành trong vòng 9 tháng. Cộng đồng lập trình viên và các chuyên gia phần mềm có thể đóng góp.
- Đánh giá định kỳ và cập nhật thuật toán: Với sự phát triển không ngừng của các phương pháp tấn công mật mã và cải tiến phần cứng, việc đánh giá định kỳ hiệu quả và an toàn của các thuật toán số học trong thư viện là cần thiết. Khuyến nghị cập nhật các thuật toán và kỹ thuật mới để duy trì tính cạnh tranh và bảo mật. Mục tiêu là đảm bảo tính bảo mật và hiệu năng tối ưu liên tục, thực hiện hàng năm. Đội ngũ chuyên gia an toàn thông tin và nghiên cứu viên sẽ đảm nhận trách nhiệm này.
Đối tượng nên tham khảo luận văn
Luận văn "Số học số lớn cho mật mã" là một nguồn tài liệu quý giá và bổ ích cho nhiều nhóm đối tượng khác nhau trong lĩnh vực khoa học máy tính và an toàn thông tin.
- Sinh viên và nghiên cứu sinh Khoa học Máy tính và An toàn Thông tin: Đối tượng này sẽ tìm thấy trong luận văn một cái nhìn toàn diện về nền tảng toán học của mật mã học, đặc biệt là các nguyên lý hoạt động của số học số lớn. Luận văn cung cấp chi tiết về các khái niệm như ước chung lớn nhất, đồng dư thức, hàm Euler, cũng như các thuật toán tối ưu hóa phép toán cộng, trừ, nhân, chia số lớn. Sinh viên có thể sử dụng đây làm tài liệu tham khảo cho các môn học chuyên sâu về mật mã, thiết kế thuật toán, hoặc định hướng cho các đề tài nghiên cứu tiếp theo về tối ưu hóa hiệu năng hệ thống bảo mật.
- Các nhà phát triển phần mềm bảo mật và kỹ sư hệ thống: Những người làm việc trong ngành phát triển các sản phẩm và giải pháp bảo mật sẽ hưởng lợi từ việc nghiên cứu cách thức xây dựng một thư viện số lớn hiệu quả. Luận văn cung cấp mô hình tổ chức dữ liệu cho số lớn (ví dụ
List<sbyte>) và các giải thuật đã được tối ưu hóa, có thể được áp dụng trực tiếp vào việc cải thiện hiệu năng của các module mã hóa trong ứng dụng của họ. Ví dụ, họ có thể sử dụng các nguyên lý trong luận văn để thiết kế lại các hàm tạo khóa RSA hoặc module mã hóa/giải mã để đạt được tốc độ xử lý nhanh hơn đáng kể. - Chuyên gia an toàn thông tin và kiến trúc sư hệ thống: Để hiểu sâu hơn về cơ chế bảo mật của các hệ mật mã công khai và cách tối ưu hóa chúng, các chuyên gia này cần nắm vững các khía cạnh về số học số lớn. Luận văn giúp họ đánh giá được mức độ an toàn và hiệu năng của các hệ thống mật mã hiện có, đồng thời cung cấp kiến thức để đưa ra các quyết định thiết kế kiến trúc bảo mật phù hợp. Chẳng hạn, việc hiểu rõ độ phức tạp của thuật toán Miller-Rabin sẽ giúp họ lựa chọn kích thước khóa phù hợp để đạt được mức độ bảo mật mong muốn.
- Giảng viên và nhà nghiên cứu trong lĩnh vực Khoa học Máy tính: Luận văn này có thể được sử dụng làm tài liệu giảng dạy cho các khóa học về mật mã, lý thuyết thuật toán, và cấu trúc dữ liệu. Các ví dụ minh họa về RSA và các thuật toán số học cụ thể là nguồn tài nguyên phong phú để giải thích các khái niệm phức tạp cho sinh viên. Đối với các nhà nghiên cứu, đây là điểm khởi đầu cho các hướng nghiên cứu mới về tối ưu hóa thuật toán song song cho số lớn, hoặc ứng dụng số học số lớn trong các lĩnh vực mật mã hậu lượng tử.
Câu hỏi thường gặp
1. Tại sao cần phải tối ưu hóa số học số lớn trong mật mã? Mật mã học hiện đại, đặc biệt là các hệ mã khóa công khai như RSA, dựa trên việc thực hiện các phép toán với số nguyên có kích thước rất lớn, thường lên đến hàng trăm chữ số. Độ an toàn của các hệ thống này tỷ lệ thuận với độ lớn của các số đó. Tuy nhiên, việc tính toán với số lớn đòi hỏi tài nguyên máy tính đáng kể và có độ phức tạp cao, làm chậm tốc độ mã hóa và giải mã. Tối ưu hóa số học số lớn là cần thiết để đảm bảo các hệ mật mã vừa an toàn, vừa có hiệu năng đủ nhanh để xử lý khối lượng dữ liệu khổng lồ trong các ứng dụng thực tế.
2. Luận văn đã tối ưu hóa những phép toán số học nào và bằng cách nào?
Luận văn đã tập trung tối ưu hóa các phép toán số học cơ bản nhưng quan trọng nhất đối với số lớn: cộng, trừ, nhân, chia, ước chung lớn nhất (GCD), và các phép toán modulo. Việc tối ưu được thực hiện thông qua việc sử dụng các thuật toán hiệu quả như thuật toán Ấn Độ cho phép nhân (giảm 20-25% thời gian so với phương pháp truyền thống) và thuật toán Euclid mở rộng cho GCD và nghịch đảo modulo. Ngoài ra, việc tổ chức dữ liệu số lớn bằng List<sbyte> cũng góp phần cải thiện hiệu năng và quản lý bộ nhớ.
3. Hiệu quả của thư viện số lớn đối với hệ mật mã RSA là gì? Khi thư viện số lớn đã tối ưu được tích hợp vào một hệ mật mã RSA thử nghiệm, kết quả thực nghiệm cho thấy sự cải thiện đáng kể về tốc độ xử lý. Cụ thể, thời gian mã hóa một khối dữ liệu với khóa RSA 1024-bit đã giảm khoảng 15%, và thời gian giải mã giảm khoảng 17%. Điều này có nghĩa là các hệ thống sử dụng RSA có thể xử lý thông tin nhanh hơn, đáp ứng tốt hơn các yêu cầu về hiệu năng trong các ứng dụng như giao dịch điện tử và truyền thông bảo mật.
4. Điểm khác biệt của phương pháp biểu diễn số lớn trong luận văn là gì?
Luận văn sử dụng List<sbyte> trong C# để biểu diễn số lớn. Mỗi phần tử sbyte (kiểu dữ liệu số nguyên 8-bit, từ -128 đến 127) lưu trữ một chữ số của số lớn, và các chữ số được lưu theo thứ tự ngược để thuận tiện cho các phép toán. Dấu của số được biểu diễn bằng một phần tử đặc biệt ở cuối danh sách. Phương pháp này mang lại ưu điểm về tính linh hoạt (không cần khai báo trước kích thước như mảng) và hiệu quả về bộ nhớ, giúp dễ dàng thao tác với các số có độ dài tùy ý mà không bị giới hạn bởi các kiểu dữ liệu nguyên thủy.
5. Làm thế nào để đảm bảo tính nguyên tố của các số lớn cho RSA? Để đảm bảo tính nguyên tố của các số lớn (p, q) cần thiết cho việc tạo khóa RSA, luận văn đã triển khai thuật toán kiểm tra tính nguyên tố Miller-Rabin. Đây là một thuật toán ngẫu nhiên cho kết quả với xác suất. Bằng cách thực hiện thuật toán này lặp lại nhiều lần (ví dụ, t = 20 lần), xác suất sai sót có thể được giảm xuống mức cực kỳ nhỏ, chỉ khoảng 1/4^20, đảm bảo độ tin cậy rất cao cho kết quả kiểm tra. Điều này là tối quan trọng vì tính an toàn của RSA phụ thuộc trực tiếp vào việc p và q thực sự là các số nguyên tố lớn.
Kết luận
Luận văn "Số học số lớn cho mật mã" đã thành công trong việc giải quyết thách thức về hiệu năng của các hệ mật mã khóa công khai bằng cách tối ưu hóa các phép toán số học với số nguyên lớn. Những đóng góp chính của nghiên cứu bao gồm:
- Phát triển thư viện số lớn hiệu quả: Luận văn đã xây dựng một thư viện xử lý số nguyên lớn theo hướng đối tượng bằng C#, cho phép biểu diễn và thao tác linh hoạt với các số hàng trăm chữ số.
- Tối ưu hóa các giải thuật số học: Các phép toán cơ bản như cộng, trừ, nhân, chia, ước chung lớn nhất và các phép toán modulo đã được tối ưu, đạt mức giảm thời gian xử lý đáng kể (ví dụ, phép nhân giảm 20-25% và mã hóa RSA giảm 15-17%).
- Nâng cao hiệu năng hệ mật mã RSA: Ứng dụng thư viện tối ưu đã chứng minh khả năng tăng tốc độ mã hóa và giải mã của hệ RSA, đồng thời củng cố tính bảo mật thông qua việc đảm bảo tính nguyên tố của các khóa bằng thuật toán Miller-Rabin với độ tin cậy cao.
- Cung cấp nền tảng lý thuyết và thực tiễn: Luận văn làm rõ cơ sở lý thuyết toán học cho mật mã và độ phức tạp tính toán, đồng thời cung cấp một giải pháp cài đặt thực nghiệm có thể áp dụng ngay.
- Mở ra hướng nghiên cứu tiếp theo: Đề xuất các khuyến nghị về việc mở rộng thư viện, tích hợp vào các hệ mật mã khác và nghiên cứu tối ưu hóa đa luồng, định hình lộ trình phát triển trong 12-24 tháng tiếp theo.
Các kết quả của luận văn khẳng định tầm quan trọng của việc tối ưu hóa thuật toán trong lĩnh vực an toàn thông tin. Chúng tôi khuyến khích các nhà nghiên cứu, sinh viên và nhà phát triển phần mềm tham khảo luận văn này để hiểu sâu hơn và ứng dụng các kỹ thuật số học số lớn vào việc xây dựng các hệ thống bảo mật mạnh mẽ và hiệu quả trong tương lai.
Trích đoạn nội dung luận án
Tải xuống để đọc toàn bộĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN TAM CƢỜNG SỐ HỌC SỐ LỚN CHO MẬT MÃ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2013 Số hóa bởi trung tâm học liệu http://www.vn/ ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN TAM CƢỜNG SỐ HỌC SỐ LỚN CHO MẬT MÃ Chuyên ngành: Khoa học máy tính Mã số: 60.01 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Ngƣời hƣớng dẫn khoa học: PGS. TSKH NGUYỄN XUÂN HUY Thái Nguyên - 2013 Số hóa bởi trung tâm học liệu http://www.vn/ i LỜI CAM ĐOAN Học viên xin cam đoan, toàn bộ nội dung liên quan tới đề tài đƣợc trình bày trong luận văn là bản thân học viên tự tìm hiểu và nghiên cứu, dƣới sự hƣớng dẫn khoa học của Thầy giáo PGS. TSKH Nguyễn Xuân Huy. Các tài liệu, số liệu tham khảo đƣợc trích dẫn đầy đủ nguồn gốc.
Học viên xin chịu trách nhiệm trƣớc pháp luật lời cam đoan của mình. Thái Nguyên, ngày 10 tháng 10 năm 2013 Học viên thực hiện Nguyễn Tam Cƣờng Số hóa bởi trung tâm học liệu http://www.vn/ ii LỜI CẢM ƠN Học viên xin gửi lời cảm ơn tới các Thầy, cô đã tận tình truyền đạt các kiến thức quý báu cho học viên trong suốt quá trình học tập. Đặc biệt, học viên xin gửi lời cảm ơn và biết ơn sâu sắc nhất tới Thầy giáo PGS. TSKH Nguyễn Xuân Huy, thầy đã tận tình chỉ bảo học viên trong suốt quá trình thực hiện đề tài.
Bên cạnh những kiến thức khoa học, thầy đã giúp học viên nhận ra những bài học về phong cách học tập, làm việc và những kinh nghiệm sống quý báu. Học viên xin bày tỏ lòng biết ơn tới gia đình, bạn bè, đồng nghiệp và những ngƣời thân đã động viên khích lệ tinh thần và giúp đỡ để học viên hoàn thành luận văn này. Số hóa bởi trung tâm học liệu http://www.vn/ iii MỤC LỤC LỜI CAM ĐOAN. ii MỤC LỤC.
iii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT. Lý do chọn đề tài. Đối tƣợng và phạm vi nghiên cứu. Hƣớng nghiên cứu.
Những nội dung nghiên cứu chính. Phƣơng pháp nghiên cứu. Ý nghĩa khoa học và thực tiễn cửa đề tài. 3 Chƣơng 1: CÁC KHÁI NIỆM CƠ BẢN.1 Một số khái niệm toán học [1], [2], [3], [6], [7], [12].1 Ƣớc chung lớn nhất [1], [2], [7], [13] .2 Số nguyên tố và nguyên tố cùng nhau .4 Không gian Zn và Zn* [1], [2], [7] .5 Phần tử nghịch đảo [1], [2], [7] .7 Các phép toán trong không gian modulo [7] .8 Độ phức tạp tính toán [1], [2].9 Hàm một phía và hàm cửa sập một phía [1], [3], [6] .1 Một số khái niệm cơ bản về mã hoá .3 Những tính năng của hệ mật mã.
19 Số hóa bởi trung tâm học liệu http://www.3 Giới thiệu về hệ mã khoá công khai.1 Hệ mật mã công khai RSA (Rivest-Shamir-Adleman) .2 Cơ chế hoạt động của RSA [1], [3], [6], [7], [8] .3 Khả năng bị tấn công của hệ mật mã công khai RSA [1], [2], [6], [7]. 26 Chƣơng 2: THƢ VIỆN TÍNH TOÁN SỐ LỚN .1 Biểu diễn số lớn [2], [4] .2 Các phép toán trên số lớn .1 So sánh hai số [2], [4] .2 Cộng hai số lớn không âm [2], [4], [5] .3 Trừ hai số lớn không âm [2], [4], [5], [9] .4 Phép nhân hai số lớn không âm [2], [4], [5], [9].5 Phép chia hai số lớn không âm [2], [4], [5], [9] .7 Ƣớc chung lớn nhất [1], [2], [6], [7] .8 Phép cộng theo modulo p [1], [2], [6], [7] .9 Phép nhân theo modulo p [1], [2], [6], [7] .10 Phép cộng có dấu [1], [2], [4], [6] .11 Phép trừ có dấu [1], [2], [4], [6] .12 Phép nhân có dấu [1], [2], [4], [6] .13 Phép chia có dấu [1], [2], [4], [6]. 52 Chƣơng 3: ỨNG DỤNG THƢ VIỆN SỐ LỚN CHO HỆ MẬT MÃ RSA .1 Phân tích các phép xử lý toán học trong hệ mật mã RSA .2 Xây dựng hệ mật mã RSA thử nghiệm [1], [2], [4], [6], [7], [8] .3 Đánh giá kết quả thực nghiệm và kết luận .1 Đánh giá và kết quả thực nghiệm. 64 TÀI LIỆU THAM KHẢO.
65 Số hóa bởi trung tâm học liệu http://www.vn/ v DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT CRT Chinese Remainder Theorem DES Data Encryption Standard RSA Rivest Shamir Adleman GCD Great Comon Divisor FFT Fast Fourier Transform Hàm Euler O Biểu diễn thời gian chạy gcd(a,b) Ƣớc chung lớn nhất của hai số a và b Phép tính nhân Số hóa bởi trung tâm học liệu http://www.vn/ 1 MỞ ĐẦU 1. Lý do chọn đề tài Mật mã học là một trong những vấn đề quan trọng trong lĩnh vực bảo mật và an toàn thông tin. Trên thế giới, mật mã học đã đƣợc ra đời từ thời La Mã cổ đại và ngày càng đƣợc nghiên cứu, phát triển đạt đƣợc những thành tựu to lớn. Trong mật mã học, vấn đề bảo mật luôn đi đôi với vấn đề xác thực thông tin, đặc biệt trong hệ thống mã hóa khóa công khai vấn đề xác thực là vô cùng quan trọng.
Các hệ mã công khai nhƣ RSA thực hiện tính toán với các số nguyên lớn hàng trăm chữ số. Độ phức tạp trong việc giải mã các hệ mã này tỉ lệ hàm mũ với độ lớn của các số nguyên tham gia vào việc tạo khóa mã hóa và khóa công khai. Do đó để hệ mã an toàn, cần tăng kích thƣớc của các số nguyên. Độ an toàn của hệ thống RSA dựa trên 2 vấn đề của toán học: bài toán phân tích ra thừa số nguyên tố các số nguyên lớn và bài toán RSA.
Nếu 2 bài toán trên là khó (không tìm đƣợc thuật toán hiệu quả để giải chúng) thì không thể thực hiện đƣợc việc phá mã toàn bộ đối với RSA. Mặt khác, khi kích thƣớc của các số nguyên cần xử lý lớn thì thời gian xử lý của chƣơng trình mã hóa cũng tăng lên. Thông tin cần mã hóa ngày càng đa dạng và có khối lƣợng lớn, đòi hỏi hệ mã giảm thiểu thời gian xử lý. Các công cụ và giải thuật nhằm bẻ khóa các hệ mật mã đƣợc cải tiến đòi hỏi hệ mã cần đƣợc nâng cấp tính bảo mật.
Tuy nhiên, việc nghiên cứu và triển khai các nâng cấp trong việc tối ƣu hóa về mặt thuật toán trong các phép xử lý số học của các hệ mã còn hạn chế trong phạm vi các chƣơng trình độc quyền. Để hỗ trợ giải quyết các vấn đề trên, đề tài này tập trung vào việc xây dựng một số thuật toán tối ƣu hóa nhằm tăng hiệu quả các phép tính toán thực hiện với số nguyên lớn. Số hóa bởi trung tâm học liệu http://www.vn/ 2 Các kết quả của đề tài sẽ đƣợc ứng dụng trong việc hỗ trợ cho các phép xử lý số học của các hệ mã. Từ đó làm tăng tốc độ xử lý và tính bảo mật của các hệ mã.
Từ tính cấp thiết của vấn đề tối ƣu hóa các hệ mã công khai, đồng thời đƣợc sự hƣớng dẫn và gợi ý của Thầy giáo PGS.TSKH Nguyễn Xuân Huy, học viên đã chọn đề tài cho luận văn tốt nghiệp Cao học ngành khoa học máy tính là: “SỐ HỌC SỐ LỚN CHO MẬT MÔ. Đối tƣợng và phạm vi nghiên cứu a. Đối tƣợng của đề tài - Độ phức tạp tính toán. - Cơ sở lý thuyết của số học: các phép toán trên số nguyên kích thƣớc lớn: Cộng, trừ, nhân, chia, số dƣ, số nguyên tố, ƣớc chung lớn nhất,.
- Tổ chức dữ liệu cho các số nguyên kích thƣớc lớn. - Các thuật toán của số học số nguyên: sơ đồ hoạt động, độ phức tạp. Phạm vi nghiên cứu Đề tài thực hiện việc tối ƣu hóa các phép toán với số nguyên lớn theo tiếp cận hƣớng đối tƣợng. Ứng dụng thử nghiệm trong một hệ mã nhằm so sánh hiệu năng xử lý của hệ mã trƣớc và sau khi tối ƣu.
Đề tài giới hạn trong phạm vi nghiên cứu để đƣa ra giải pháp, việc triển khai ứng dụng thực tiễn cần có thêm các điều kiện về thời gian và quy mô. Hƣớng nghiên cứu Đề tài tập trung vào việc xây dựng một số thuật toán tối ƣu hóa nhằm tăng hiệu quả các phép tính toán thực hiện với số nguyên lớn. - Nghiên cứu các quá trình thực hiện mã hóa và giải mã của các hệ mã công khai. - Tìm hiểu các thuật toán xử lý số học đƣợc dùng trong các hệ mã.
Số hóa bởi trung tâm học liệu http://www.vn/ 3 - Phát hiện các giải thuật tính toán cần tối ƣu hóa. - Đƣa ra giải pháp tối ƣu hóa các giải thuật này. - Ứng dụng trong một hệ mã RSA. - Đối sánh với kết quả thực thi của hệ mã khi chƣa thực hiện tối ƣu hóa.
Những nội dung nghiên cứu chính - Đề tài luận văn thuộc lĩnh vực lý thuyết thuật toán xử lí các số nguyên lớn dài hàng trăm chữ số và ứng dụng trong mật mã, cụ thể là khảo sát cách tổ chức dữ liệu và các thuật toán số học số lớn. - Học viên tìm hiểu tổng quan về lớp các số Big Numbers, các thuật toán mật mã RSA, khảo sát tính nguyên tố theo Miller-Rabin. - Lập trình và kiểm thử, đối sánh với các sơ đồ hiện có. Phƣơng pháp nghiên cứu - Thu thập và phân tích các tài liệu và thông tin liên quan đến đề tài.
- Nghiên cứu dựa trên việc tìm hiểu các giải thuật xử lý với số nguyên lớn của các hệ mã. Cụ thể là hệ mã hóa RSA, từ kết quả nghiên cứu có đƣợc sẽ định hƣớng lựa chọn thuật toán nào cần tối ƣu hóa. - Thực hiện việc tối ƣu hóa các giải thuật bằng cách tối ƣu các phép xử lý với số học lớn. Thao tác này sử dụng kết hợp các phƣơng pháp tính toán với số học với phƣơng pháp chia để trị nhằm tăng hiệu năng của từng bƣớc xử lý.
- Kết hợp các nghiên cứu trƣớc đây của các tác giả trong và ngoài nƣớc cùng với sự chỉ bảo, góp ý của giáo viên hƣớng dẫn để hoàn thành nội dung nghiên cứu. - Thực nghiệm cài đặt ứng dụng để minh họa các vấn đề trình bày trong đề tài. Ý nghĩa khoa học và thực tiễn cửa đề tài * Ý nghĩa khoa học: - Trình bày các kiến thức toán học cơ bản, lý thuyết độ phức tạp của thuật toán, các thuật toán thƣờng dùng trong các hệ mật mã khoá công khai. Số hóa bởi trung tâm học liệu http://www.vn/ 4 - Trình bày các phƣơng pháp mật mã gồm: phƣơng pháp mã hoá khóa bí mật và phƣơng pháp mã hoá khóa công khai.
Với phƣơng pháp mã hóa khóa công khai thì tập trung vào các thuật toán mã hóa RSA.
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ
Trích dẫn luận án này
Nguyễn Tam Cường (2013). Số học số lớn cho mật mã luận án thạc sĩ [Luận án tiến sĩ, Đại học Thái Nguyên - Trường Đại học Công nghệ Thông tin và Truyền thông]. LuanAn.net. https://luanan.net/tai-lieu-khac/so-hoc-so-lon-cho-mat-ma-luan-an-thac-si
Câu hỏi thường gặp
Luận án "Số học số lớn cho mật mã luận án thạc sĩ" nghiên cứu về vấn đề gì?
Luận án thạc sĩ về số học số lớn, tối ưu hóa thuật toán cho mật mã hiện đại. Nghiên cứu sâu ứng dụng bảo mật hệ thống.
Luận án "Số học số lớn cho mật mã luận án thạc sĩ" được bảo vệ tại trường nào?
Luận án này được bảo vệ tại Đại học Thái Nguyên - Trường Đại học Công nghệ Thông tin và Truyền thông. Năm bảo vệ: 2013.
Luận án "Số học số lớn cho mật mã luận án thạc sĩ" thuộc chuyên ngành gì?
Luận án "Số học số lớn cho mật mã luận án thạc sĩ" thuộc chuyên ngành Khoa học máy tính. Danh mục: Tài liệu khác.
Luận án "Số học số lớn cho mật mã luận án thạc sĩ" có bao nhiêu trang?
Luận án "Số học số lớn cho mật mã luận án thạc sĩ" có 72 trang. Bạn có thể xem trước một phần tài liệu ngay trên trang web trước khi tải về.
Cách tải luận án "Số học số lớn cho mật mã luận án thạc sĩ" về máy như thế nào?
Để tải luận án về máy, bạn nhấn nút "Tải xuống ngay" trên trang này, sau đó hoàn tất thanh toán phí lưu trữ. File sẽ được tải xuống ngay sau khi thanh toán thành công. Hỗ trợ qua Zalo: 0559 297 239.