1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn học phần an toàn và bảo mật thông tin Đề tài xây dựng chương trình mã hoá và giải mã elgama

23 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng Chương Trình Mã Hoá Và Giải Mã Elgama
Tác giả Vũ Văn Tới, Bùi Văn Duy, Nguyễn Minh Tuấn, Bùi Quang Minh
Trường học Học viện Hàng hải Việt Nam
Chuyên ngành Công nghệ Thông tin
Thể loại báo cáo bài tập lớn
Năm xuất bản 2025
Thành phố Hải Phòng
Định dạng
Số trang 23
Dung lượng 259,92 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Một trong những phương pháp hiệu quả để bảo vệ thông tin là sử dụng các kỹ thuật mã hóa, trong đó có phương pháp mã hóa ElGamal.. Khác với các phương pháp mã hóa đối xứng, trong đó cùng

Trang 1

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN HỌC PHẦN AN TOÀN VÀ BẢO MẬT THÔNG TIN

ĐỀ TÀI :Xây dựng chương trình mã hoá và giải mã ELGAMA

Sinh viên thục hiện:

Vũ Văn Tới-102287 Bùi Văn Duy-102230 Nguyễn Minh Tuấn-102291 Bùi Quang Minh -102264

Trang 2

HẢI PHÒNG – 2025

Trang 3

TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO BÀI TẬP LỚN HỌC PHẦN AN TOÀN VÀ BẢO MẬT THÔNG TIN

ĐỀ TÀI: Xây dựng chương trình mã hoá và giải mã ELGAMA

Hướng dẫn:

Sinh viên thục hiện:

HẢI PHÒNG - 202

Trang 4

MỤC LỤC

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

DANH MỤC CÁC HÌNH iv

MỞ ĐẦU 1

CHƯƠNG 1 GIỚI THIỆU CHUNG 2

1.1 Tổng quan 2

1.2 Ứng dụng thực tiễn 2

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 3

CHƯƠNG 3 TRỂN KHAI VÀ THỰC NGHIỆM 5

3.1 Triển khai 5

3.2 Kết quả thử nghiệm 5

KẾT LUẬN 6

TÀI LIỆU THAM KHẢO 7

PHỤ LỤC 8

Trang 5

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

1 p: Một số nguyên tố lớn được chọn làm phần của hệ thống ElGamal Nó đóng vai trò quan

trọng trong các phép toán modulo (modulus)

2 g: Một số nguyên g là một phần tử sinh (primitive root) trong nhóm số modulo p Nó được

sử dụng để tạo các khóa công khai và khóa riêng

3 x: Khóa riêng của người dùng trong hệ thống ElGamal Đây là một số bí mật mà chỉ người

dùng biết, và nó được sử dụng để tạo khóa công khai

4 h: Khóa công khai của người dùng, được tính bằng công thức:

5 h=gxmod  ph = g^x \mod ph=gxmodp

6 Khóa công khai này được phát tán công khai để mọi người có thể sử dụng nó để mã hóa thông điệp

7 m: Thông điệp cần được mã hóa trong quá trình mã hóa và giải mã.

8 k: Một số ngẫu nhiên được chọn trong quá trình mã hóa mỗi thông điệp Nó phải được giữ bí mật và được chọn lại mỗi khi mã hóa một thông điệp mới k phải được chọn sao cho nó

không trùng lặp giữa các lần mã hóa khác nhau

9 c1 và c2: Các phần của thông điệp đã mã hóa Hệ thống ElGamal sử dụng một phương pháp

mã hóa đối xứng để tạo ra hai giá trị c1 và c2:

6 c1 = g^k \mod p: Phần đầu của thông điệp mã hóa.

7 c2 = m \cdot h^k \mod p: Phần thứ hai của thông điệp mã hóa.

10 y: Đây là một ký hiệu đôi khi được dùng thay cho h, chỉ đến khóa công khai.

11 r: Một số ngẫu nhiên được sử dụng trong quá trình tạo chữ ký số ElGamal (khi sử dụng ElGamal để ký số), tương tự như k trong mã hóa.

12 s: Một phần của chữ ký số ElGamal s được tính từ khóa riêng và số ngẫu nhiên r.

13 L: Thường được dùng để chỉ kích thước của nhóm các số nguyên modulo p.

Trang 6

DANH MỤC CÁC BẢNG

No table of figures entries found

Trang 7

DANH MỤC CÁC HÌNH

Hình 1 Thuật toán DES cơ bản 2 Hình 2 Thuật toán sinh khóa con 3

Trang 8

