Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,43 MB
Nội dung
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 Chương V Các giải thuật mã hóa KHĨA BẤT ĐỐI XỨNG Tổng quan Lý thuyết 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 Tổng quan ▪ Hệ mật mã khóa đối xứng khơng đáp ứng mục tiêu an tồn • Xác thực - Alice Bob trao đổi thơng tin bí mật - Alice cần phải biết thông tin chắn đến từ Bob, ngược lại • Chống phủ nhận - Alice Bob trao đổi thơng tin bí mật - Nếu Alice gửi thơng tin cho Bob Alice khơng thể chối bỏ thơng tin ▪ Quản lý khóa đối xứng vấn đề nan giải • Trong hệ khóa đối xứng, 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 số lượng người dùng tăng Tổng quan Khái niệm ▪ Mỗi người dùng có khóa riêng khóa cơng khai • Khóa riêng bí mật • Khóa cơng khai chia sẻ ▪ Quản lý khóa • N người dùng cần N khóa cơng khai xác thực • Hạ tầng khóa cơng khai PKI Tổng quan Khái niệm ▪ 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) Tổng quan Khái niệm ▪ Mã hóa dùng khóa riêng K • C = E(K,M) ▪ Giải mã dùng khóa cơng khai k • M = D(k,C) Tổng quan Khóa bí mật & khóa cơng khai Lý thuyết tản Hệ mật mã khóa cơng khai Độ phức tạp▪ Độ phức tạp tính tốn (thời gian) •Vấn đề “dễ”: lớp P •Vấn đề “khó”: lớp NP ▪ Giải vấn đề P •Số trường hợp phải xét đến hàm đa thức ▪ Giải vấn đề NP •Số trường hợp phải xét đến hàm lũy thừa “Các hệ mật mã khóa cơng khai dựa độ khó/phức tạp giải thuật bẻ khóa” Lý thuyết tản Hệ mật mã khóa cơng khai Số học đồng dư• a mod n • a op b mod n • op = +, -, *, /, ^ ▪ Ví dụ: • 40 mod = • + mod = • – mod = • * mod = • 4/2 mod = • 2^4 mod = ▪ a mod n • Số dư a chia n ▪ a + b mod n • Số dư a + b chia n ▪ a - b mod n • Số dư a - b chia n ▪ a * b mod n • Số dư a * b chia n ▪ a ^ b mod n • Thủ tục bình phương ▪ a / b mod n • Giải thuật Euclide mở rộng Lý thuyết tản Hệ mật mã khóa cơng khai Thủ tục bình phương ▪ Dựa vào tính chất • 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 phương pháp tính lũy thừa phép nhân đồng dư (O(b*(logs)^2)) 10 Giải thuật mã hóa khóa bất đối xứng RSA ❖ Trong mật mã học, RSA thuật tốn mật mã hóa khóa cơng khai Đây thuật toán phù hợp với việc tạo chữ ký điện tử đồng thời với việc mã hóa Nó đánh dấu tiến vượt bậc lĩnh vực mật mã học việc sử dụng khóa cơng cộng ❖ RSA sử dụng phổ biến thương mại điện tử cho đảm bảo an tồn với điều kiện độ dài khóa đủ lớn ❖ Thuật toán Ron Rivest, Adi Shamir Len Adleman mô tả lần vào năm 1977 Học viện Công nghệ Massachusetts (MIT) Được nhà khoa học Ronald Rivest, Adi Shamir Leonard Adleman phát minh năm 1977; ▪ Tên giải thuật RSA lấy theo chữ đầu tên ông ❖ Độ an tồn RSA dựa tính khó việc phân tích số ngun lớn: ❖ Khóa RSA số nguyên lớn có hàng trăm chữ số thập phân 15 Giải thuật mã hóa khóa bất đối xứng RSA Mơ tả sơ lược: 🡪 Thuật tốn RSA có hai khóa: khóa cơng khai (hay khóa cơng cộng) khóa bí mật (hay khóa cá nhân) 🡪 Mỗi khóa số cố định sử dụng trình mã hóa giải mã 🡪 Khóa cơng khai công bố rộng rãi cho người dùng để mã hóa 🡪 Những thơng tin mã hóa khóa cơng khai giải mã khóa bí mật tương ứng 🡪 Nói cách khác, người mã hóa có người biết khóa cá nhân (bí mật) giải mã 16 Giải thuật mã hóa khóa bất đối xứng RSA Mơ tả sơ lược: 🡪 Ta mơ trực quan hệ mật mã khố cơng khai sau: 🡪 Bình muốn gửi cho An thơng tin mật mà Bình muốn An đọc 🡪 Để làm điều này, An gửi cho Bình hộp có khóa mở sẵn giữ lại chìa khóa 🡪 Bình nhận hộp, cho vào tờ giấy viết thư bình thường khóa lại (như loại khố thông thường cần sập chốt lại, sau sập chốt khóa Bình khơng thể mở lại được-không đọc lại hay sửa thông tin thư nữa) Sau Bình gửi hộp lại cho An 🡪 An mở hộp với chìa khóa đọc thơng tin thư 🡪 Trong ví dụ này, hộp với khóa mở đóng vai trị khóa cơng khai, chìa khóa khóa bí mật 17 Giải thuật mã hóa khóa bất đối xứng RSA ▪ Thuật tốn mã hóa RSA thỏa mãn u cầu hệ mã đại: ▪ Độ bảo mật cao (nghĩa để giải mã mà khóa mật phải tốn hang triệu năm); ▪ Thao tác nhanh (thao tác mã hóa giải mã tốn thời gian) ▪ Dùng chung ▪ 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 Giải thuật mã hóa khóa bất đối xứng RSA ❖ RSA sử dụng 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ơng bố rộng rãi 19 Giải thuật mã hóa khóa bất đối xứng RSA ❖ Kích thước khóa RSA: ▪ Khóa < 1024 bít khơng an tồn ▪ Khuyến nghị dùng khóa >= 2048 bít với ứng dụng mật mã dân ▪ Tương lai nên dùng khóa >=3072 bít ❖Thủ tục sinh khóa RSA: ▪ Tạo số nguyên tố p q; ▪ Tính n = p x q ▪ Tính Φ(n) = (p-1) x (q-1) ▪ Chọn số nguyên tố e cho < e < Φ(n) gcd(e, Φ(n)) = 1, hay e, Φ(n) số nguyên tố ▪ Chọn số d cho d ≡ e-1 mod Φ(n), (d x e) mod Φ(n) = (d molulo nghịch đảo e) ❖Ta có (n, e) khóa cơng khai, (n, d) khóa riêng 20 Giải thuật mã hóa khóa bất đối xứng RSA ❖Thủ tục mã hóa RSA: ▪ Thơng điệp m chuyển thành số, m