Mô hình mã hóa công khai Mã hóa công khai RSA Bảo mật, chứng thực, không thể từ chối trong RSA Phương pháp trao đổi khóa Nội dung... Mã hóa đối xứng dù phát triển từ cổ điển đến
Trang 1Chương 4
Mã hóa công khai
RSA
Trang 2 Mô hình mã hóa công khai
Mã hóa công khai RSA
Bảo mật, chứng thực, không thể từ chối trong RSA
Phương pháp trao đổi khóa
Nội dung
Trang 3 Mã hóa đối xứng dù phát triển từ cổ điển đến hiện đại, vẫn tồn tại 2 điểm yếu sau:
Vấn đề trao đổi khóa giữa người gởi và người nhận: cần có một kênh an toàn để trao đổi khóa bí mật.
Tính bí mật của khóa: không có cơ sở để quy trách nhiệm nếu khóa bị tiết lộ.
Năm 1976 Whitfield Diffie và Martin Hellman đưa ra giải pháp giải quyết vấn đề trên: mã hóa công khai
Đặt vấn đề
Trang 4 Khóa mỗi người dùng được chia ra làm hai phần:
Khoa chung: để mã hóa công khai với mọi người
Khóa bí mật: để giải mã thì được giữ bí mật chỉ được biết bởi chủ nhân của nó.
Nếu khóa bí mật ở người nhận thì bộ sinh khóa nằm ở người nhận
Ý tưởng
Trang 6 Các giai đoạn mã hóa công khai
Trang 7Định nghĩa hệ mã công khai
Trang 8 Là PP mã hóa công khai được xây dựng bởi Ron Rivest, Adi Shamir và Len Adleman tại viện MIT năm 1977.
Là PP mã hóa theo khối, bản rõ M và bản
mã C là các số nguyên từ 0 đến 2i với I là số bit của khối (i thường là 1024)
Sử dụng hàm một chiều: phân tích một
số thành thừa số nguyên tố
PP mã hóa RSA
Trang 9Nguyên tắc thực hiện RSA
Trang 10Ví dụ RSA
Trang 11Ví dụ mã RSA (tt)
Trang 12 Phép mã hóa/giải mã: dùng phép lũy thừa modular Để an toàn, chọn N, e, M lớn.
Dùng phép “bình phương liên tiếp” tránh
việc tính lũy thừa lớn, nâng cao tốc độ tính toán
Phép tính sinh khóa: chọn p và q đủ lớn để việc thử là không khả thi
Độ phức tạp tính toán trong RSA
Trang 13Ví dụ sinh khóa trong RSA
Trang 141 Vét cạn khóa: thử tất cả các khóa d có thể để
tìm bản rõ có nghĩa, N lớnbất khả thi.
2 Phân tích N thành thừa số nguyên tố p.q : việc
phân tích này là bất khả thi vì đây là hàm một chiều, là nguyên tắc hoạt động của RSA.
3 Đo thời gian: đây là PP phá mã không dựa vào
toán học mà dựa vào “hiệu ứng lề” sinh ra bởi quá trình giải mã RSA
Độ an toàn của RSA
Trang 15 Giả sử Alice và Bob dùng mã hóa công khai
để gởi dữ liệu cho nhau, khóa (KRA , KUA), (KRB,
Trang 16 Để đảm bảo tính chứng thực, Alice
không từ chối tránh nhiệm gởi dữ liệu, Alice dùng khóa riêng để mã hóa
C=E(M, KRA) M=D(C, KUA)
Trang 17 Nếu bản giải mã có nghĩa, tức Alice là người gởi dữ liệu Nếu Trudy can thiệp chỉnh sửa thì bản giải mã không có
nghĩa, nếu Trudy có khóa KRA thì Alice không thể thoái tránh nhiệm làm lộ
khóa.
Tuy nhiên mô hình CT không bảo mật
Để giải quyết, người ta đưa ra mô hình:
Trang 18 Khi hai người dùng muốn truyền dữ liệu cho nhau bằng mã hóa công khai, trước tiên họ phải trao đổi khóa với nhau.
Khóa có thể truyền công khai trên đường
Trang 19Trao đổi khóa công khai dùng CA
Trang 20 Do đặc điểm toán học của mã hóa công
khai chậm hơn so với mã hóa đối xứng nên trong thực tế, để đảm bảo bí mật, người ta dùng mã hóa đối xứng, mã hóa công khai được dùng để thiết lập khóa bí mật cho mỗi phiên trao đổi dữ liệu
Dùng khóa công khai trao đổi
khóa bí mật
Trang 21 A trao đổi khóa phiên Ks mã hóa bằng khóa riêng, sau đó mã hóa bằng khóa công khai của B
Kết thức phiên trao đỗi DL, Ks được hủy để đảm bảo tính bí mật.
Dùng khóa công khai trao đổi
khóa bí mật (tt)
Trang 22 Dùng để thiết lập khóa bí mật giữa người gởi và người nhận mà không cần đến giải pháp mã hóa công khai hay chuyển chìa trên kênh truyền an toàn.
Phương pháp trao đổi khóa
Diffie – Hellman
Trang 23Giải pháp của
Diffie-Hellman
Trang 24 thuật toán Diffie-Hellman lại thất bại đối với cách tấn công kẻ-đứng-giữa.
được mã hóa bằng một khóa công khai.
xứng bất kỳ, cần gì chọn khóa Diffie-Hellman???
Nhận xét
Trang 25Bảo vệ khóa Diffie-Hellman bằng khóa công khai