MỞ ĐẦU

Giới thiệu đề tài

Trong thời đại công nghệ số hiện nay, bảo mật thông tin là một trong những vấn đề được quan tâmhàng đầu Việc đảm bảo an toàn cho dữ liệu và thông tin cá nhân ngày càng trở nên cấp thiết, đặc biệt là trong các hệ thống điện tử và mạng Internet Những cuộc tấn công từ hacker, virus máy tính, và các phương thức xâm nhập trái phép ngày càng tinh vi, khiến việc bảo vệ thông tin trở thành một thách thức lớn Một trong những phương pháp hiệu quả để bảo vệ thông tin là sử dụng các kỹ thuật mã hóa, trong đó có phương pháp mã hóa ElGamal

ElGamal là một thuật toán mã hóa bất đối xứng, dựa trên lý thuyết về toán học và lý thuyết số học,cho phép mã hóa và giải mã thông tin một cách an toàn, đảm bảo rằng chỉ những người có khóa bí mật mới có thể giải mã thông tin đã được mã hóa Mục tiêu của đề tài này là nghiên cứu và xây dựng một chương trình mã hóa và giải mã ElGamal, từ đó áp dụng vào thực tế để bảo vệ thông tin trong môi trường số

Lý do chọn đề tài

Lý do chọn đề tài này xuất phát từ sự quan trọng ngày càng gia tăng của vấn đề bảo mật thông tin trong cuộc sống số Với sự phát triển mạnh mẽ của công nghệ thông tin và Internet, lượng dữ liệu được truyền tải và lưu trữ trên các thiết bị điện tử ngày càng lớn, tạo ra những nguy cơ tiềm ẩn về việc rò rỉ thông tin cá nhân hoặc tài liệu quan trọng Các cuộc tấn công mạng, virus, và các phương thức gian lận ngày càng tinh vi, dẫn đến những thiệt hại nghiêm trọng cho cả cá nhân và tổ chức

Việc nghiên cứu và phát triển các phương pháp mã hóa, đặc biệt là mã hóa ElGamal, có thể giúp bảo vệ thông tin một cách hiệu quả Đề tài này không chỉ giúp tìm hiểu sâu hơn về cơ sở lý thuyết của mã hóa bất đối xứng mà còn tạo ra một ứng dụng thực tế giúp bảo vệ dữ liệu trong môi trường

kỹ thuật số

Cấu trúc báo cáo

Báo cáo này được chia thành các phần chính như sau:

1 Giới thiệu chung: Trình bày về vấn đề bảo mật thông tin, lý do chọn đề tài và các mục tiêu

nghiên cứu

2 Cơ sở lý thuyết: Giới thiệu về thuật toán mã hóa ElGamal, các khái niệm toán học cơ bản

liên quan đến mã hóa bất đối xứng, và các thuật toán mật mã học

Trang 9

3 Triển khai và thực nghiệm: Mô tả quá trình lập trình, cách thức triển khai thuật toán

ElGamal vào chương trình máy tính và các kết quả thực nghiệm

4 Đánh giá và kết luận: Đánh giá hiệu quả của chương trình, những khó khăn gặp phải trong

quá trình thực hiện, và những cải tiến có thể thực hiện trong tương lai

1.GIỚI THIỆU CHUNG

1.1 Tổng quan

Mã hóa dữ liệu là một kỹ thuật quan trọng trong việc bảo vệ thông tin trong môi trường kỹ thuật

số Trong suốt lịch sử phát triển của công nghệ thông tin, các thuật toán mã hóa đã liên tục được cải tiến để đáp ứng các yêu cầu bảo mật ngày càng cao Một trong những phương pháp mã hóa nổi bật được nghiên cứu và ứng dụng rộng rãi là thuật toán mã hóa ElGamal

Thuật toán mã hóa ElGamal là một hệ thống mã hóa bất đối xứng, được đề xuất bởi Taher ElGamal vào năm 1985 ElGamal sử dụng lý thuyết về các số nguyên và các phép toán số học trên trường hữu hạn, cụ thể là phép nhân Phương pháp này đã được áp dụng rộng rãi trong các

hệ thống bảo mật hiện đại, đặc biệt là trong việc cung cấp sự bảo vệ cho các giao dịch điện tử, các thông điệp truyền tải qua mạng, và hệ thống chữ ký số

Khác với các phương pháp mã hóa đối xứng, trong đó cùng một khóa được sử dụng để mã hóa

