Chương 4 giới thiệu với người học về mã hóa công khai RSA. Nội dung chính trong chương này gồm: 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. Mời các tham khảo.
Chương 4 Mã hóa cơng khai RSA Nội dung 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 Đặt vấn đề 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 tồ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ưởng Khóa người dùng chia làm hai phần: ◦ Khoa chung: để mã hóa cơng khai với người ◦ Khóa bí mật: để giải mã giữ bí mật biết chủ nhân Nếu khóa bí mật người nhận sinh khóa nằm người nhận Các giai đoạn mã hóa cơng khai Định nghĩa hệ mã cơng khai PP mã hóa RSA 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ố ngun 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ố ngun tố Ngun tắc thực hiện RSA Ví dụ RSA Độ phức tạp tính tốn trong RSA Phép mã hóa/giải mã: dùng phép lũy thừa modular. Để an tồ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 tốn Phép tính sinh khóa: chọn p và q đủ lớn để việc thử là khơng khả thi Ví dụ sinh khóa trong RSA Độ an tồn của RSA 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 Phân tích N thành thừa số ngun 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à ngun tắc hoạt động của RSA Đo thời gian: đây là PP phá mã khơng dựa vào tốn học mà dựa vào “hiệu ứng lề” sinh ra bởi q trình giải mã RSA Tính bảo mật, chứng thực, khơng từ chối trong mã hóa Giả sử Alice và Bob dùng mã hóa cơng khai để gởi cơng khai dữ liệu cho nhau, khóa (KRA , KUA), (KRB, KUB) Gởi dữ liệu cho Bob: C=E(M, KUB) Bob giải mã: M= D(C, KRB) Để đả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) 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ể thố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: Trao đổi khóa cơng khai 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 truyền thường Vấn đề: tính chứng thực của khóa KU mơ hình chứng chỉ khóa cơng khai –CA (certificate Authority ) Trao đổi khóa cơng khai dùng CA Dùng khóa cơng khai trao đổi khóa bí mật Do đặc điểm tố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 (tt) 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 Phương pháp trao đổi khóa Diffie – Hellman 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 tồn Giải pháp của DiffieHellman Alice Bob 1. Chọn số ngto p và số g nhỏ hơn p và là primitive root của p. hai số p và g khơng cần giữ bí mật 2. Chọn và giữ bí mật số a Chọn và giữ bí mật số b 3. Tính A= ga mod p Tính B = gb mod p 4. Alice và Bob trao đổi A và B với nhau 5. Tính (gb)a mod p = gab mod p Tính (ga)b mod p = gab mod p Giá trị này được dùng làm khóa cho mã hóa đối xứng Nhận xét thuật tốn DiffieHellman lại thất bại đối với cách tấn cơng kẻđứnggiữa Để an tồn, q trình thiết lập khóa DiffieHellman vẫn phải được mã hóa bằng một khóa cơng khai Nếu đã được bảo vệ bằng khóa cơng khai, thì Bảo vệ khóa DiffieHellman bằng khóa cơng khai ... giải mã giữ bí mật biết chủ nhân Nếu khóa bí mật người nhận sinh khóa nằm người nhận Các giai đoạn mã hóa cơng khai Định nghĩa hệ mã cơng khai PP mã hóa RSA Là PP mã hóa cơng khai được xây dựng bởi Ron ... Trao đổi khóa cơng khai dùng CA Dùng khóa cơng khai trao đổi khóa bí mật Do đặc điểm tố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 (tt) 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