Tải bản đầy đủ (.pdf) (3 trang)

Bài tập nhóm Hệ thống mật mã hóa khóa công khai RSA

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 (271.03 KB, 3 trang )

Đề tài thảo luận nhóm

HỆ THỐNG MẬT MÃ HÓA KHÓA CÔNG KHAI RSA

Nhóm 7:
1. Huỳnh Thị Bé Huyền
2. Hoàng Yến Nhi
3. Dương Trần Đan Thư
4. Phạm Thị Trang
5. Nguyễn Ngọc Bảo Trân
I. Giới thiệu
Mô hình trao đổi thông tin qua mạng theo cách thông thường

Mô hình trao đổi thông tin theo phương pháp mã hóa

Tại sao phải mã hóa thông tin?
Mã hóa chủ yếu để tránh những cái nhìn soi mói của những người tò mò tọc mạch, nói chung là bạn
không muốn thông tin của mình lộ ra ngoài, tăng tính bảo mật. Chỉ có người gửi và người nhận mới
đọc được thông tin.
II. Hệ thống mã hóa RSA
1. Giới thiệu
a) Lịch sử
Thuật toán được Ron Rivest, Adi Shamir và Len Adleman mô tả lần đầu 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ả
(RSA).Thuật toán RSA được MIT đăng ký bằng sáng chế tại Hoa Kỳ vào năm 1983 (Số đăng ký
4.405.829)
b) Sơ lược về hệ thống mã hóa khóa công khai 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ã
2. Mô tả hoạt động


RSA có hai khóa:
- Khóa công khai (Pulic key): Đượ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.
a) Tạo khóa
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 1Bướ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


b) 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 (0Bướ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
Vậy m là thông tin nhận được

Sơ đồ quá trình

3. Ví dụ minh họa
a) Thủ tục sinh 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 de  1 ( mod  (n) )
de  1  k  (n)
3d - 1  10k
10 k  1
d 
3
d = 7 ( k = 2 ) ( số mũ bí mật)
• Khóa công khai (10;3)
•Khóa bí mật (10;7)
b) 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.
- Mã hóa:
Tính c ( c là văn bản mã) :
c  m e mod n  4 3 mod 22  20

 c  20
- Giải mã:

m  c d mod n  20 7 mod 22  4
m4

4. Tính bảo mật


Độ 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 thừa số nguyên tố các số
nguyên lớn và bài toán 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. Vì vậy hiện nay người ta khuyến cáo sử dụng
khóa có độ dài tối thiểu 2048 bít
5. Các vấn đề đặt ra trong thực tế
*Qúa trình tạo khóa

Việc tìm ra 2 số nguyên tố đủ lớn p và q thường được thực hiện bằng cách thử xác suất các số ngẫu
nhiên có độ lớn phù hợp. p và q cần được chọn không quá gần nhau phòng trường hợp phân
tích n bằng phương pháp phân tích Fermat. Ngoài ra, nếu p-1 hoặc q-1 có thừa số nguyên tố nhỏ
thì n cũng có thể dễ dàng bị phân tích và vì thế p và q cần được thử để tránh khả năng này. Yêu cầu:
lựa chọn các số cần đồng thời ngẫu nhiên và không dự đoán được.
*Tốc độ
RSA có tốc độ thực hiện chậm hơn đáng kể so với DES và các thuật toán mã hóa đối xứng khác.
Thực tế, sử dụng một thuật toán mã hóa đối xứng nào đó để mã hóa văn bản cần gửi và chỉ sử dụng
RSA để mã hóa khóa để giải mã (thông thường khóa ngắn hơn nhiều so với văn bản).
*Phân phối khóa
Cách thức phân phối khóa công khai là một trong những yếu tố quyết định độ an toàn của RSA. Quá
trình phân phối khóa cần chống lại được tấn công đứng giữa (man-in-the-middle attack). Các phương
pháp chống lại dạng tấn công này thường dựa trên các chứng thực khóa công khai (digital certificate)
hoặc các thành phần của hạ tầng khóa công khai (public key infrastructure - PKI).
*Tấn công dựa trên thời gian
Năm 1995, Paul Kocher mô tả dạng tấn công mới lên RSA: nếu kẻ tấn công nắm đủ thông tin về
phần cứng thực hiện mã hóa và xác định được thời gian giải mã thì có thể nhanh chóng tìm ra
khóa d.Năm 2003, Dan Boneh và David Brumley chứng minh một dạng tấn công: phân tích thừa số
RSA dùng mạng máy tính (Máy chủ web dùng SSL, khai thác thông tin rò rỉ của việc tối ưu hóa định
lý số dư Trung quốc Để chống lại tấn công các ứng dụng RSA sử dụng kỹ thuật che mắt dựa trên
tính nhân của RSA
*Tấn công lựa chọn thích nghi bản mã
Năm 1981, Daniel Bleichenbacher mô tả dạng tấn công lựa chọn thích nghi bản mã có thể thực hiện
với một văn bản mã hóa bằng RSA bằng cách lợi dụng sự khiếm khuyết của PKCS #1. Để chống lại
tấn công nên sử dụng các mô hình chuyển đổi an toàn hơn như chuyển đổi mã hóa bất đối xứng tối
ưu hay phiên bản mới của PKCS #1
6. Ứng dụng của hệ mã hóa RSA
RSA thỏa mãn 5 yêu cầu của một hệ mã hóa hiện đại:
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ínhngân hàng...
III. Tài liệu tham khảo
/> />


×