Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 36 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
36
Dung lượng
1,03 MB
Nội dung
1 BẢO MẬT THÔNG TIN BÀI 4: MÃ HÓA CÔNG KHAI Nguyễn Hữu Thể Nội dung Lý thuyết số học Mã hóa công khai Mã hóa RSA Demo giải thuật RSA 2 Lý thuyết số học Phép chia modulo Ước số Số nguyên tố Số nguyên tố cùng nhau Phần tử nghịch đảo của phép chia modulo Ước chung lớn nhất 3 Phép chia modulo 4 Ước số, số nguyên tố, số nguyên tố cùng nhau 5 Phần tử nghịch đảo của phép chia modulo 6 Ước chung lớn nhất - Thuật toán Euclid 7 Mã hóa khóa công khai Mã hóa khóa công khai (public key cryptography) Còn gọi là mã hóa bất đối xứng (asymetric cryptography). Whitfield Diffie và Martin Hellman đã đề xuất 1976 Bước đột phá quan trọng trong lĩnh vực mã hóa. 8 Mã hóa khóa công khai Sử dụng hai loại khóa trong cùng một cặp khóa: Khóa công khai (public key) được công bố rộng rãi => dùng mã hóa thông tin. Khóa riêng (private key) => dùng giải mã thông tin đã được mã hóa bằng khóa công khai. 9 Mã hóa khóa công khai 10 [...]... như sau: và để giải mã khối C, ta sử dụng công thức: 13 Mô tả giải thuật RSA Cả người gởi và người nhận đều phải biết n Người gởi (có nhiệm vụ mã hóa bản rõ) biết giá trị của e, và chỉ có người nhận mới biết giá trị của d Khóa công khai (public key) KU={e, n} Khóa bí mật (private key) KR = {d, n} 14 Giải thuật RSA 15 Giải thuật RSA Giả sử người dùng A đã công bố khóa công khai của mình và người... sẽ dùng khóa công khai của A (gồm 2 số e và n) để mã hóa thông điệp M theo công thức: Sau đó B gởi bản mã C cho A Khi A nhận được C, A sẽ dùng khóa cá nhân của mình (gồm 2 số d và n) để giải mã: Như thế A sẽ nhận được bản rõ của thông điệp M mà B muốn gởi cho anh ta Vì d được giữ bí mật và chỉ có mình A biết d nên ngoài A ra không ai có thể giải mã được C 16 Giải thuật RSA - Ví dụ 1 Sinh khóa: kích... 1 mod ϕ(n) - Tính được d = 3, vì 3 × 3 mod 8 = 1 5 Nhận được khóa công khai KU = {e, n} = {3, 15} 6 Khóa bí mật KR = {d, n} = {3, 15} Mã hóa: M = 2 Tính: C=M^e mod n = 2^3 mod 15 = 8 Giải mã: M = C^d mod n = 8^3 mod 15 = ((8^2 mod 15)(8 mod 15))mod 15 = (64 mod 15)(8 mod 16) mod 15 = 4 * 8 mod 15 = 2 17 Giải thuật RSA - Ví dụ 2 Sinh khóa: kích thước bit là 4 bit Chọn 24 < p.q =