2. Mục tiêu
• Phân biệt được bảo mật và chứng thực
• Hiểu cách sử dụng khóa công khai
• Sử dụng giải thuật RSA cho bảo mật và chứng thực
11/10/2014 2Hệ thống chứng thực số
3. Nội dung
• Tại sao phải bảo mật?
• Tại sao phải chứng thực?
• Mở đầu về “Bất đối xứng”
• Từ bài toán N = f(p,q) = p*q đến bài toán cho N tìm lại p, q
• Thuật toán RSA
• Ví dụ
11/10/2014 Hệ thống chứng thực số 3
4. Tại sao phải bảo mật?
11/10/2014 Hệ thống chứng thực số 4
16h
Hồ đá
5. Tại sao phải chứng thực?
11/10/2014 Hệ thống chứng thực số 5
16h
Hồ đá
Chia tay
6. Mở đầu về “Bất đối xứng !!!”
• Mã hóa và giải mã dùng chung một khóa?
Thế giới không chỉ có người tốt!!!
• Mã hóa và giải mã dùng hai khóa khác nhau?
• Tồ (người gửi) giữ khóa bí mật? => mô hình chứng thực
• Tũn (người nhận) giữ khóa bí mật? => mô hình bảo mật
11/10/2014 Hệ thống chứng thực số 6
7. Mô hình khóa công khai
• Mô hình bảo mật
• C = E(M, KU)
• M = D(C, KR)
• Mô hình chứng thực
• C = E(M, KR)
• M = D(C, KU)
• KR = f(KU)
• Yêu cầu: bất khả thi để tính KR = f(KU)
11/10/2014 Hệ thống chứng thực số 7
8. Từ bài toán N = f(p,q) = p*q đến bài toán
cho N tìm lại p, q (1/2)
• Bài toán thuận
• p, q là 2 số nguyên tố
• N = p*q
• p = 2, q = 5 => N = 10
• Bài toán nghịch
• N = 21 => (p; q) = {(3; 7), (7; 3)}
• N rất lớn ?
11/10/2014 Hệ thống chứng thực số 8
9. Từ bài toán N = f(p,q) = p*q đến bài toán
cho N tìm lại p, q (2/2)
11/10/2014 Hệ thống chứng thực số 9
RSA Số bit của N Số chữ số của N Tiền thưởng Năm phá mã
RSA-100 330 100 $1,000 1991
RSA-576 576 174 $10,000 2003
RSA-640 640 193 $20,000 2005
RSA-704 704 212 $30,000 2012
RSA-768 768 232 $50,000 2009
RSA-896 896 270 $75,000 ????
RSA-1024 1024 309 $100,000 ????
RSA-1536 1536 463 $150,000 ????
RSA-2048 2048 617 $200,000 ????
10. Thuật toán RSA (1/2)
1. Chọn 2 số nguyên tố p, q và tính N = p*q, thỏa M < N
2. Tính n = (p-1)(q-1)
3. Chọn e thỏa “e và n là nguyên tố cùng nhau”
4. Tìm d thỏa e*d ≡ 1 mod n
5. KU = (e, N); KR = (d, N)
11/10/2014 Hệ thống chứng thực số 10
11. Thuật toán RSA (2/2)
6. Mã hóa
Mô hình bảo mật: C = E(M, KU) = Me mod N
Mô hình chứng thực: C = E(M, KU) = Md mod N
7. Giải mã
Mô hình bảo mật: M = D(C, KR) = Cd mod N
Mô hình chứng thực: M = D(C, KR) = Ce mod N
11/10/2014 Hệ thống chứng thực số 11
12. Ví dụ (thực hiện trên lớp)
• Yêu cầu mã hóa theo giải thuật 6 bit – RSA
• M = 15
11/10/2014 Hệ thống chứng thực số 12