Bài giảng An toàn dữ liệu và mật mã: Chương 5 - Trường ĐH Nguyễn Tất Thành
lượt xem 4
download
Bài giảng An toàn dữ liệu và mật mã: Chương 5 Các giải thuật mã hóa khóa bất đối xứng, được biên soạn gồm các nội dung chính sau: Tổng quan; Lý thuyết nền tản hệ mật mã công khai; Các giải thuật mã hóa khóa bất đối xứng; RSA. Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng An toàn dữ liệu và mật mã: Chương 5 - Trường ĐH Nguyễn Tất Thành
- TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN AN TOÀN DỮ LIỆU VÀ MẬT MÃ Data security and encryption Giảng Viên: ThS. Dương Minh Tuấn Email: dmtuan@ntt.edu.vn 1
- Chương V. Các giải thuật mã hóa KHÓA BẤT ĐỐI XỨNG 1. Tổng quan 2. Lý thuyết nền tản hệ mật mã công khai 3. Các giải thuật mã hóa khóa bất đối xứng 4. RSA 2
- 1. Tổng quan ▪ Hệ mật mã khóa đối xứng không đáp ứng được 2 mục tiêu an toàn • Xác thực - Alice và Bob trao đổi thông tin bí mật - Alice cần phải biết thông tin chắc chắn đến từ Bob, và ngược lại • Chống phủ nhận - Alice và Bob trao đổi thông tin bí mật - Nếu Alice đã gửi thông tin nào đó cho Bob thì Alice không thể chối bỏ thông tin đó là của mình ▪ Quản lý khóa đối xứng là một vấn đề nan giải • Trong các hệ khóa đối xứng, mỗi cặp người dùng phải có khóa riêng • N người dùng cần N * (N-1)/2 khóa • Việc quản lý khóa trở nên phức tạp khi số lượng người dùng tăng 3
- 1. Tổng quan Khái niệm ▪ Mỗi người dùng có 1 khóa riêng và 1 khóa công khai • Khóa riêng bí mật • Khóa công khai có thể chia sẻ ▪ Quản lý khóa • N người dùng cần N khóa công khai được xác thực • Hạ tầng khóa công khai PKI 4
- 1. Tổng quan Khái ▪ Mã niệm hóa dùng khóa công khai k • C = E(k,M) ▪ Giải mã dùng khóa riêng K • M = D(K,C) 5
- 1. Tổng quan Khái niệm hóa dùng khóa riêng K ▪ Mã • C = E(K,M) ▪ Giải mã dùng khóa công khai k • M = D(k,C) 6
- 1. Tổng quan Khóa bí mật & khóa công khai 7
- 2. Lý thuyết nền tản Hệ mật mã khóa công khai Độ phức tạp Độ phức tạp tính toán (thời gian) ▪ •Vấn đề “dễ”: lớp P •Vấn đề “khó”: lớp NP ▪ Giải quyết các vấn đề P •Số trường hợp phải xét đến là một hàm đa thức ▪ Giải quyết các vấn đề NP •Số trường hợp phải xét đến là hàm lũy thừa “Các hệ mật mã khóa công khai dựa trên độ khó/phức tạp của giải thuật bẻ khóa” 8
- 2. Lý thuyết nền tản Hệ mật mã khóa công khai Số học đồng dư• a mod n ▪ a mod n • a op b mod n • Số dư của a chia n • op = +, -, *, /, ^ ▪ a + b mod n • Số dư của a + b chia n ▪ Ví dụ: • 40 mod 6 = 4 ▪ a - b mod n • 5 + 2 mod 6 = 1 • Số dư của a - b chia n • 9 – 4 mod 3 = 2 ▪ a * b mod n • 5 * 3 mod 6 = 3 • Số dư của a * b chia n • 4/2 mod 3 = 2 ▪ a ^ b mod n • 2^4 mod 6 = 4 • Thủ tục bình phương ▪ a / b mod n 9 • Giải thuật Euclide mở rộng
- 2. Lý thuyết nền tản Hệ mật mã khóa công khai Thủ tục bình phương vào tính chất ▪ Dựa • a*b mod n = ((a mod n)*(b mod n)) mod n ▪ Tính a^25 • a^25 = a^(11001) • a^(11001) = a^(10000+1000+1) • a^(10000+1000+1) = a^10000 * a^1000 * a^1 • a^10000 * a^1000 * a^1 = a^16 * a^8 * a^1 ▪ Độ phức tạp (O(logb*(logs)^2)) ▪ Hiệu quả hơn phương pháp tính lũy thừa bằng phép nhân đồng dư (O(b*(logs)^2)) 10
- 2. Lý thuyết nền tản Hệ mật mã khóa công khai Thủ tục bình phương ▪ ModExp1(a,b, s) ▪ Vào: • 3 số nguyên dương a,b,s sao cho a < s • bn-1 ···b1b0 là biểu diễn nhị phân của b, n = [logb] ▪ Ra: a^b mod s 11
- 2. Lý thuyết nền tản Hệ mật mã khóa công khai Ví dụ: ▪ Tính 6^73 mod 100 • 73 = 2^0 + 2^3 + 2^6 • 6^73 = 6 * 6^(2^3)*6^(2^6) • 6 = 6 mod 100 • 6^(2^3) = 16 mod 100 • 6^(2^6) = -4 mod 100 • 6^73 = 6 * (16) * (-4) = 16 mod 100 12
- 3.Các giải thuật mã hóa khóa bất đối xứng ❖Các giải thuật mã hóa khóa bất đối xứng (asymmetric key encryption) ▪ Còn gọi là mã hóa khóa công khai (public key encryption): ▪ Sử dụng một cặp khóa (key pair): • một khóa (public key) cho mã hóa • một khóa (private key) cho giải mã. 13
- 3. Các giải thuật mã hóa khóa bất đối xứng ❖Đặc điểm: ▪ Kích thước khóa lớn (1024 – 3072 bít) ▪ Tốc độ chậm • Phần lớn do khóa có kích thước lớn. ▪ Độ an toàn cao ▪ Thuận lợi trong quản lý và phân phối khóa: • Do khóa mã hóa là công khai và có thể trao đổi dễ dàng. ❖ Các giải thuật mã hóa khóa bất đối xứng điển hình: ▪ RSA ▪ Rabin ▪ ElGamal ▪ McEliece ▪ Knapsack 14
- 4. Giải thuật mã hóa khóa bất đối xứng RSA ❖ Trong mật mã học, RSA là một thuật toán mật mã hóa khóa công khai. Đây là thuật toán đầu tiên phù hợp với việc tạo ra chữ ký điện tử đồng thời với việc mã hóa. Nó đánh dấu một sự tiến bộ vượt bậc của lĩnh vực mật mã học trong việc sử dụng khóa công cộng. ❖ RSA đang được sử dụng phổ biến trong thương mại điện tử và được cho là đảm bảo an toàn với điều kiện độ dài khóa đủ lớn. ❖ 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). Được 3 nhà khoa học Ronald Rivest, Adi Shamir và Leonard Adleman phát minh năm 1977; ▪ Tên giải thuật RSA lấy theo chữ cái đầu của tên 3 ông. ❖ Độ an toàn của RSA dựa trên tính khó của việc phân tích số nguyên rất lớn: 15 ❖ Khóa RSA là số nguyên rất lớn có hàng trăm chữ số thập phân
- 4. Giải thuật mã hóa khóa bất đối xứng RSA Mô tả sơ lược: 🡪 Thuật toán RSA có hai khóa: khóa công khai (hay khóa công cộng) và khóa bí mật (hay khóa cá nhân). 🡪 Mỗi khóa là những số cố định sử dụng trong quá trình mã hóa và giải mã. 🡪 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. 🡪 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. 16
- 4. Giải thuật mã hóa khóa bất đối xứng RSA Mô tả sơ lược: 🡪 Ta có thể mô phỏng trực quan một hệ mật mã khoá công khai như sau: 🡪 Bình muốn gửi cho An một thông tin mật mà Bình muốn duy nhất An có thể đọc được. 🡪 Để làm được điều này, An gửi cho Bình một chiếc hộp có khóa đã mở sẵn và giữ lại chìa khóa. 🡪 Bình nhận chiếc hộp, cho vào đó một tờ giấy viết thư bình thường và khóa lại (như loại khoá thông thường chỉ cần sập chốt lại, sau khi sập chốt khóa ngay cả Bình cũng không thể mở lại được-không đọc lại hay sửa thông tin trong thư được nữa). Sau đó Bình gửi chiếc hộp lại cho An. 🡪 An mở hộp với chìa khóa của mình và đọc thông tin trong thư. 🡪 Trong ví dụ này, chiếc hộp với khóa mở đóng vai trò khóa công khai, chiếc 17 chìa khóa chính là khóa bí mật.
- 4. Giải thuật mã hóa khóa bất đối xứng RSA ▪ Thuật toán mã hóa RSA thỏa mãn 5 yêu cầu của một hệ mã hiện đại: ▪ Độ bảo mật cao (nghĩa là để giải mã được mà không biết khóa mật thì phải tốn hang triệu năm); ▪ Thao tác nhanh (thao tác mã hóa và giải mã tốn ít thời gian). ▪ Dùng chung được. ▪ Có ứng dụng rộng rãi ▪ Có thể dùng để xác định chủ nhân (dung làm chữ ký điện tử) 18
- 4. Giải thuật mã hóa khóa bất đối xứng RSA ❖ RSA sử dụng một cặp khóa: ▪ Khóa công khai (Public key) dùng để mã hóa; ▪ Khóa riêng (Private key) dùng để giải mã. ▪ Chỉ khóa riêng cần giữ bí mật. Khóa công khai có thể công bố rộng rãi. 19
- 4. Giải thuật mã hóa khóa bất đối xứng RSA ❖ Kích thước khóa của RSA: ▪ Khóa < 1024 bít không an toàn hiện nay. ▪ Khuyến nghị dùng khóa >= 2048 bít với các ứng dụng mật mã dân sự hiện nay. ▪ Tương lai nên dùng khóa >=3072 bít. ❖Thủ tục sinh khóa RSA: ▪ Tạo 2 số nguyên tố p và q; ▪ Tính n = p x q ▪ Tính Φ(n) = (p-1) x (q-1) ▪ Chọn số nguyên tố e sao cho 0 < e < Φ(n) và gcd(e, Φ(n)) = 1, hay e, Φ(n) là 2 số nguyên tố cùng nhau ▪ Chọn số d sao cho d ≡ e-1 mod Φ(n), hoặc (d x e) mod Φ(n) = 1 (d là molulo nghịch đảo của e) ❖Ta có (n, e) là khóa công khai, (n, d) là khóa riêng 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng An toàn cơ sở dữ liệu: Chương 1 - Trần Thị Lượng
136 p | 293 | 52
-
Bài giảng An toàn cơ sở dữ liệu: Chương 3 - Trần Thị Lượng
114 p | 211 | 46
-
Bài giảng An toàn cơ sở dữ liệu: Chương 5 - Trần Thị Lượng
57 p | 188 | 41
-
Bài giảng An toàn cơ sở dữ liệu: Các tấn công vào cơ sở dữ liệu - Trần Thị Lượng
20 p | 140 | 19
-
Bài giảng Chương IV: An tòan dữ liệu và khôi phục sự cố
80 p | 116 | 15
-
Bài giảng An toàn và toàn vẹn dữ liệu - Vũ Tuyết Trinh
17 p | 93 | 9
-
Bài giảng Cơ sở dữ liệu: Chương 7 - Hoàng Thị Hà
21 p | 37 | 5
-
Bài giảng An toàn và bảo mật dữ liệu trong hệ thống thông tin: Chương 1 - ThS. Trương Tấn Khoa
64 p | 46 | 4
-
Bài giảng An toàn dữ liệu và mật mã: Chương 8 - Trường ĐH Nguyễn Tất Thành
35 p | 13 | 4
-
Bài giảng An toàn dữ liệu và mật mã: Chương 7 - Trường ĐH Nguyễn Tất Thành
32 p | 13 | 4
-
Bài giảng An toàn dữ liệu và mật mã: Chương 6 - Trường ĐH Nguyễn Tất Thành
44 p | 10 | 4
-
Bài giảng An toàn dữ liệu và mật mã: Chương 4 - Trường ĐH Nguyễn Tất Thành
32 p | 13 | 4
-
Bài giảng An toàn dữ liệu và mật mã: Chương 3 - Trường ĐH Nguyễn Tất Thành
35 p | 11 | 4
-
Bài giảng An toàn dữ liệu và mật mã: Chương 2 - Trường ĐH Nguyễn Tất Thành
47 p | 13 | 4
-
Bài giảng An toàn dữ liệu và mật mã: Chương 1 - Trường ĐH Nguyễn Tất Thành
48 p | 12 | 4
-
Bài giảng Cơ sở dữ liệu: Chương 6 - Nguyễn Hồng Phương
4 p | 36 | 4
-
Bài giảng An toàn và bảo mật hệ thống thông tin: Chương 5
115 p | 10 | 3
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn