Đồ Án Tốt Nghiệp Ngành Điện Tử Viễn Thông: Xây Dựng Chương Trình Mã Hóa Và Giải Mã RSA

Hướng dẫn chi tiết xây dựng chương trình mã hóa và giải mã RSA phục vụ đồ án tốt nghiệp điện tử viễn thông, đảm bảo hiệu quả và chính xác.

Trường đại học

Đại học Dân lập Hải Phòng

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2018

63
9
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI NÓI ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ MẬT MÃ HỌC

1.1. Giới thiệu về mật mã học

1.2. Khái niệm cơ bản về mật mã học

1.3. Các thành phần của một hệ mật mã

1.4. Phân loại các hệ mật mã

1.5. Một số phương pháp mã hóa

1.5.1. Mã hóa cổ điển

1.5.2. Mã thay thế

1.5.3. Mã vigenere

1.5.4. Mã hoán vị

1.5.5. DES (Data Encryption Standard)

2. CHƯƠNG 2: MẬT MÃ HÓA CÔNG KHAI RSA

2.1. Thuật toán Euclid

2.2. Số nguyên tố

2.2.1. Định lý Fermat và định lý Euler

2.2.2. Hàm số Euler

2.2.3. Kiểm tra số nguyên tố

2.2.3.1. Thuật toán Miller-Rabin
2.2.3.2. Hai tính chất của số nguyên tố
2.2.3.3. Chi tiết về thuật toán
2.2.3.4. Sử dụng thuật toán Miller-Rabin lặp đi lặp lại
2.2.3.5. Thuật toán xác định số nguyên tố
2.2.3.6. Sự phân bố của hai số nguyên tố

2.2.4. Định lý còn lại của Trung Hoa

2.2.4.1. Hai khẳng định của CRT
2.2.4.2. Chứng minh khẳng định đầu tiên
2.2.4.3. Chứng minh khẳng định thứ hai

2.3. Logarithms rời rạc

2.3.1. Khả năng của một số nguyên (mod n)

2.3.2. Logarithms cho mô đun số học

2.3.3. Tính toán logarithms rời rạc

2.4. Mật mã khóa công khai

2.4.1. Nguyên tắc của các hệ thống mã hóa khóa công khai

2.4.2. Hệ thống mật mã khóa công khai

2.4.3. Các bước cần thiết

2.4.4. Ứng dụng của các hệ thống mật mã khóa công khai

2.4.5. Yêu cầu đối với mật mã khóa công khai

2.4.6. Phân thích mã hóa khóa công khai

2.5. Thuật toán RSA

2.5.1. Mô tả thuật toán

2.5.2. Các khía cạnh tính toán

2.5.3. Hoạt động hiệu quả dùng khóa công khai

2.5.4. Tạo khóa

3. CHƯƠNG 3: CHƯƠNG TRÌNH MÃ HÓA VÀ GIẢI MÃ RSA

3.1. Mô tả thuật toán

3.2. Mã chương trình 3.py

Tóm tắt

I. Đồ án tốt nghiệp

Đồ án tốt nghiệp là một phần quan trọng trong chương trình đào tạo của sinh viên ngành điện tử viễn thông. Đồ án này tập trung vào việc xây dựng một chương trình mã hóa và giải mã RSA, một thuật toán mật mã khóa công khai phổ biến. Mục tiêu của đồ án là giúp sinh viên hiểu sâu về các nguyên lý bảo mật thông tin và ứng dụng chúng trong thực tế. Đồ án được thực hiện dưới sự hướng dẫn của Thạc sỹ Nguyễn Văn Dương, giảng viên tại Trường Đại học Dân lập Hải Phòng.

1.1. Nhiệm vụ đề tài

Nhiệm vụ chính của đề tài là xây dựng một chương trình mã hóa và giải mã RSA. Sinh viên cần nắm vững các thuật toán RSA, các định lý toán học liên quan như định lý Fermatđịnh lý Euler, cũng như các kỹ thuật kiểm tra số nguyên tố như thuật toán Miller-Rabin. Đồ án yêu cầu sinh viên phải hiểu rõ quy trình tạo khóa, mã hóa và giải mã dữ liệu, đồng thời đánh giá tính hiệu quả và độ an toàn của thuật toán.