và giải mã thông tin, ElGamal sử dụng hai khóa khác nhau: một khóa công khai (public key) và một khóa bí mật (private key) Điều này tạo ra một mức độ bảo mật cao hơn, vì ngay cả khi một đối tượng xâm nhập vào khóa công khai, họ vẫn không thể giải mã thông tin mà không có khóa

bí mật

ElGamal hoạt động dựa trên bài toán khó khăn trong lý thuyết số học, đặc biệt là bài toán logarit rời rạc Để hiểu rõ hơn về phương pháp này, giả sử có một nhóm các số nguyên modulo một số nguyên tố lớn, ElGamal sử dụng các phép toán như nhân và lũy thừa trong nhóm này để mã hóa

và giải mã thông tin Quá trình mã hóa trong ElGamal bao gồm việc sử dụng khóa công khai để

mã hóa thông điệp, và khóa bí mật sẽ được sử dụng để giải mã thông điệp đó

Mặc dù ElGamal là một thuật toán rất mạnh mẽ và an toàn, nhưng nó cũng gặp phải một số hạn chế Một trong những hạn chế chính là độ dài của các bản mã (ciphertext) lớn hơn so với các thuật toán mã hóa khác như RSA, điều này có thể làm giảm hiệu suất trong một số ứng dụng Tuy nhiên, với những tính năng mạnh mẽ và độ bảo mật cao, ElGamal vẫn được ứng dụng rộng rãi trong các hệ thống bảo mật và là nền tảng cho nhiều kỹ thuật bảo mật hiện đại

Trong phạm vi bài toán này, chúng ta sẽ nghiên cứu và phát triển một chương trình mã hóa và giải mã sử dụng thuật toán ElGamal Bài toán yêu cầu xây dựng một hệ thống mã hóa, nơi ngườidùng có thể bảo mật thông tin của mình thông qua các thao tác mã hóa và giải mã với hai khóa khác nhau Đồng thời, chúng ta cũng sẽ phân tích hiệu suất của thuật toán, và tìm hiểu về những vấn đề có thể gặp phải khi triển khai ElGamal vào thực tế

Trang 10

Mã hóa dữ liệu là một kỹ thuật quan trọng trong việc bảo vệ thông tin trong môi trường kỹ thuật

số Trong suốt lịch sử phát triển của công nghệ thông tin, các thuật toán mã hóa đã liên tục được cải tiến để đáp ứng các yêu cầu bảo mật ngày càng cao Một trong những phương pháp mã hóa nổi bật được nghiên cứu và ứng dụng rộng rãi là thuật toán mã hóa ElGamal

Thuật toán mã hóa ElGamal là một hệ thống mã hóa bất đối xứng, được đề xuất bởi Taher ElGamal vào năm 1985 ElGamal sử dụng lý thuyết về các số nguyên và các phép toán số học trên trường hữu hạn, cụ thể là phép nhân Phương pháp này đã được áp dụng rộng rãi trong các

hệ thống bảo mật hiện đại, đặc biệt là trong việc cung cấp sự bảo vệ cho các giao dịch điện tử, các thông điệp truyền tải qua mạng, và hệ thống chữ ký số

Khác với các phương pháp mã hóa đối xứng, trong đó cùng một khóa được sử dụng để mã hóa

và giải mã thông tin, ElGamal sử dụng hai khóa khác nhau: một khóa công khai (public key) và một khóa bí mật (private key) Điều này tạo ra một mức độ bảo mật cao hơn, vì ngay cả khi một đối tượng xâm nhập vào khóa công khai, họ vẫn không thể giải mã thông tin mà không có khóa

bí mật

ElGamal hoạt động dựa trên bài toán khó khăn trong lý thuyết số học, đặc biệt là bài toán logarit rời rạc Để hiểu rõ hơn về phương pháp này, giả sử có một nhóm các số nguyên modulo một số nguyên tố lớn, ElGamal sử dụng các phép toán như nhân và lũy thừa trong nhóm này để mã hóa

và giải mã thông tin Quá trình mã hóa trong ElGamal bao gồm việc sử dụng khóa công khai để

mã hóa thông điệp, và khóa bí mật sẽ được sử dụng để giải mã thông điệp đó

Mặc dù ElGamal là một thuật toán rất mạnh mẽ và an toàn, nhưng nó cũng gặp phải một số hạn chế Một trong những hạn chế chính là độ dài của các bản mã (ciphertext) lớn hơn so với các thuật toán mã hóa khác như RSA, điều này có thể làm giảm hiệu suất trong một số ứng dụng Tuy nhiên, với những tính năng mạnh mẽ và độ bảo mật cao, ElGamal vẫn được ứng dụng rộng rãi trong các hệ thống bảo mật và là nền tảng cho nhiều kỹ thuật bảo mật hiện đại

