– Yêu cầu kênh bí mật để truyền khóa– Độ an toàn của hệ phụ thuộc vào độ an toàn của Khóa – Tốc độ mã hóa nhanh... Hệ mật mã khóa công khai• Bob chọn một cặp khoá K, K’ trong đó K’ được
Trang 1An toàn dữ liệu
Trương Thị Thu Hiền
Bộ môn Các hệ thống thông tin – trường Đại học Công nghệ - ĐHQGHN
Trang 2Bài giảng Tuần 2
• Hệ mật mã khóa công khai
• Hệ RSA
• Chữ ký điện tử
• Chữ ký RSA
Trang 3Hệ mật mã khóa bí mật
• Người gửi và người nhận chọn một cách bí mật khoá K, sau đó dùng K
mã hoá y = e K (x) và giải mã x = d K (y) trong đó dK hoặc giống eK hoặc
dễ dàng tính được từ eK.Việc để lộ K và eK sẽ làm hệ mã hóa mất tính
Trang 4– Yêu cầu kênh bí mật để truyền khóa
– Độ an toàn của hệ phụ thuộc vào độ an toàn của Khóa – Tốc độ mã hóa nhanh
Trang 5Hệ mật mã khóa công khai
• Bob chọn một cặp khoá (K, K’) trong đó K’ được giữ bí mật còn K công khai Alice dùng K mã hoá y = e K (x) Bob dùng K’ giải mã x =
d K’ (y) Bất kỳ ai cũng có thể gửi thông tin mã hóa cho Bob bằng cách
dùng khóa K của Bob Chỉ mình Bob biết K’ nên mình Bob có thể đọc các thông tin người khác gửi cho mình.
Trang 6Hệ công khai – đặc điểm
• EK(P)=C
• DK’(C)=P
• DK’(EK(P))=P (K# K’)
• Dùng 2 khóa khác nhau cho mã hóa và giải mã
• Bob có thể giao tiếp với nhiều người
• Khóa bí mật chỉ một người biết, khóa công khai thì tất cả mọi người biết => không cần kênh bí mật để truyền khóa
• Khóa công khai có thể tính dễ dàng nếu biết khóa bí mật (bài toán lớp P)
• Biết khóa công khai và biết thuật toán mã hóa vẫn khó có thể tính được khóa bí mật (bài toán NP)
Trang 7• RSA là hệ mật mã khóa công khai đặt theo tên của
3 nhà khoa học Ron Rivest, Adi Shamir và L Adleman và được đưa ra năm 1976
• Hệ mật mã khóa công khai là bước đột phá trong ngành mật mã học Nó được dùng để mã hóa thông điệp, trao đổi khóa, tạo chữ ký điện tử
• Hệ RSA được xây dựng trên trường hữu hạn các
số nguyên
• Độ an toàn phụ thuộc vào độ khó của bài toán phân tích một số thành các thừa số nguyên tố
Trang 9• Giai đoạn sinh khóa
– Chọn ngẫu nhiên các số nguyên tố lớn (khoảng 100 chữ số) p và q.
Trang 12• Độ an toàn của hệ RSA phụ thuộc vào độ khó của việc phân tích một số lớn thành tích của 2 thừa số nguyên tố
• Để giải mã cần biết d và n Có thể tính được d từ e và n?
– Phân tích n thành p * q Khi đó dễ dàng tính được d Tuy nhiên, với kỹ thuật hiện đại ngày nay cần hàng triệu năm để phân tích một số có 200 chữ số ra thừa số nguyên tố
– Tính n và ϕ(n) Khi đó dễ dàng tính được q nhờ giải hệ phương trình: n=pq và ϕ(n)=(p-1)(q-1)
Trang 14• Ứng dụng:
– Được sử dụng hầu hết trong các công cụ mã hóa hỗ trợ bảo mật: thương mại điện tử (SSL), Email, Chứng thực điện tử, …
– Tuy tốc độ mã hóa chậm nhưng đến nay, RSA vẫn là hệ mật thống trị hoàn toàn và được dùng trong hầu hết các ứng dụng liên quan đến bảo mật bởi tính đơn giản và an toàn
Trang 15Chữ ký điện tử
• Sơ đồ chữ ký gồm 2 phần: ký và kiểm tra chữ ký
• Việc ký được thực hiện trên từng bit của văn bản Cùng một người ký thì chữ ký trên các văn bản khác nhau là khác nhau
• Một sơ đồ ký gồm (P,K,A,S,V) trong đó:
– P là không gian bản rõ
– K: không gian khóa
– A: tập các chữ ký có thể
– S: thuật toán ký
– V: thuật toán kiểm tra chữ ký
• Với thông điệp x, chữ ký là y Ver y = true nếu y = sig(x), false nếu y # sig(x)
Trang 19• Sử dụng hàm băm để tạo đại diện văn bản.
Trang 21– Được thiết kế bởi NIST và NSA
– Tạo đại diện có độ dài 160 bit
Trang 22Quy trình Ký
KÝ
KIỂM TRA CHỮ KÝ
Trang 23Câu hỏi?
☺ ☺ ☺