Tải bản đầy đủ (.docx) (38 trang)

Báo Cáo An Toàn Bảo Mật Thông Tin

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.74 MB, 38 trang )

<span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Lời nói đầu</b>

Trước đây, khi cơng nghệ máy tính chưa phát triển, việc đảm bảo an tồn và bảo mật thơng tin thường được thực hiện bằng các phương pháp truyền thống như đóng dấu và ký niêm phong bức thư để đảm bảo tính nguyên vẹn, sử dụng mật mã để chỉ có người gửi và người nhận hiểu được thông điệp, và lưu trữ tài liệu trong két sắt có khóa tại nơi được bảo vệ nghiêm ngặt.

Tuy nhiên, ngày nay, với sự phát triển của khoa học công nghệ, đặc biệt là sự tiến bộ của Internet, việc sử dụng máy tính và điện thoại cá nhân đã trở nên phổ biến. Điều này dẫn đến việc lưu trữ và truyền thông tin trên mạng Internet trở nên phức tạp hơn. Do đó, nhu cầu về an tồn và bảo mật thơng tin trên máy tính ngày càng tăng cao, và việc sử dụng mật mã để mã hóa thơng điệp trở nên phổ biến hơn bao giờ hết. Tuy nhiên, điều này cũng đồng nghĩa với việc nguy cơ từ các hacker và các dạng virus trở thành mối đe dọa đối với an ninh thơng tin. Vì vậy, việc đảm bảo an tồn thơng tin trong các hệ thống máy tính trở nên vơ cùng quan trọng.

Nhóm chúng em đã nhận thức được điều này và đã xây dựng một chương trình mã hóa và giải mã RSA. Với kiến thức đã học cùng với việc nghiên cứu các tài liệu trên Internet, chúng em đã hoàn thành đề tài này. Trong quá trình thực hiện, chúng em đã gặp nhiều khó khăn và nhận thức được rằng hiểu biết của chúng em còn hạn chế, dẫn đến việc kết quả có thể cịn một số thiếu sót.

Chúng em xin gửi lời cảm ơn chân thành đến cô Trần Phương Nhung vì sự hướng dẫn và chỉ bảo tận tâm của cơ. Chúng em mong nhận được nhận xét và đóng góp ý kiến từ cơ để có thể hồn thiện bài tập lớn này.

Một lần nữa, chúng em xin chân thành cảm ơn!

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>Chương 1:Tổng quan</b>

<b>1.1Giới thiệu về an tồn thơng tin</b>

An tồn thơng tin là bảo vệ các đặc tính riêng tư (confidentialy), tồn vẹn (intergrity) và khả dụng (availabity) của thông tin.

<i>-</i> 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>-</i> I: (Intergrity) bảo vệ tính tồn vẹn của dữ liệu thơng qua các thuật tố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.

<i>-</i> 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.

<i>-</i> 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 tốn mã hóa mạnh mẽ.

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>1.2Giới thiệu về hệ mật mã1.2.1Vai trò của hệ mật mã</b>

<i>- Phải che giấu được nội dung của văn bản rõ (plaintext)</i>

<i>- Tạo các yếu tố xác thực thông tin, đảm bảo thông tin lưu hành trong hệ</i>

thống đến người nhận hợp pháp là xác thực

<i>- Tổ chức các sơ đồ chữ ký điện tử, đảm bảo k có hiện tượng giả mạo, mạo</i>

danh để gửi thông tin lên mạng.

<b>1.2.2Khái niệm cơ bản</b>

<i>- Bản rõ X: được gọi là bản tin gốc, bản rõ có thể được chia nhỏ có kích</i>

thước phù hợp.

<i>- Bản mã Y: là bản tin gốc đã được mã hoá. </i>

<i>- Mã: là thuật toán mã hoá chuyển bản rõ thành bản mã, thơng thường chúng</i>

ta cần thuật tốn mã hố mạnh, cho dù kẻ thù biết được thuật toán, nhưng khơng biết thơng tin về khố thì cũng khơng tìm được bản rỏ.

<i>- Khố K: là thơng tin tham số dùng để mã hố, chỉ có người gửi và người</i>

