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

Tiểu luận kết thúc học phần bảo mật dữ liệu chủ Đề thuật toán mật mã rsa

20 0 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 đề Thuật Toán Mật Mã RSA
Tác giả Võ Cao Thái Sơn, Vũ Thị Bảo Hân, Nguyễn Công Nhật
Người hướng dẫn Lê Đức Anh
Trường học Trường Cao Đẳng Lý Tự Trọng Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại tiểu luận
Năm xuất bản 2024
Thành phố Tp.Hồ Chí Minh
Định dạng
Số trang 20
Dung lượng 2,6 MB

Nội dung

KHÁI NIỆM VỀ THUẬT TOÁN RSA - RSA là thuật toán mã hóa sử dụng một cặp khóa, bao gồm khóa công khai và khóa bí mật, để mã hóa thông tin được phát triển vào năm 1977 bởi ba nhà khoa học R

Trang 1

UỶ BAN NHÂN DÂN THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG CAO ĐẲNG LÝ TỰ TRỌNG THÀNH PHỐ HỒ CHÍ MINH

KHOA CÔNG NGHỆ THÔNG TIN

TIỂU LUẬN KẾT THÚC HỌC PHẦN

BẢO MẬT DỮ LIỆU

CHỦ ĐỀ:

THUẬT TOÁN MẬT MÃ RSA Giảng viên hướng dẫn: LÊ ĐỨC ANH

Sinh viên: Võ Cao Thái Sơn (23004199)

Sinh viên: Vũ Thị Bảo Hân (23004177)

Sinh viên: Nguyễn Công Nhật (23004193)

Lớp: 23C2-TKW1

Tp.Hồ Chí Minh, tháng 09/2024

Trang 2

DANH SÁCH NHÓM

TÊN

CÔNG VIỆC ĐƯỢC PHÂN CÔNG

MỨC ĐỘ HOÀN THÀNH ( SV đánh giá )

MỨC ĐỘ HOÀN THÀNH (GV Đánh giá)

Thái Sơn

- CODE

- Demo giao diện 100%

2 23004177 Vũ Thị BảoHân -Tìm thông tin 100%

3 23004193 Công NhậtNguyễn - Làm word-CODE 100%

NHẬN XÉT, ĐÁNH GIÁ CỦA GIÁO VIÊN

Trang 3

MỤC LỤC

CHƯƠNG 1: TỔNG QUAN VỀ THUẬT TOÁN RSA

1 KHÁI NIỆM VỀ THUẬT TOÁN RSA

2 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN THUẬT TOÁN RSA

  3 PHẠM VI ỨNG DỤNG THUẬN TOÁN RSA CHƯƠNG 2: MÃ HÓA – GIẢI MÃ

  1   CÁCH THỨC MÃ HÓA THUẬT TOÁN RSA

CHƯƠNG 3: TRIỂN KHAI THUẬT TOÁN

1 CODE

2   DEMO GIAO DIỆN:

CHƯƠNG 4: TÀI LIỆU THAM KHẢO

Trang 4

CHƯƠNG 1: TỔNG QUAN VỀ THUẬT TOÁN RSA

1 KHÁI NIỆM VỀ THUẬT TOÁN RSA

- RSA là thuật toán mã hóa sử dụng một cặp khóa, bao gồm khóa công khai và khóa bí mật, để mã hóa thông tin được phát triển vào năm 1977 bởi ba nhà khoa học Ron Rivest, Adi Shamir và Leonard Adleman RSA sử dụng rộng rãi trong nhiều ứng dụng bảo mật, bao gồm chữ ký số, xác thực, mã hóa đường truyền

2 LỊCH SỬ HÌNH THÀNH VÀ PHÁT TRIỂN THUẬT TOÁN RSA

- Trước đó, vào năm 1973, Clifford Cocks, một nhà toán học người Anh làm việc tại GCHQ, đã mô tả một thuật toán tương tự Với khả năng tính toán tại thời điểm đó thì thuật toán này không khả thi và chưa bao giờ được thực nghiệm Tuy nhiên, phát minh này chỉ được công bố vào năm 1997 vì được xếp vào loại tuyệt mật

- RSA đã tạo ra một bước đột phá trong lĩnh vực bảo mật thông tin và đã trở thành nền tảng cho nhiều giao thức bảo mật, bao gồm HTTPS và SSL/TLS

- Các cải tiến liên tục đã thực hiện để nâng cao độ an toàn và hiệu suất, chẳng hạn như sử dụng số nguyên tố lớn hơn và các phương pháp mã hoá hybrid kết hợp giữa mã hoá đối xứng và bất đối xứng

3 PHẠM VI ỨNG DỤNG THUẬT TOÁN RSA

- Bảo mật truyền thông : RSA được sử dụng trong giao thức SSL/TLS để bảo vệ

dữ liệu trong quá trình truyền tải trên internet

- Chữ ký số : RSA cho phép xác thực danh tính và tính toàn vẹn của tài liệu qua chữ ký số, giúp đảm bảo rằng nội dung không bị thay đổi

- Mã hoá dữ liệu : Dùng để mã hoá thông tin nhạy cảm, như thông tin thẻ ứng dụng hoặc hồ sơ cá nhân

- Quản lý khoá : RSA hỗ trợ trong việc trao đổi khoá an toàn giữa các bên, đóng vai trò quan trọng trong các hệ thống hybrid

- Xác thực : Được áp dụng trong các hệ thống xác thực người dùng, đảm bảo chỉ những người có quyền mới có thể truy cập thông tin

Trang 5

CHƯƠNG 2: MÃ HÓA – GIẢI MÃ

1 CÁCH THỨC MÃ HÓA THUẬT TOÁN RSA

1.1 MÃ HOÁ VÀ GIẢI MÃ THUẬT TOÁN RSA

- Mã Hoá: Khi có một bản rõ (thông điệp) M, ta cần chuyển nó thành một số tự nhiên m sao cho 0 < m < n và m nguyên tố cùng nhau với n Điều này có thể thực hiện dễ dàng bằng cách sử dụng các kỹ thuật padding (thêm dữ liệu bổ sung) Sau đó, ta tiến hành mã hóa số m thành c (bản mã) bằng công thức:

c = m^e mod n

- Giải mã: Người nhận sử dụng private key (n, d) để giải mã bản mã c nhằm lấy lại số m bằng công thức:

m = c^d mod n

- Sau khi có m, ta có thể khôi phục lại bản tin ban đầu M bằng cách đảo ngược quá trình padding

Trang 6

1.2QUY TRÌNH TẠO KHOÁ

  - Chọn hai số nguyên tố lớn: p và q

  - Tính n = p × q

  - Tính hàm Euler φ(n) = (p - 1) × (q - 1)

  - Chọn e sao cho 1 < e < φ(n) và gcd(e, φ(n)) = 1

  - Tính d sao cho d × e ≡ 1 (mod φ(n))

  - Khóa công khai là (e, n) và khóa riêng tư là (d, n)

Ví dụ:

Trang 7

Bước 1: Chọn hai số nguyên tố lớn p và q

Chọn hai số nguyên tốp và q Các số này phải được chọn ngẫu nhiên và phải đủ lớn để đảm bảo tính bảo mật

Chọn p = 61 và q = 53

Bước 2: Tính n = p × q

Tínhn = p × q Số n này sẽ là một phần của cả khóa công khai và khóa riêng tư n 

sẽ là modulus trong các phép toán mã hóa và giải mã

n=61×53=3233n = 61 \times 53 = 3233n=61×53=3233

Bước 3: Tính hàm Euler φ(n)

Tínhφ(n) = (p - 1) × (q - 1), trong đó φ(n) là hàm Euler của n Hàm Euler này được sử dụng để tính toán khóa riêng tư

