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

Bảo mật thông tin thuật toán mã hóa rsa

17 1 0

Đ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 đề Bảo Mật Thông Tin Thuật Toán Mã Hóa RSA
Tác giả Nhóm 11: Ngô Gia Băng Đinh Phúc Thọ Phạm Chí Phương
Người hướng dẫn Tống Thanh Văn
Trường học Học viện Công nghệ Massachusetts (MIT)
Chuyên ngành Lịch Sử
Thể loại Luận văn
Năm xuất bản 1977
Thành phố Boston
Định dạng
Số trang 17
Dung lượng 12,18 MB

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

Nội dung

Lịch SửThuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts MIT.. Nhưng tại thời điểm đó thì thuật toán này không

Trang 1

BẢO MẬT THÔNG TIN

Thuật Toán Mã Hóa

RSA

GVHD: Tống Thanh Văn

Nhóm 11:

Ngô Gia Băng

Đinh Phúc Thọ

Phạm Chí Phương

Trang 2

Lịch Sử

Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu tiên vào năm 1977 tại Học viện Công nghệ Massachusetts (MIT) Tên của thuật toán lấy từ 3 chữ cái đầu của tên 3 tác giả (R.S.A).

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ự.

Nhưng 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.

Trang 3

Lý Thuyết Số

Trang 4

Phép chia Modulo

 Phép chia modulo là một pháp chia lấy phần dư: Ví dụ: 55 mod 8 = 7 tức là 55 :

8 dư 7

 Tổng quát a mod n = r với a >= 0; n>0; 0 <=r<n-1

Trang 5

Phép chia Modulo

 Phép chia modulo là một pháp chia lấy phần dư: Ví dụ: 55 mod 8 = 7 tức là 55 : 8 dư 7

 Tổng quát a mod n = r với a >= 0; n>0; 0 <=r<n-1

Trang 6

Một số tính chất của modulo

a) a+b) mod n = [(a mod n) + (b mod n)] mod n b) (a-b) mod n = [(a mod n) - (b mod n)] mod n c) (a x b) mod n = [(a mod n) x (b mod n)] mod n

Trang 7

Định Lý Fermat

Định lý:

Nếu p là số nguyên tố và a là số nguyên tố không chia hết cho p thì 1 mod p

Ví Dụ:

p = 5 , a= 9 => = 6561 = 1 mod 5

p = 5 , a= 11 => = 14641 = 1 mod 5

Trang 8

Phép Logarit Rời Rạc

Ta định nghĩa phép lũy thừa modulo như sau:

để tính y từ a(với x, n là các số nguyên):

y = mod n  y = (a.a.a….) mod n

Ví Dụ:

Trang 9

Mã Khóa Công Khai

RSA

Trang 10

Sơ lược về RSA

RSA được sử dụng rộng rãi trong công tác mã hoá và công nghệ chữ ký điện tử Trong hệ mã hóa này, public key có thể chia sẻ công khai cho tất

cả mọi người Hoạt động của RSA dựa trên 4 bước chính: sinh khóa, chia

sẻ key, mã hóa và giải mã

Trang 11

Mô Tả Hoạt Động

● Thuật toán RSA có hai khóa:

○ Khóa công khai (Public key): khóa công khai được công bố rộng rãi cho mọi người và được dùng để mã hóa

○ Khóa bí mật (Private key): những thông tin được mã hóa bằng khóa công khai chỉ có thể được giải mã bằng khóa bí mật tương ứng Nói cách khác, mọi người đều có thể mã hóa nhưng chỉ có người biết khóa cá nhân (bí mật) mới có thể giải mã được.

Trang 12

Khởi Tạo Khóa RSA

 Bước 1: chọn 2 nguyên tố lớn ngẫu nhiên và độc lập p và q.

 Bước 2: tính n= pq.

 Bước 3: tính giá trị hàm số ɸ(n)= (p-1)(q-1)

 Bước 4: chọn 1 số tự nhiên e sao cho 1<e<ɸ(n) và UCLN (e,ɸ(n))= 1.

 Bước 5: tính d= e-1 bằng cách dung thuật toán Euclide, tìm số tự nhiên x sao cho d= (x*(p-1)*(q-1)+1)/ e.

 Bước 6: n và e làm khóa công khai, n và d làm khóa bí mật.

Trang 13

Mã Hóa và Giải Mã

● Bước 1: A nhận khóa công khai của B

● Bước 2: A biểu diễn thông tin cần gửi thành số m (0<m<n) sao cho m,n nguyên tố cùng nhau

● Bước 3: tính c= me mod n

● Bước 4: gửi giá trị c cho B

● Bước 5: giải mã m= cd mod n

Sơ đồ quá trình

Trang 14

Ví Dụ Minh Họa

Thủ tục tạo khóa:

● Chọn 2 số nguyên tố p = 2 và q = 11 (giữ bí mật hoặc hủy sau khi tạo khóa)

● n = pq = 2.11 = 22 ( công khai )

● ɸ(n) = (p-1)(q-1) = 10

● Chọn e sao cho 0 < e < 10 và e và ϕ(n) là số nguyên tố cùng nhau Chọn e = 3 ( số mũ công khai)

Tính d biết (d,e) = 1 ( mod ϕ(n) )

d.e = k.ϕ(n) + 1

3d - 1 = 10k

d = (10 k + 1) / 3

d = 7 ( k = 2 ) ( số mũ bí mật)

● Khóa công khai (10;3)

● Khóa bí mật (7)

Trang 15

Mã hóa và giải mã:

● Giả sử ta cần mã hóa và giải mã văn bản có giá trị m = 4

Tính c ( c là văn bản mã) :

c = me mod n = 43 mod 22 = 20

=> c = 20

m = cd mod n = 207 mod 22 = 4 => m = 4

Trang 16

Độ An Toàn Của Mã Hóa RSA

 Độ an toàn của hệ thống RSA dựa trên 2 vấn đề: bài toán phân tích ra số nguyên tố các số nguyên lớn và bài toán RSA Nếu 2 bài toán trên là khó (không tìm được thuật toán hiệu quả để giải chúng) thì không thể thực hiện được việc phá mã toàn bộ đối với RSA

 Vì vậy muốn xây dựng hệ RSA an toàn thì n=p*q phải là một số đủ lớn, để không có khả năng phân tích nó về mặt tính toán Để đảm bảo an toàn nên chọn các số nguyên tố p và q từ 100 chữ số trở lên

Trang 17

Ứng Dụng Của Hệ Mã Hóa RSA

1 Độ bảo mật cao (nghĩa là để giải mã ddược mà không biết kháo thì phải tốn hàng triệu năm)

2 Thao tác nhanh (thao tác mã hóa và giải mã ít tốn thời gian)

3 Dùng chung được

4 Có ứng dụng rộng rãi

5 Có thể dùng để xác định chủ nhân (dùng làm chữ ký điện tử)

 Vì vậy mà thuật toán RSA được sử dụng rộng rãi trong công tác mã hoá và công nghệ chữ ký điện tử: truyền dẫn quỹ điện tử chuyển đổi thư điện tử, giao dịch tiền điện tử, thương mại điện tử, tài chính- ngân hàng

Ngày đăng: 20/04/2023, 08:51

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

TÀI LIỆU LIÊN QUAN

w