nhận biết. Khố là độc lập với bản rõ và có độ dài phù hợp với yêu cầu bảo mật.

<i>- Mã hố: là q trình chuyển bản rõ thành bản mã.</i>

<i>- Giải mã: là quá trình chuyển bản mã thành bản rõ, đây là q trình ngược</i>

lại của mã hố.

<b>1.2.3Các thành phần của hệ mật mã</b>

Một hệ mật mã là một hệ bao gồm 5 thành phần (P, C, K, E, D) thoả mãn:  P (Plaintext): không gian bản rõ, là tập hợp hữu hạn các bản rõ có thể.  C (Ciphertext): không gian bản mã, là tập hợp những bản mã có thể.  K (Key): khơng gian khố, là tập hợp các khố có thể.

 E (Encryption): khơng gian hàm mã hố, là tập hợp các quy tắc mã hố có thể.

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

 D (Decryption): không gian hàm giải mã, là tập hợp các quy tắc giải mã có thể.

Đối với mỗi k thuộc K có một quy tắc mã hố e<sub>k</sub>: P -> C thuộc E và một quy tắc giải mã tương ứng dk: C -> P thuộc D

<i><small>Hình 1.1: Quá trình mã hố và giải mã thơng tin</small></i>

<b>1.2.4Phân loại hệ mật mã</b>

- Hệ mật mã đối xứng: hay còn gọi là mật mã khố bí mật, là những hệ mật dùng chung một khó cả trong q trình mã hố và giải mã dữ liệu. Do đó khố phải giữ bí mật tuyệt đối. Một số thuật tốn nổi tiếng như: DES, Triple DES, RC4, …

- Hệ mật mã bất đối xứng (mật mã khố cơng khai): dùng một khố để mã hố sau đó dùng một khoá khác để giải mã (2 khoá khác nhau). Các khoá này tạo nên từng cặp chuyển đổi ngược nhau và khơng có khó nào có thể suy được từ khoá nào. Kháo đung để mã hoá có thể cơng khai, nhưng khố dùng để giải mã phải giữ bí mật. Một số thuật tốn nổi tiếng như: RSA, RSA,…

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>1.1Giới thiệu về hệ mã RSA</b>

<b>1.2.5Giới thiệu chung về hệ mã RSA</b>

Hệ mã RSA (Rivest-Shamir-Adleman) là một hệ mật mã công khai phổ biến được đặt tên theo tên ba nhà mật mã người Mỹ - Ron Rivest, Adi Shamir và Leonard Adleman. Dưới đây là một số thông tin cơ bản về hệ mã RSA:

- RSA là một hệ mật mã cơng khai, nghĩa là sử dụng hai khóa riêng biệt để mã hóa và giải mã thơng điệp. Mỗi người dùng trong hệ thống có một cặp khóa bao gồm khóa cơng khai (public key) và khóa bí mật (private key).

- Cơ sở của RSA là hai bài tốn tốn học: phân tích ngun tố và tính tốn modulo lớn. Tính an tồn của RSA phụ thuộc vào khả năng phân tích nguyên tố của các số lớn.

- So với hệ mã RSA, hệ mã RSA khơng có nhiều vấn đề về quản lý khóa, vì việc mã hóa và giải mã đều sử dụng cùng một khóa. Tuy nhiên, hệ mã RSA có thể chậm hơn RSA trong việc thực hiện mã hóa và giải mã.

<b>1.1.1 Mã hoá và giải mã hệ mã RSA* Q trình mã hố và giải mã</b>

<b>1. Khởi tạo khóa:</b>

<b> - Chọn hai số nguyên tố lớn p và q. - Tính n = p * q, là tích hai số nguyên tố.</b>

<b> - Tính hàm Euler của n: φ(n) = (p - 1) * (q - 1).n) = (n) = (p - 1) * (q - 1).p - 1) * (n) = (p - 1) * (q - 1).q - 1).</b>

<b> - Chọn một số nguyên b thỏa mãn 1 < b < φ(n) = (p - 1) * (q - 1).n) và gcd(n) = (p - 1) * (q - 1).b, φ(n) = (p - 1) * (q - 1).n)) = 1. Đâylà khóa cơng khai.</b>