ϕ(3233)=(61−1)×(53−1)=60×52=3120\phi(3233) = (61 - 1) \times (53 - 1) = 60 \

times 52 = 3120ϕ(3233)=(61−1)×(53−1)=60×52=3120

Bước 4: Chọn số e (khóa công khai)

Chọn một số nguyên e sao cho:

1 < e < φ(n)

e phải là một số nguyên tố cùng nhau với φ(n), tức là gcd(e, φ(n)) = 1 Điều này đảm bảo rằng e và φ(n) không có ước chung ngoài 1

Sốe này sẽ là phần của khóa công khai và thường được chọn là các số nhỏ như

65537 hoặc 17 vì chúng dễ tính toán và đảm bảo tính bảo mật

Chọn e = 17 (vì gcd(17, 3120) = 1, e và φ(n) là số nguyên tố cùng nhau) Bước 5: Tính số d (khóa riêng tư)

Tính sốd sao cho d×e≡1mod φ(n)d \times e \equiv 1 \mod φ(n)d×e≡1modφ(n), nghĩa làd là nghịch đảo modular của e modulo φ(n)

Có thể tínhd bằng cách sử dụng thuật toán Euclid mở rộng

Tính d = 2753 sao cho 17×2753≡1mod 312017 \times 2753 \equiv 1 \mod

312017×2753≡1mod3120

Bước 6: Khóa công khai và khóa riêng tư 

Trang 8

Khóa công khai bao gồm hai giá trị (e, n).

Khóa riêng tư  bao gồm hai giá trị (d, n)

Ví dụ của cặp khóa trong trường hợp này:

Khóa công khai (e, n) = (17, 3233)

Khóa riêng tư (d, n) = (2753, 3233)

1.3 QUY TRÌNH MÃ HOÁ

 -Chuẩn bị khóa công khai: Sử dụng khóa công khai (e, n)

  -Chuyển đổi thông điệp thành số nguyên : Chuyển thông điệp (plaintext) thành

số nguyênm

-Áp dụng công thức mã hóa: Mã hóa thông điệp bằng công thức c = m^e \mod n

  -Truyền thông điệp mã hóa: Gửi thông điệp mã hóa c đến người nhận. 

Ví dụ:

Giả sử chúng ta có các giá trị sau:

Khóa công khai(e = 17, n = 3233)

Thông điệp cần mã hóa là m = 65 (giả sử thông điệp là ký tự "A", mã ASCII của

"A" là 65)

Áp dụng công thức mã hóa:

Sử dụng công thức mã hóa c=memod nc = m^e \mod nc=memodn:

c=6517mod 3233c = 65^{17} \mod 3233c=6517mod3233

Việc tính toán này có thể sử dụng phần mềm hoặc công cụ tính toán số học Kết quả tính toán sẽ cho ra giá trịc = 2790

Kết quả mã hóa:

Thông điệp mã hóa làc = 2790

Thông điệp đã mã hóa này sẽ được gửi đi, và chỉ có người nhận với khóa riêng tư phù hợp mới có thể giải mã được nó

Trang 10

CHƯƠNG 3: TRIỂN KHAI THUẬT TOÁN

1. CODE

Trang 18

1 DEMO GIAO DIỆN

Trang 20

CHƯƠNG 4: TÀI LIỆU THAM KHẢO

- Bài báo “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems" Tác giả: Ron Rivest, Adi Shamir, Leonard Adleman

- Bài báo“The RSA Algorithm” Tác giả: David R Stinson

- Sách "Cryptography and Network Security" Tác giả: William

Stallings

- Sách "Introduction to Modern Cryptography" Tác giả: Jonathan Katz, Yehuda Lindell

~ ~ HẾT ~ ~

Ngày đăng: 07/12/2024, 20:11

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

TÀI LIỆU LIÊN QUAN

w