II. Ngành điện tử viễn thông

Ngành điện tử viễn thông là một lĩnh vực rộng lớn, bao gồm các công nghệ liên quan đến truyền thông, xử lý tín hiệu và bảo mật thông tin. Trong bối cảnh hiện đại, an ninh mạngbảo mật thông tin đang trở thành những vấn đề cấp thiết. Đồ án này tập trung vào việc ứng dụng các kỹ thuật mã hóa trong lĩnh vực viễn thông, đặc biệt là thuật toán RSA, để đảm bảo an toàn cho dữ liệu truyền qua mạng.

2.1. Ứng dụng điện tử viễn thông

Thuật toán RSA được sử dụng rộng rãi trong các hệ thống bảo mật thông tin của ngành điện tử viễn thông. Nó giúp bảo vệ dữ liệu nhạy cảm như thông tin cá nhân, giao dịch tài chính và thông tin quân sự. Đồ án này không chỉ giúp sinh viên hiểu rõ về thuật toán RSA mà còn trang bị cho họ kỹ năng ứng dụng các kỹ thuật mã hóa vào thực tế, đặc biệt trong việc phát triển các hệ thống truyền thông an toàn.

III. Chương trình mã hóa và giải mã RSA

Chương trình mã hóa và giải mã RSA là trọng tâm của đồ án. Thuật toán RSA dựa trên việc sử dụng hai số nguyên tố lớn để tạo khóa công khai và khóa bí mật. Quá trình mã hóa và giải mã được thực hiện thông qua các phép toán mũ và modulo. Chương trình được viết bằng ngôn ngữ Python, với các hàm chính bao gồm tạo khóa, mã hóa và giải mã dữ liệu.

3.1. Thuật toán RSA

Thuật toán RSA bao gồm ba bước chính: tạo khóa, mã hóa và giải mã. Đầu tiên, hai số nguyên tố lớn được chọn để tính toán khóa công khai và khóa bí mật. Sau đó, dữ liệu được mã hóa bằng khóa công khai và chỉ có thể giải mã bằng khóa bí mật tương ứng. Thuật toán này đảm bảo tính bảo mật thông tin cao, đặc biệt khi sử dụng các số nguyên tố đủ lớn.

IV. Bảo mật thông tin và an ninh mạng

Bảo mật thông tin là một yếu tố quan trọng trong ngành điện tử viễn thông. Thuật toán RSA đóng vai trò then chốt trong việc bảo vệ dữ liệu khỏi các cuộc tấn công mạng. Đồ án này giúp sinh viên hiểu rõ hơn về các nguyên lý an ninh mạng và cách thức áp dụng các kỹ thuật mã hóa để đảm bảo an toàn cho hệ thống truyền thông.

4.1. Kỹ thuật mã hóa

Các kỹ thuật mã hóa như RSA giúp bảo vệ dữ liệu khỏi việc bị đánh cắp hoặc thay đổi trái phép. Đồ án này không chỉ giới thiệu về thuật toán RSA mà còn đề cập đến các phương pháp mã hóa khác như DESAES, giúp sinh viên có cái nhìn tổng quan về các công nghệ bảo mật hiện đại.

V. Giá trị và ứng dụng thực tiễn

Đồ án xây dựng chương trình mã hóa và giải mã RSA có giá trị thực tiễn cao trong việc đào tạo sinh viên ngành điện tử viễn thông. Nó không chỉ giúp sinh viên nắm vững lý thuyết mà còn trang bị kỹ năng thực hành, chuẩn bị cho họ sẵn sàng tham gia vào các dự án thực tế trong lĩnh vực bảo mật thông tinan ninh mạng.

5.1. Ứng dụng thực tế

Chương trình mã hóa và giải mã RSA có thể được ứng dụng trong nhiều lĩnh vực như bảo mật giao dịch ngân hàng, bảo vệ thông tin cá nhân trên mạng xã hội và an ninh quốc phòng. Đồ án này giúp sinh viên hiểu rõ cách thức áp dụng các kỹ thuật mã hóa vào thực tế, từ đó đóng góp vào sự phát triển của ngành điện tử viễn thông.