<b> - Tìm số nguyên a sao cho (n) = (p - 1) * (q - 1).a * e) mod φ(n) = (p - 1) * (q - 1).n) = 1. Đây là khóa bí mật.2. Mã hóa:</b>

<b> - Chọn một thơng điệp ban đầu X, trong đó 0 ≤ X < n.</b>

<b> - Mã hóa thơng điệp X thành bản mã Y bằng cách sử dụng khóa cơng </b>

<b>Trong q trình giải mã, cần lưu ý rằng phép toán (n) = (p - 1) * (q - 1).X^b) mod n có thể tốn rất nhiều thời gian và tài ngun tính tốn khi n rất lớn. Vì vậy, </b>

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>thường sử dụng phép toán mũ modulo nhanh như mũ Fermat hay mũ bình phương liên tiếp để tối ưu quá trình giải mã.</b>

<b>Trong hệ mã RSA, thông điệp ban đầu X và bản mã Y đều là các số ngun khơng âm có giá trị nhỏ hơn n. Cần lưu ý rằng quá trình mã hóavà giải mã chỉ hoạt động đúng khi X < n, vì nếu X ≥ n, thơng điệp ban đầu sẽ khơng được phục hồi chính xác.</b>

<b>1.2.6Độ an tồn</b>

<b>Độ an toàn của hệ mã RSA phụ thuộc vào sự khó khăn trong việc giải bài tốn phân tích số nguyên tố lớn thành các thừa số nguyên tố. Đánh giá độ an toàn của hệ mã RSA như sau:</b>

<b>1. Phân tích số ngun tố:</b>

<b> - Mã hố trong hệ mã RSA dựa trên việc chọn hai số nguyên tố lớn p và q và tính tích n = p * q. Độ an toàn của RSA phụ thuộc vào khả năng ngăn chặn việc phân tích n thành p và q. Đối với các số nguyên tố lớn, phân tích ngược trở thành một bài tốn khó khăn và tốn thời gian.2. Bài toán logarithm rời rạc:</b>

<b> - Hệ mã RSA không dựa trên bài toán logarithm rời rạc như hệ mã RSA. Thay vào đó, nó dựa trên tính khó khăn trong việc giải bài tốn phân tích số ngun tố lớn như đã đề cập ở trên.</b>

<b>3. Độ dài khóa:</b>

<b> - Độ an toàn của RSA cũng liên quan đến độ dài khóa được sử dụng. Đối với hệ mã RSA, độ dài khóa càng lớn thì độ an tồn càng cao. Việc tìm ra các thừa số nguyên tố p và q từ một số nguyên lớn trở nên khó khăn hơn khi độ dài của p và q tăng lên.</b>

<b>1.2.7Ưu và nhược điểm của hệ mã RSA</b>

Ưu điểm của hệ mã RSA:

1. Bảo mật mạnh: Độ an toàn của hệ mã RSA phụ thuộc vào sự khó khăn trong việc giải bài tốn phân tích số ngun tố lớn thành các thừa số nguyên tố. Nếu kích thước khóa đủ lớn, việc giải mã RSA trở nên rất khó khăn và tốn thời gian, đảm bảo tính bảo mật của thơng tin.

2. Hỗ trợ mã hố và giải mã nhanh: Mặc dù q trình mã hố và giải mã RSA sử dụng các phép tính tốn phức tạp trên số nguyên lớn, nhưng với các thuật toán hiệu

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

quả như Euclid mở rộng và thuật tốn mũ nhanh, RSA vẫn có thể thực hiện mã hố và giải mã nhanh chóng.

3. Phân phối khóa cơng khai dễ dàng: Mỗi người dùng có thể tạo cặp khóa (khóa cơng khai và khóa bí mật) riêng cho mình. Khóa cơng khai có thể được chia sẻ và phân phối một cách cơng khai mà khơng làm mất tính bảo mật của thông tin. 4. Chữ ký số: RSA cũng được sử dụng để tạo chữ ký số. Chữ ký số giúp xác minh tính tồn vẹn của thơng tin và xác định nguồn gốc của nó.

