Luận văn ThS: Thiết kế và cài đặt thư viện số lớn ứng dụng trong mật mã

Luận văn Thiết kế và cài đặt thư viện số lớn ứng dụng trong mật mã giới thiệu chung về mật mã và cơ sở toán học của mật mã; tìm hiểu lớp thư viện tính toán số nguyên lớn; ứng dụng thư viện số lớn cho hệ RSA mở rộng.

Luận văn ThS: Thiết kế và cài đặt thư viện số lớn ứng dụng trong mật mã

1. Mở đầu

1.1 Mục đích nghiên cứu

Nghiên cứu về cấu trúc dữ liệu để biểu diễn số nguyên lớn.

Nghiên cứu về cách thức của quá trình tạo khóa, quá trình thực hiện mã hóa và giải mã của hệ mã khóa công  khai RSA.

Nghiên cứu khả năng mở rộng cho hệ mật RSA nhằm tăng cường độ an toàn.

Tìm hiểu về cơ sở toán học và các thuật toán xử lý số học dùng trong RSA.

Tìm ra các giải thuật tính toán cần tối ưu hóa và thực hiện giải pháp tối ưu.

Cài đặt lớp thư viện xử lý số nguyên lớn cùng với các phép toán cụ thể.

Ứng dụng lớp thư viện xử lý số lớn vào hệ mật RSA kết hợp với phương pháp hàm băm để xác thực thông tin.

Đánh giá, so sánh kết quả sau khi tối ưu so với ban đầu.

1.2 Đối tượng nghiên cứu

Lý thuyết mã hóa và an toàn thông tin, hệ mã hóa khóa công khai RSA.

Cơ sở lý thuyết số học gồm: phép cộng, trừ, nhân, chia, lũy thừa, so sánh, lý thuyết đồng dư, cấu trúc đại số, các phép toán, tính nguyên tố, ước chung lớn nhất, hàm một chiều, hàm cửa sập... cho các số nguyên lớn ứng dụng trong hệ mật mã RSA.

Cách thức tổ chức biểu diễn dữ liệu cho các số nguyên lớn.

Sơ lược về lý thuyết hàm băm.

Sơ lược lý thuyết về độ phức tạp tính toán.

Nghiên cứu các thuật toán số học số nguyên nhằm tối ưu hóa các phép tính toán.

2. Nội dung

2.1 Giới thiệu chung 

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

  • Sơ lược lịch sử
  • Một số khái niệm cơ bản về mật mã
  • Hệ mật mã
  • Phân loại các hệ mật mã
  • Bài toán an toàn thông tin
  • Thám mã và tính an toàn của hệ mật mã
  • Hệ mã hóa khóa công khai
  • Mở rộng hệ mã hóa RSA
  • Sơ lược về hàm băm

Cơ sở toán học của mật mã

  • Ước chung lớn nhất
  • Đồng dư thức
  • Lớp tương đương
  • Khái niệm cơ bản trong cấu trúc đại số
  • Các lớp thặng dư
  • Phi hàm Euler và phần tử nguyên thủy
  • Phần tử nghịch đảo
  • Khái niệm logarit rời rạc
  • Số nguyên tố và một số vấn đề liên quan 
  • Thuật toán Euclid
  • Định lý Trung Hoa về phần dư
  • Hàm một phía và hàm cửa sập một phía 
  • Lý thuyết cơ bản về độ phức tạp của thuật toán

2.2 Lớp thư viện tính toán số nguyên lớn

Cấu trúc dữ liệu và tổ chức biểu diễn số nguyên lớn 

  • Cấu trúc dữ liệu của số lớn
  • Biểu diễn số nguyên lớn 
  • Các hàm khởi tạo số nguyên lớn

Các phép toán trên số lớn 

  • Phép gán giá trị ngầm cho đối tượng số lớn
  • Phép cộng hai số lớn không dấu
  • Phép trừ hai số lớn không dấu
  • Phép nhân hai số không dấu
  • Phép chia hai số lớn không dấu
  • Phép lũy thừa 
  • Xác định ước chung lớn nhất
  • Phép cộng theo modulo
  • Phép nhân theo modulo
  • Phép cộng các số lớn có dấu
  • Phép trừ hai số lớn có dấu
  • Phép nhân số lớn có dấu 
  • Phép chia hai số lớn có dấu 
  • Phép so sánh hai số lớn

Khả năng của lớp thư viện số lớn

2.3 Ứng dụng cho hệ RSA mở rộng

Phân tích các phép toán học sử dụng trong hệ mật mã multi-prime RSA 

Ứng dụng thư viện số lớn xây dựng hệ mật RSA (mở rộng)

  • Hàm kiểm tra và sinh số nguyên tố sát sau một số nguyên cho trước
  • Tính khóa công khai e (public key)
  • Tính khóa bí mật d (private key)
  • Tính lũy thừa theo modulo (Modular Exponentiation)

Giao diện demo thực hiện các phép toán số học và multi – prime RSA

Đánh giá kết quả thực nghiệm

  • Đánh giá các phép toán số học với các số nguyên lớn 
  • Đánh giá hiệu suất thực hiện các phép toán
  • Đánh giá chương trình mô phỏng hệ mật mã multi – prime RSA

3. Kết luận

Hệ mã hóa khóa công khai RSA an toàn, bảo mật dựa vào độ khó của việc phân tích một nguyên n thành các thừa số nguyên tố và bài toán RSA (bài toán logarit rời rạc trong modulo hợp số). Đặc biệt, khi các số nguyên tố tham gia vào RSA càng lớn thì việc thực hiện phân tích càng đòi hỏi chi phí thời gian thực hiện rất lớn. Do đó, cần có các phép toán xử lý số học hiệu quả. Trong luận văn này đã mô tả cấu trúc dữ liệu, cách biểu diễn, các phép toán cùng các giải thuật tối ưu xử lý trên số nguyên lớn và đã cài đặt được thư viện số nguyên lớn theo mục đích ban đầu đề ra. Qua quá trình thử nghiệm thư viện số lớn có khả năng lưu trữ và xử lý các số nguyên có độ dài hàng ngàn chữ số với tốc độ thực hiện không chậm hơn các thư viện đã có. Đồng thời thư viện số lớn có khả năng mở rộng linh hoạt, dễ tùy biến, dễ dàng tích hợp bổ sung thêm các phép toán số học áp dụng cho từng bài toán cụ thể giúp tiết kiệm bộ nhớ và thời gian tính toán.

4. Tài liệu tham khảo

Hà Huy Khoái (1998). Số học thuật toán. NXB Giáo dục, Hà Nội.

Nguyễn Xuân Huy (2008). Sáng tạo trong thuật toán và lập trình. NXB Khoa học tự nhiên và Công nghệ Quốc gia

Lưu Hồng Dũng (2012). ‘Nghiên cứu phát triển thuật toán chữ ký số RSA’. Tạp chí khoa học và kỹ thuật – Học viện Kỹ thuật Quân sự, số 150.

Nguyễn Khanh Văn (2012). Hệ thống mật mã khóa công khai. In: Nguyễn Khanh Văn & Trần Đức Khánh. Mật mã và an toàn thông tin. Đại học Bách khoa, Hà Nội...

--- Nhấn nút TẢI VỀ hoặc XEM ONLINE để tham khảo đầy đủ nội dung Luận văn trên ---

  • Tham khảo thêm

Ngày:03/09/2020 Chia sẻ bởi:

CÓ THỂ BẠN QUAN TÂM