12/02/2025

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

Chương 1. Tổng quan về mật mã học 1. Giới thiệu về mật mã học. An toàn thông tin là bảo vệ các đặc tính riêng tư (confidentialy), toàn vẹn (intergrity) và khả dụng (availabity) của thông tin.

- C: (Confidentialy) bảo vệ tính riêng tư của dữ liệu thông qua các cơ chế chứng thực và mã hóa, ngăn ngừa những người không hợp lệ sẽ không được đọc những thông tin. Giống như các bì thư khi phát lương thưởng được dán chữ Confidentialy, chúng ta có thể hình dung trong môi trường công nghệ thông tin là một người chưa đăng nhập vào Domain sẽ không được truy cập những dữ liệu chỉ chia sẻ cho các Domain User. - I: (Intergrity) bảo vệ tính toàn vẹn của dữ liệu thông qua các thuật toán RSA, SHA, MD5. ngăn ngừa attacker thay đổi các thông tin nhạy cảm trong quá trình truyền.

- A: (Available) bảo đảm dữ liệu luôn ở trong trạng thái sẵn sằng đáp ứng nhu cầu của người dùng. - Non-Repudiation: Tính không thể chối bỏ, nghĩa là dữ liệu người nào gửi đi thì họ phải có trách nhiệm với các thông tin của mình thông qua các xác nhận nguồn gốc như chữ kí điện tử. Để thực hiện điều này chúng ta áp dụng các biện pháp xác thực và mã hóa. Và mật mã học là nghiên cứu về vấn đề mã hóa.

Mã hóa là một tiến trình biến đổi dữ liệu từ dạng plaintext (văn bản thuần túy dễ dàng nhận biết) thành kết quả ciphertext, dạng dữ liệu không thể đọc được nếu không được giải mã bằng các khóa thích hợp. Mục tiêu của mã hóa là ngăn ngừa việc tấn công đánh cắp dữ liệu trái phép hoặc phòng ngừa việc mất mát dữ liệu khi bị tấn công vật lý như trộm đĩa cứng, máy tính xách tay hay thậm chí đột nhập vào hệ thống vẫn không thể xem được dữ liệu riêng tư, bí mật đã được bảo vệ bằng các thuật toán mã hóa mạnh mẽ. Khái niệm cơ bản về mật mã học Kỹ thuật mật mã thông qua việc biến đổi hoặc mã hoá thông tin, biến đổi những thông tin nhạy cảm, vấn đề cơ mật thành những văn tự mã hoá có dạng hỗn loạn, làm cho tin tặc khó lòng mà đọc hiểu được, từ đó sẽ đạt được hai mục đích: một là, làm cho tin tặc không biết làm thế nào để giải mã nên cũng không thể thu được những thông tin có bất kỳ ý nghĩa nào trong chuỗi mật mã hỗn loạn đó; hai là làm cho tin tặc không có khả năng làm giả thông tin với chuỗi mật mã hỗn loạn như thế. Khoa học nghiên cứu kỹ thuật mật mã gọi là mật mã học.

Mật mã học bao gồm hai nhánh, là mật mã học lập mã và mật mã học phân tích. Mật mã học lập mã với ý là tiến hành mã hoá thông tin để thực hiện việc che giấu thông tin, còn mật mã học phân tích là ngành học nghiên cứu phân tích giải dịch mật mã. Hai cái đối lập với nhau, nhưng lại thúc đẩy lẫn nhau. Dùng phương pháp mật mã có thể che dấu và bảo hộ những thông tin cơ mật, làm cho người chưa được uỷ quyền không thể lấy được thông tin, những thông tin được giấu kín kia được gọi là văn bản rõ, mật mã có thể đem văn bản rõ biến đổi thành một loại hình khác, gọi là văn bản mật.