Nhược điểm của hệ mã RSA:

1. Độ dài khóa lớn: Độ an tồn của hệ mã RSA phụ thuộc vào độ dài khóa. Để đảm bảo tính bảo mật, độ dài khóa cần đủ lớn. Tuy nhiên, việc sử dụng khóa dài có thể tạo ra sự chậm trễ trong quá trình mã hố và giải mã.

2. Khơng phù hợp cho mã hố thơng điệp lớn: RSA khơng phù hợp để mã hố trực tiếp các thông điệp lớn. Thông điệp cần được chia nhỏ thành các khối nhỏ hơn và mã hố từng khối riêng biệt. Điều này có thể làm tăng độ phức tạp và gây ra hiệu suất chậm.

3. Vấn đề quản lý khóa: Vì quy mơ khóa lớn và sử dụng số ngun tố, q trình sinh khóa và quản lý khóa trong hệ mã RSA có thể phức tạp hơn so với một số hệ mã khác.

4. Độ phức tạp tính tốn: Trong q trình mã hố vàgiải mã, RSA sử dụng các phép tính tốn trên số ngun lớn, địi hỏi tính toán phức tạp và tốn thời gian. Điều này có thể làm giảm hiệu suất của q trình giải mã, đặc biệt đối với thông điệp lớn. 5. Cần quản lý khóa bí mật một cách cẩn thận: Khóa bí mật trong hệ mã RSA là rất quan trọng để đảm bảo tính bảo mật của thơng tin. Do đó, cần có các biện pháp bảo mật mạnh mẽ để bảo vệ khóa bí mật khỏi mất mát hoặc truy cập trái phép.

6. Cần sử dụng số nguyên tố lớn: Để đảm bảo tính an tồn của hệ mã RSA, cần sử dụng các số nguyên tố lớn. Tìm số nguyên tố lớn và thực hiện các phép tính trên số ngun lớn có thể tốn nhiều thời gian và tài ngun tính tốn.

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>Chương 2:Kết quả nghiên cứu</b>

<b>2.1Giới thiệu</b>

- Tên đề tài: “Xây dựng chương trình mã hố và giải mã RSA.” - Các bước thực hiện triển khai đề tài bao gồm:

o Nghiên cứu nội dung các thuật toán (Kiểm tra số nguyên tố, Euclid Định lý Fermat,hàm số Euler,Thuật tốn Miller-Rabin,Định lí phần dư trung hoa)

o Thiết kế và cài đặt chương trình demo thuật tốn - Hình thức sản phẩm: sản phẩm ứng dụng

- Kết quả đạt được: nghiên cứu, cài đặt đề mơ thuật tốn.

<b>2.2 Nội dung thuật toán</b>

<b>2.2.1Kiểm tra số nguyên tố</b>

- Bước 1: Kiểm tra xem số đó có nhỏ hơn 2 hay khơng, nếu phải thì nó khơng phải là số ngun tố.

- Bước 2: Tìm căn bậc hai của số đó và làm tròn lên đến số nguyên gần nhất. Chẳng hạn nếu số đó là 17 thì căn bậc hai của nó là 4.12, lấy số nguyên là 5. - Bước 3: Kiểm tra xem số đó có chia hết cho các số từ 2 đến căn bậc hai của

số đó khơng. Nếu có, thì nó khơng phải là số ngun tố.

- Bước 4: Nếu khơng có số nào từ 2 đến căn bậc hai của số đó chia hết cho nó, thì nó là số ngun tố.

Để kiểm tra số 19 có phải là số nguyên tố khơng, ta áp dụng q trình kiểm tra như sau:

1. 19 > 2, qua bước 1.

2. Căn bậc hai của 19 là khoảng 4.36, lấy số nguyên là 4, qua bước 2.

3. Kiểm tra xem 19 có chia hết cho các số từ 2 đến 4 không. Nếu 19 không chia hết cho số nào, qua bước 3, ngược lại thì 19 khơng phải là số ngun tố.

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

4. Vậy 19 là số nguyên tố, qua bước 4.