Trong phạm vi bài toán này, chúng ta sẽ nghiên cứu và phát triển một chương trình mã hóa và giải mã sử dụng thuật toán ElGamal Bài toán yêu cầu xây dựng một hệ thống mã hóa, nơi ngườidùng có thể bảo mật thông tin của mình thông qua các thao tác mã hóa và giải mã với hai khóa khác nhau Đồng thời, chúng ta cũng sẽ phân tích hiệu suất của thuật toán, và tìm hiểu về những vấn đề có thể gặp phải khi triển khai ElGamal vào thực tế

Hình 1 Thuật toán ELGAMAL cơ bản.

Trang 11

1.2 Ứng dụng thực tiễn

Thuật toán mã hóa ElGamal là một trong những phương pháp mã hóa bất đối xứng mạnh mẽ và antoàn, được ứng dụng rộng rãi trong nhiều lĩnh vực khác nhau của bảo mật thông tin Dưới đây là một số ứng dụng nổi bật của ElGamal trong thực tiễn:

1 Bảo mật giao dịch điện tử

Một trong những ứng dụng quan trọng nhất của ElGamal là trong các hệ thống giao dịch điện tử, nơi thông tin và tài khoản của người dùng cần được bảo vệ một cách an toàn Các ngân hàng và tổ chức tài chính sử dụng ElGamal để mã hóa các giao dịch và dữ liệu của khách hàng, giúp đảm bảo rằng các giao dịch được thực hiện một cách an toàn mà không bị

rò rỉ thông tin hay bị gian lận

2 Chữ ký số

ElGamal cũng là một phần quan trọng trong các hệ thống chữ ký số, nơi thông tin và tài liệu cần được xác thực một cách an toàn Chữ ký số sử dụng các thuật toán mã hóa bất đối xứng như ElGamal để bảo vệ tính toàn vẹn và xác thực của các tài liệu điện tử Chữ ký số giúp người nhận có thể kiểm tra rằng tài liệu đã không bị thay đổi kể từ khi được ký và xác minh danh tính của người ký

3 Hệ thống bảo mật thông tin trong liên lạc điện tử

Mã hóa ElGamal còn được sử dụng trong các hệ thống nhắn tin và trao đổi dữ liệu, chẳng hạn như trong các dịch vụ email an toàn, dịch vụ tin nhắn bảo mật và các nền tảng trao đổi thông tin trực tuyến ElGamal giúp bảo vệ các thông điệp khỏi việc bị nghe lén hoặc truy cậptrái phép, đảm bảo rằng chỉ người nhận hợp lệ mới có thể giải mã và đọc thông tin

4 Blockchain và tiền điện tử

Trong các ứng dụng tiền điện tử, đặc biệt là các hệ thống blockchain, ElGamal có thể được

sử dụng để bảo vệ các giao dịch và thông tin tài khoản người dùng Mặc dù thuật toán RSA phổ biến hơn trong các hệ thống tiền điện tử, nhưng ElGamal cũng có thể được áp dụng để tăng cường bảo mật thông qua việc mã hóa thông tin giao dịch và giúp bảo vệ quyền riêng

tư của người dùng trong các giao dịch

5 Bảo vệ thông tin cá nhân

Mã hóa ElGamal có thể được sử dụng để bảo vệ các thông tin cá nhân trong các ứng dụng bảo mật như lưu trữ dữ liệu trên đám mây, nơi các tệp tin cần được mã hóa để tránh bị truy cập trái phép Người dùng có thể mã hóa tài liệu cá nhân, ảnh, video hoặc bất kỳ loại

dữ liệu nhạy cảm nào trước khi tải lên nền tảng trực tuyến

6 Ứng dụng trong lĩnh vực quân sự và an ninh quốc gia

ElGamal có thể được áp dụng trong các hệ thống bảo mật của quân đội và các cơ quan an ninh quốc gia để bảo vệ thông tin mật Với khả năng bảo vệ thông tin một cách mạnh mẽ vàđảm bảo tính toàn vẹn của dữ liệu, ElGamal là một công cụ hữu ích trong việc duy trì bảo mật cho các hoạt động liên quan đến an ninh quốc gia

7 Mã hóa trong các hệ thống bảo mật Cloud Computing

Trong các hệ thống điện toán đám mây, nơi dữ liệu được lưu trữ và xử lý từ xa, mã hóa

Trang 12