Sự biến đổi văn bản rõ thành văn bản mật gọi là mã hoá bảo mật, quá trình người thu nhận hợp pháp khôi phục từ văn bản mật trở thành văn bản rõ được gọi là quá trình giải mã (hoặc giải mật). Người thu nhận phi pháp có ý đồ phân tích từ văn bản mật ra thành văn bản rõ, gọi là giải dịch. Các thành phần của một hệ mật mã Một hệ mật là một bộ 5 (P, C, K, E, D) thoả mãn các điều kiện sau: + P là một tập hữu hạn các bản rõ có thể + C là tập hữu hạn các bản mã có thể + K (không gian khoá) là tập hữu hạn các khoá có thể + Đối với mỗi kK có một quy tắc mã ek: P -> C và một quy tắc giải mã tương ứng dkD. Mỗi ek: P -> C và dk: C -> P là những hàm mà: dk(ek(x)) = x với mọi bản rõ xP.

Điều kiện thứ 4 là tính chất chủ yếu. Nội dung của nó là nếu một bản rõ x được mã hoá bằng ek và bản mã nhận được sau đó được giải mã bằng dk thì ta phải thu được bản rõ ban đầu x. Trong trường hợp này hàm mã hoá ek phải là hàm đơn ánh, nếu không việc giải mã sẽ không thể thực hiện được một cách tường minh. Phân loại các hệ mật mã Hiện nay người ta đã thiết kế ra nhiều loại hệ thống mật mã, nếu như lấy khoá mật mã làm tiêu chuẩn có thể phân các hệ mật mã thành hai loại: + Hệ mật mã đối xứng (còn gọi là mật mã khoá đơn hoặc là mật mã khoá riêng): Trong các hệ mật mã này, khoá mật mã mã hoá bảo mật giống với khoá giải mã hoặc trên thực tế là cùng đẳng cấp.

Lúc này khoá mật mã cần phải có một đường truyền an toàn để truyền đưa khoá mật mã từ phía người truyền cho phía người nhận. Đặc điểm của mật mã đối xứng là bất luận khi gia công bảo mật hay là khi giải mã đều sử dụng cùng một khoá mật mã. Do đó tính an toàn của mật mã này là sự an toàn của khoá mật mã. nếu như khoá mật mã bị tiết lộ, thì hệ thống mật mã này sẽ bị phá vỡ.

Mật mã đối xứng có ảnh hưởng nhất là phép tính DES do cục tiêu chuẩn quốc gia Mỹ công bố vào năm 1977. - Ưu điểm: Tính an toàn cao, tốc độ giải mã nhanh. - Nhược điểm:  Theo sự mở rộng của quy mô mạng lưới, việc quản lý khoá mật mã trở thành một việc khó khăn.  Không có cách nào giải quyết vấn đề xác nhận thông tin.

 Thiếu năng lực kiểm tra tự động sự tiết lộ khoá mật mã. + Hệ mật mã bất đối xứng (còn gọi là mật mã khoá công khai hoặc mật mã khoá đôi): Trong các hệ mật mã này quá trình mã hoá và giải mã có chìa khoá khác nhau, lúc này không cần có đường truyền an toàn để truyền đưa khoá mật mã mà chỉ cần bộ phát sinh khoá mã tại chỗ để tạo ra khoá giải mã đồng thời lấy đó để khống chế các thao tác giải mã. Mật mã bất đối xứng là một thể chế mật mã loại mới do W. Do quá trình mã hoá và giải mã của thể chế mật mã bất đối xứng không như nhau và khoá mã bảo mật là công khai, hơn nữa, chỉ yêu cầu bảo mật khoá giải mã, cho nên mật mã bất đối xứng không tồn tại vấn đề quản lý khoá mật mã.

Mật mã bất đối xứng còn một ưu điểm nữa là có thể có khả năng ký tên chữ số và một số chức năng mới. Mật mã bất đối xứng nổi tiếng nhất là thể chế mật mã RSA do ba người là Rivest, Shamir và Adleman đề xuất năm 1977. Khuyết điểm của mật mã bất đối xứng là: phép tính mật mã là tương đối phức tạp, tốc độ giải mã chậm. Do đó, việc bảo mật dữ liệu trên mạng nên dùng cơ chế bảo mật hỗn hợp kết hợp giữa mật mã đối xứng và mật mã bất đối xứng, tức là khi giải mã thì dùng mật mã đối xứng, khi truyền đưa khoá mật mã thì dùng mật mã bất đỗi xứng.