<b>2.2.2Thuật tốn euclid tìm ước chung lớn nhất</b>

- Thuật tốn Euclid tìm ước chung lớn nhất của hai số nguyên không âm GCD(a, b)

o Nếu a = 0 thì GCD(a, b) = b return b o Nếu b = 0 thì GCD(a, b) = a return a o Nếu a # 0, b # 0. Giả sử A > B:

 Viết a dưới dạng: a = q * b + r  Theo thuật toán Euclid ta có:

GCD(a, b) = GCD(b, r) = GCD(b, a mod b)

<b>2.2.3Thuật tốn bình phương và nhân tính x^n mod m</b>

<i>- Giải thuật đệ quy: để tính luỹ thừa tự nhiên bậc n của x như sau:</i>

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

Như vậy phép tính x^n được quy về một số phép tính bình phương và nhân.

<i>- Giải thuật khơng đệ quy:</i>

o Nhận xét: trong giải thuật đệ quy, có xét tính chẵn lẻ của n và liên tục chia n cho 2, lấy phần nguyên đến khi n = 0. Thực chất q trình này chính là tìm các bit của n hay chính là thực hiện chuyển đổi n sang số nhị phân sau đó tính luỹ thừa theo quy tắc bình phương và nhân.

<b>2.2.4Định lý Ferma nhỏ</b>

<i>- Định lý Fermat được phát biểu như sau: Nếu p là số nguyên tố và a là số </i>

nguyên bất kì khác bội của p (hay GCD (a, p) = 1), ta có: a<small>p-1</small> ≡ 1(mod p) Ví dụ: a = 5, p = 3

Ta có: a<small>p-1</small> mod p = 5<small>3-1</small> mod 3 = 5<small>2</small> mod 3= 25 mod 3 = 1 mod 3=1 (đpcm)

<i>- Một dạng thay thế của định lý Fermat: Nếu p là số nguyên tố, a là một số </i>

nguyên không là bội của p, ta ln có: a<small>p</small> ≡ a mod p Ví dụ: a = 3, p = 5

Ta có: a<small>p</small> mod p = 3<small>5</small> mod 5 = 243 mod 5 = 3 mod 5 = 3 (đpcm)

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

<b>Lưu ý: Công thức trên luôn đúng nếu p là số nguyên tố, còn a là số nguyên </b>

dương bé hơn p.

<b>2.2.5Hàm phi Euler</b>

- Định nghĩa : Hàm phi Euler của của số nguyên dương n là số các số nguyên tố cùng nhau với n và nhỏ hơn n. Kí hiệu là Φ(n)

<b>2.2.6Thuật toán Miller-Rabin</b>

Thuật toán Miller-Rabin hoạt động như sau:

Chọn một số nguyên tố ngẫu nhiên và lớn hơn 2, được ký hiệu là "a".

Xác định số "s" và "d" sao cho (2^s * d) = (n - 1), với "n" là số cần kiểm tra tính nguyên tố.

Tính tốn giá trị "x" = (a^d) mod n.

Nếu x bằng 1 hoặc x bằng (n - 1), chuyển đến bước 7. Lặp lại bước 4 với s - 1 lần:

Tính tốn giá trị "x" = (x^2) mod n.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

Nếu x bằng 1, trả về "không là số nguyên tố". Nếu x bằng (n - 1), chuyển đến bước 7.

Trả về "không là số nguyên tố".

Lặp lại bước 2 với một số nguyên tố ngẫu nhiên "a" khác. Nếu đã thử đủ số lần (tùy chọn), trả về "có thể là số ngun tố". Trả về "khơng là số nguyên tố".

<b>1.1.1 Định lí phần dư trung hoa</b>

Định lí phần dư Trung Hoa, cịn được gọi là Định lí phần dư Trung Quốc (Chinese Remainder Theorem - CRT), là một định lí quan trọng trong lý thuyết số và đại số. Nó cung cấp một phương pháp hiệu quả để giải các hệ phương trình đồng dư modulo các số nguyên tố cùng nhau.

Giả sử chúng ta có một hệ phương trình đồng dư modulo các số nguyên tố cùng nhau. Hệ phương trình có dạng như sau:

x ≡ a (mod m )₁ (mod m₁) ₁ (mod m₁) x ≡ a (mod m )₂ (mod m₂) ₂ (mod m₂) ...

x ≡ a (mod m )ₙ (mod mₙ) ₙ (mod mₙ)

Trong đó, a , a , ..., a là các số nguyên và m , m , ..., m là các số nguyên tố cùng ₁ (mod m₁) ₂ (mod m₂) ₙ (mod mₙ) ₁ (mod m₁) ₂ (mod m₂) ₙ (mod mₙ) nhau đơi một (khơng có ước chung nào giữa chúng).

Định lí phần dư Trung Hoa khẳng định rằng hệ phương trình trên ln có một nghiệm duy nhất (modulo tích các số nguyên tố). Nghĩa là tồn tại một số nguyên x thỏa mãn tất cả các phương trình đồng dư trên và nó duy nhất trong khoảng từ 0 đến (m * m * ... * m - 1).₁ (mod m₁) ₂ (mod m₂) ₙ (mod mₙ)

Cơng thức để tính giá trị của x được xác định bởi Định lí phần dư Trung Hoa và được gọi là Công thức CRT. Cơng thức này có dạng:

x ≡ (a * M * y + a * M * y + ... + a * M * y ) mod (m * m * ... * m )₁ (mod m₁) ₁ (mod m₁) ₁ (mod m₁) ₂ (mod m₂) ₂ (mod m₂) ₂ (mod m₂) ₙ (mod mₙ) ₙ (mod mₙ) ₙ (mod mₙ) ₁ (mod m₁) ₂ (mod m₂) ₙ (mod mₙ) Trong đó, M , M , ..., M là các số nguyên tố con còn lại sau khi loại bỏ m khỏi ₁ (mod m₁) ₂ (mod m₂) ₙ (mod mₙ) ₙ (mod mₙ) tích các số nguyên tố, và y , y , ..., y là các số nguyên thỏa mãn Mᵢ * yᵢ ≡ 1 (mod ₁ (mod m₁) ₂ (mod m₂) ₙ (mod mₙ) mᵢ).

Định lí phần dư Trung Hoa rất hữu ích trong các ứng dụng liên quan đến mã hóa, tính tốn số học, lý thuyết đồ thị, và nhiều lĩnh vực khác. Nó cung cấp một cách

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

hiệu quả để giải quyết các vấn đề liên quan đến đồng dư modulo và tối ưu hóa tính tốn.

<b>2.2.7Mã hố và giải mã hệ mã RSA</b>

Hệ mã RSA được mô tả như sau: Bước 1: Tạo khóa

Chọn hai số ngun tố p và q. Tính n = p * q.

Chọn số nguyên b sao cho 1 < b < φ(n) và gcd(b, φ(n)) = 1, trong đó φ(n) = (p - 1) * (q - 1) là hàm số Euler.

Tính a sao cho (a * e) mod φ(n) = 1. Khóa cơng khai: Kpub = (b,n). Khóa bí mật: Kpri = (a,p,q).

<b>1.1Thiết kế, cài đặt chương trình đề mơ thuật tốn</b>

Giao diện chương trình đề mô

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

C#

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

Python

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<small>Javascript</small>

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>1.1Cài đặt và triển khai</b>

<b>2.2.8Chương trình mã hố và giải mã hệ RSA bằng Java<Hoàng VănHiệp></b>

-Trước tiên chúng ta cài đặt JDK 11 cho máy:

- Cài đặt Apache Netbeans IDE :

B1: truy cập : để download Apache Netbeans IDE phiên bản cho window.

B2: Mở file sau khi đã tải thành cơng, ấn theo hướng dẫn cài đặt của trình cài đặt

-Giải nén file Nhom5_HoangVanHiep_2020607362.rar -Sau đó mở phần mềm Apache Netbeans IDE và mở file Nhom5_HoangVanHiep_2020607362

- Bấm nút Shift +F6 trên bàn phím để chạy chương trình

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

- Nhập dữ liệu (thực hiện bài toán) và kết quả thu được

</div>

×