Bài giảng Lý thuyết mật mã và an toàn thông tin: RSA cryptosystem - PGS.TS. Vũ Đình Hòa
Số trang: 17
Loại file: pdf
Dung lượng: 128.00 KB
Lượt xem: 17
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng "Lý thuyết mật mã và an toàn thông tin: RSA cryptosystem" cung cấp cho người đọc các kiến thức: Mật mã RSA, mô tả sơ lược, tạo khó, mã hóa và giải mã, tính bảo mật của RSA,... Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Lý thuyết mật mã và an toàn thông tin: RSA cryptosystem - PGS.TS. Vũ Đình Hòa RSA CRYPTOSYSTEM 4.3 Mật mã RSA • RSA : Ron Rivest, Adi Shamir và Len Adleman (Leonard Max Adleman) năm 1977 Massachusetts. Mô hình mã hóa và giải mã bản mã điện tử: Khóa công khai của người nhận Bản tin rõ Bản tin mới Mã hóa A Mạng Khóa riêng của người nhận Bản tin mới Bản tin rõ Giải mã B Mô tả sơ lược • Thuật toán RSA có hai khóa, khóa công khai (public) và khóa bí mật (private). Mỗi khóa là những số cố định sử dụng trong quá trình giải mã và mã hóa. 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 Tạo khóa • Hệ mật mã này được tính toán trên vành số nguyên Zn. • Đầu tiên, ta chọn 2 số nguyên tố lớn ngẫu nhiên và khác nhau p và q • Tính n = p*q • Tính giá trị hàm số Ơle Φ(n) = (p-1)(q-1) • Tìm một số ngẫu nhiên e thỏa mãn điều kiện sau: 1< e Tạo khóa • Khóa công khai bao gồm n và e: n - modun và e - số mũ công khai (số mũ mã hóa) • Khóa bí mật là d: d - số mũ bí mật (khóa giải mã). Mã hóa và giải mã • Giả sử B muốn gửi đoạn thông điệp P cho A. Đầu tiên, B chuyển P thành một số P 01, B -> 02, …; z ->26. • Gọi E và D lần lượt là các hàm mã hóa và giải mã. Mã hóa và giải mã • Thao tác mã hóa: C là bản mã hóa của m theo công thức: C = Pe (mod n) • Thao tác giải mã: A nhận C từ B và biết khóa bí mật d. A sẽ tìm được P từ C theo công thức sau: P = Cd mod n. Ví dụ • Lấy p=61 (Số nguyên tố thứ nhất) • q= 53 (Số nguyên tố thứ hai) • n = pq = 3233 (mô đun công bố công khai) • Φ(n) = 3120 • e = 17 (Số mũ công khai) được chọn sao cho nguyên tố cùng nhau Φ(n) = 3120 • d = 2753 (Số mũ bí mật) (chọn d sao cho de ≡ 1(modΦ(n)) d ≡ e-1 mod Φ(n), tính theo giải thuật Ơclit mở rộng). Ví dụ (tiếp) • Khóa công khai (e,n). Khóa bí mật là d • Hàm mã hóa E(m) = me (mod n) = m17 (mod 3233) • Hàm giải mã là D(m) = cd mod n = c2753 (mod 3233) Ví dụ • Chẳng hạn: để mã hóa văn bản P=AW có giá trị 0123 (A=01, W=23), ta thực hiện phép tính: • Mã hóa E(m) = 12317 (mod 3233) = 855 • Giải mã: D(m) = 8552753 (mod 3233) = 123 • (Thủ thuật tính 123.123. …. 123, ta thực hiện ngay phép lấy số dư của 123.123 trong phép chia cho 3233 … ) Tính bảo mật của RSA • Bài toán : Cho trước n, phân tích n thành tích các số nguyên tố chưa có thuật toán tốt (với thời gian tính toán đa thức) để giải nó. • Vì vậy, biết khóa công khai (n,e) rất khó tính ra khóa giải mã d. Chữ ký điện tử và vấn đề chống mạo danh Giả sử A gửi cho B văn bản P kèm theo chữ ký K của A. Cơ chế; A mã hóa P bằng khóa lập mã (nB, eB) và ---------- K bởi (nA, dA). B giải mã bản mã bằng khóa (nB, dB) và ---------- K bởi (nA, eA). Tính khóa giải mã d • Procedure Euclid_E(a,m) int, y0=0,y1:=1; • While a>0 do • { r:= m mod a • if r=0 then Break • q:= m div a • y:= y0-y1*q • m:=a; a:=r y0:=y1 y1:=y } • If a>1 Then Return A không khả nghịch theo mođun m • else Return Nghịch đảo modulo m của a là y Bài tập: Xét hệ mật mã RSA với p = 3, q = 7. • Hỏi có thể chọn e = 3 được không? • Hãy mã hóa chữ cái đầu tên của em với e = 5. • Gợi ý: • e = 3 không thể Ví dụ mã hóa H với e = 5: • H được số hóa thành 08, • e(H) = 85 = ? (mod 21) • Do 82 = 64 = 1 (mod 21), suy ra • 85 = (82)28 = 1.8 = 8 (mod 21)
Nội dung trích xuất từ tài liệu:
Bài giảng Lý thuyết mật mã và an toàn thông tin: RSA cryptosystem - PGS.TS. Vũ Đình Hòa RSA CRYPTOSYSTEM 4.3 Mật mã RSA • RSA : Ron Rivest, Adi Shamir và Len Adleman (Leonard Max Adleman) năm 1977 Massachusetts. Mô hình mã hóa và giải mã bản mã điện tử: Khóa công khai của người nhận Bản tin rõ Bản tin mới Mã hóa A Mạng Khóa riêng của người nhận Bản tin mới Bản tin rõ Giải mã B Mô tả sơ lược • Thuật toán RSA có hai khóa, khóa công khai (public) và khóa bí mật (private). Mỗi khóa là những số cố định sử dụng trong quá trình giải mã và mã hóa. 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 Tạo khóa • Hệ mật mã này được tính toán trên vành số nguyên Zn. • Đầu tiên, ta chọn 2 số nguyên tố lớn ngẫu nhiên và khác nhau p và q • Tính n = p*q • Tính giá trị hàm số Ơle Φ(n) = (p-1)(q-1) • Tìm một số ngẫu nhiên e thỏa mãn điều kiện sau: 1< e Tạo khóa • Khóa công khai bao gồm n và e: n - modun và e - số mũ công khai (số mũ mã hóa) • Khóa bí mật là d: d - số mũ bí mật (khóa giải mã). Mã hóa và giải mã • Giả sử B muốn gửi đoạn thông điệp P cho A. Đầu tiên, B chuyển P thành một số P 01, B -> 02, …; z ->26. • Gọi E và D lần lượt là các hàm mã hóa và giải mã. Mã hóa và giải mã • Thao tác mã hóa: C là bản mã hóa của m theo công thức: C = Pe (mod n) • Thao tác giải mã: A nhận C từ B và biết khóa bí mật d. A sẽ tìm được P từ C theo công thức sau: P = Cd mod n. Ví dụ • Lấy p=61 (Số nguyên tố thứ nhất) • q= 53 (Số nguyên tố thứ hai) • n = pq = 3233 (mô đun công bố công khai) • Φ(n) = 3120 • e = 17 (Số mũ công khai) được chọn sao cho nguyên tố cùng nhau Φ(n) = 3120 • d = 2753 (Số mũ bí mật) (chọn d sao cho de ≡ 1(modΦ(n)) d ≡ e-1 mod Φ(n), tính theo giải thuật Ơclit mở rộng). Ví dụ (tiếp) • Khóa công khai (e,n). Khóa bí mật là d • Hàm mã hóa E(m) = me (mod n) = m17 (mod 3233) • Hàm giải mã là D(m) = cd mod n = c2753 (mod 3233) Ví dụ • Chẳng hạn: để mã hóa văn bản P=AW có giá trị 0123 (A=01, W=23), ta thực hiện phép tính: • Mã hóa E(m) = 12317 (mod 3233) = 855 • Giải mã: D(m) = 8552753 (mod 3233) = 123 • (Thủ thuật tính 123.123. …. 123, ta thực hiện ngay phép lấy số dư của 123.123 trong phép chia cho 3233 … ) Tính bảo mật của RSA • Bài toán : Cho trước n, phân tích n thành tích các số nguyên tố chưa có thuật toán tốt (với thời gian tính toán đa thức) để giải nó. • Vì vậy, biết khóa công khai (n,e) rất khó tính ra khóa giải mã d. Chữ ký điện tử và vấn đề chống mạo danh Giả sử A gửi cho B văn bản P kèm theo chữ ký K của A. Cơ chế; A mã hóa P bằng khóa lập mã (nB, eB) và ---------- K bởi (nA, dA). B giải mã bản mã bằng khóa (nB, dB) và ---------- K bởi (nA, eA). Tính khóa giải mã d • Procedure Euclid_E(a,m) int, y0=0,y1:=1; • While a>0 do • { r:= m mod a • if r=0 then Break • q:= m div a • y:= y0-y1*q • m:=a; a:=r y0:=y1 y1:=y } • If a>1 Then Return A không khả nghịch theo mođun m • else Return Nghịch đảo modulo m của a là y Bài tập: Xét hệ mật mã RSA với p = 3, q = 7. • Hỏi có thể chọn e = 3 được không? • Hãy mã hóa chữ cái đầu tên của em với e = 5. • Gợi ý: • e = 3 không thể Ví dụ mã hóa H với e = 5: • H được số hóa thành 08, • e(H) = 85 = ? (mod 21) • Do 82 = 64 = 1 (mod 21), suy ra • 85 = (82)28 = 1.8 = 8 (mod 21)
Tìm kiếm theo từ khóa liên quan:
Lý thuyết mật mã An toàn thông tin Bài giảng An toàn thông tin Mật mã RSA RSA cryptosystem Mã hóa và giải mã Tính bảo mật của RSA Mật mã RSATài liệu liên quan:
-
Đề cương chi tiết bài giảng môn Đảm bảo và an toàn thông tin
25 trang 273 0 0 -
Giáo trình An toàn, an ninh thông tin và mạng lưới
142 trang 173 0 0 -
Kiến thức căn bản về Máy tính - Phùng Văn Đông
52 trang 167 0 0 -
Bài giảng Chương 3: Lý thuyết mật mã
81 trang 124 0 0 -
Giáo trình An toàn và bảo mật thông tin - Đại học Bách Khoa Hà Nội
110 trang 114 0 0 -
Về một giải pháp cứng hóa phép tính lũy thừa modulo
7 trang 106 0 0 -
Một số thuật toán giấu tin trong ảnh có bảng màu và áp dụng giấu tin mật trong ảnh GIF
5 trang 94 0 0 -
Blockchain – Một số ứng dụng trong trường đại học
12 trang 90 0 0 -
Giáo trình An toàn & Bảo mật thông tin - TS. Nguyễn Khanh Văn (ĐH Bách khoa Hà Nội)
56 trang 80 0 0 -
Bài giảng An toàn thông tin: Chương 7 - ThS. Nguyễn Thị Phong Dung
31 trang 77 0 0