ngoài Với việc sử dụng khóa công khai và khóa bí mật, ElGamal giúp đảm bảo rằng dữ liệu của người dùng được mã hóa trước khi lưu trữ và chỉ có thể được giải mã khi cần thiết.

Thuật toán ElGamal, mặc dù có một số hạn chế về hiệu suất so với các phương pháp mã hóa khác, vẫn là một công cụ mạnh mẽ trong việc bảo vệ thông tin và dữ liệu trong các hệ thống an ninh Với khả năng cung cấp mức bảo mật cao, ElGamal đã và đang được ứng dụng trong nhiều lĩnh vực quan trọng từ tài chính, y tế, cho đến các nền tảng trực tuyến và tiền điện tử Sự phát triển của các phương pháp mã hóa như ElGamal đóng vai trò quan trọng trong việc đảm bảo rằng thông tin cá nhân và dữ liệu nhạy cảm luôn được bảo vệ trong môi trường số hiện nay

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT

1 Logarit rời rạc:

Trong toán học, với các số thực a và b đã cho, logarit log_b a là một số x sao cho b^x = a Tương tự, trong bất kỳ nhóm G nào, lũy thừa b^k có thể được định nghĩa cho tất cả các số nguyên k và logarit rời rạc log_b a

là một số nguyên k sao cho b^k = a.

Trong lý thuyết số, thuật ngữ "logarit rời rạc" thường được thay thế bằng thuật ngữ "index": chúng ta có thể viết x = indr_a (mod m) (đọc là "chỉ số của a đến cơ số r modulo m") nếu r là primitive root của m và gcd(a, m) = 1 Điều này có nghĩa là r^x ≡ a (mod m), nghĩa là bậc số r với chỉ số x sẽ cho kết quả bằng a theo modulo m.

Logarit rời rạc có thể tính toán nhanh chóng trong một vài trường hợp đặc biệt, tuy nhiên, không có phương pháp hiệu quả nào được biết đến để tính toán chúng nói chung Trong mật mã học, độ phức tạp tính toán của bài toán logarit rời rạc và ứng dụng của nó lần đầu tiên được đề xuất trong bài toán Diffie-Hellman.

Một số thuật toán quan trọng trong mật mã khóa công khai, điển hình như ElGamal, dựa trên tính bảo mật của chúng dựa trên giả thuyết độ khó (hardness assumption) rằng bài toán logarit rời rạc (DLP - Discrete Logarithm Problem) trên các nhóm được lựa chọn cẩn thận không có giải pháp hiệu quả.

2 Kiểm tra số nguyên tố lớn bằng Định lý Fermat nhỏ:

Trong lý thuyết số, Định lý Fermat nhỏ phát biểu rằng nếu p là một số nguyên tố, thì với bất kỳ số nguyên a nào, ta có:

a^p - a là một bội của p.

Hay trong số học modulo, điều này có thể được thể hiện bởi:

Ngày đăng: 24/05/2025, 16:45

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Cormack, G. V. (2008). Email Spam Filtering: A Systematic Review. Foundations and Trends® in Information Retrieval, 335-455 Sách, tạp chí
Tiêu đề: Email Spam Filtering: A Systematic Review
Tác giả: Cormack, G. V
Nhà XB: Foundations and Trends® in Information Retrieval
Năm: 2008
[4] Talbi, El-Ghazali. (2016). Combining metaheuristics with mathematical programming, constraint programming and machine learning. Annals of Operations Research Sách, tạp chí
Tiêu đề: Combining metaheuristics with mathematical programming, constraint programming and machine learning
Tác giả: Talbi, El-Ghazali
Nhà XB: Annals of Operations Research
Năm: 2016
[5] Zhang, Le and Zhu, Jingbo and Yao, Tianshun. (2004). An evaluation of statistical spam filtering techniques. ACM Transactions on Asian Language Information Processing (TALIP), 3, 243--269 Sách, tạp chí
Tiêu đề: An evaluation of statistical spam filtering techniques
Tác giả: Zhang, Le, Zhu, Jingbo, Yao, Tianshun
Nhà XB: ACM Transactions on Asian Language Information Processing (TALIP)
Năm: 2004
[2] Dada, E. G. (2019). Machine learning for email spam filtering: review, approaches and open research problems. Heliyon, 5(6), e01802 Khác
[3] Karim, Asif and Azam, Sami and Shanmugam, Bharanidharan and Kannoorpatti, Krishnan and Alazab, Mamoun. (2019). A comprehensive survey for intelligent spam email detection. IEEE Access, 7, 168261--168295 Khác

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w