Như thế tức là đã giải quyết được khó khăn trong việc quản lý khoá mật mã, lại vừa giải quyết được vấn đề tốc độ giải mã. Không còn hoài nghi gì nữa, nó là một phương pháp tương đối tốt để giải quyết vấn đề an toàn thông tin khi truyền đưa trên mạng hiện nay. Một số phương pháp mã hóa 1. Mã hóa cổ điển Mã hoá cổ điển là phương pháp mã hoá đơn giản nhất xuất hiện đầu tiên trong lịch sử ngành mã hoá.

Thuật toán đơn giản và dễ hiểu. Những phương pháp mã hoá này là cở sở cho việc nghiên cứu và phát triển thuật toán mã hoá đối xứng được sử dụng ngày nay. Trước khi mã hoá một bản rõ thành bản mã bằng các phương pháp mã hoá, ta xét một sự thiết lập tương ứng giữa các ký tự và các thặng dư theo modulo 26 như sau: A0, B1, …, Z25 hoặc theo bảng A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 1 1 1 1 1 1 1 1 2 2 2 2 2 0 1 2 3 4 5 6 7 8 9 12 22 0 1 3 4 5 6 7 8 9 0 1 3 4 5 + Mật mã CAESAR Một trong số những người sử dụng mật mã được biết sớm nhất, đó là Julias Caesar (Xê-Da). Ông đã làm cho các bức thư trở nên bí mật bằng cách dịch mỗi chữ cái đi ba chữ cái về phía trước trong bảng chữ cái (và ba chữ cái cuối cùng thành ba chữ cái đầu tiên).

Đây là 1 ví dụ về sự mã hoá, tức là quá trình làm cho bức thư trở nên bí mật. Phương pháp mã hoá của CAESAR có thể được biểu diễn bởi hàm f, hàm này gán cho số nguyên không âm p, p  25, số nguyên f(p) trong tập 0, 1, 2, … , 25 sao cho: f(p) = (p+3) mod 26. Như vậy, trong phiên bản mã hoá của bức thư, chữ cái được biểu diễn bởi p sẽ được thay bằng chữ cái được biểu diễn bởi: (p+3) mod 26 Để phục hồi lại bức thư gốc đã được mã hoá theo mật mã của CAESAR, ta cần phải dùng hàm ngược f-1 của f: f-1(p) = (p-3) mod 26. Nói cách khác, để tìm lại bức thư gốc, mỗi một chữ cái lùi lại ba chữ trong bảng chữ cái, với ba chữ cái đầu tiên chuyển thành ba chữ cái cuối cùng tương ứng của bảng chữ cái.

Nhận xét: phương pháp mã hoá của CAESAR không có độ an toàn cao. Phương pháp mã hoá này dễ bị khám phá bằng cách dựa vào tần xuất xuất hiện của các chữ cái trong bức thư. + Mã thay thế Mã thay thế có thể được mô tả như sau: Cho P = C = Z26. K chứa mọi hoán vị có thể của 26 kí hiệu 0, 1, …, 25.

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

Bài viết "Đồ án tốt nghiệp xây dựng hệ thống chatbots tự động" cung cấp cái nhìn chi tiết về quá trình thiết kế và phát triển một hệ thống chatbot tự động, từ lý thuyết đến ứng dụng thực tế. Đây là tài liệu hữu ích cho sinh viên và chuyên gia công nghệ muốn tìm hiểu sâu về trí tuệ nhân tạo và tự động hóa. Để mở rộng kiến thức về các hệ thống tự động trong công nghiệp, bạn có thể tham khảo thêm Đồ án tốt nghiệp ngành điện tự động công nghiệp thiết kế xây dựng hệ thống định mức và chiết rót chai tự động. Nếu quan tâm đến các ứng dụng thực tế trong xây dựng, Khoá luận tốt nghiệp nhà làm việc công ty thép Việt Đức sẽ là tài liệu bổ ích. Mỗi liên kết là cơ hội để bạn khám phá sâu hơn về các chủ đề liên quan, nâng cao hiểu biết và kỹ năng của mình.