Giả sử Alice muốn gửi dữ liệu cho Bob dùng mã hóa khóa công khai, trước tiên Alice và Bob sẽ chọn cặp khóa riêng-khóa công khaị Ký hiệu khóa riêng-khóa công khai của Alice là KRA và KUA, của Bob là KRB và KUB,
Như vậy để gửi dữ liệu bảo mật cho Bob, Alice sẽ dùng phương án 1: mã hóa dữ liệu bằng khóa công khai KUB của Bob, và Bob dùng khóa riêng KRB để giải mã.
C = E(M, KUB)
71
Hình 4-1. Mô hình bảo mật với mã hóa khóa công khai
Để đảm bảo tính chứng thực và Alice không thoái thác trách nhiệm gửi dữ liệu, Alice sẽ dùng phương án 2: Alice mã hóa dữ liệu bằng khóa riêng KRA, và Bob dùng khóa công khai KRA của Alice để giải mã.
C = E(M, KRA)
M = D(C, KUA)
Hình 4-2. Mô hình không thoái thác với mã hóa khóa công khai
Cũng với giả định rằng thông điệp có ý nghĩa là một dãy bít có cấu trúc, nếu bản giải mã của Bob là hợp lệ thì rõ ràng là Alice là người gởi vì chỉ có Alice mới có khóa riêng
KRA. Giống như mã hóa đối xứng, nếu Trudy can thiệp chỉnh sửa trên bản mã C thì Bob sẽ giải mã ra bản rõ là một dãy bít vô nghĩạ Còn nếu Trudy có được khóa KRA thì Alice không thể thoái thác trách nhiệm làm lộ khóạ
Tuy nhiên mô hình như trên lại không đảm bảo tính bảo mật. Vì không chỉ riêng Bob, Trudy cũng biết được khóa công khai KUA của Alicẹ Do đó Trudy có thể giải mã bản mã C và biết được nội dung bản rõ M.
Để giải quyết vấn đề trên, người ta kết hợp tính bảo mật, chứng thực và không thoái thác qua mô hình sau:
C = E(E(M, KRA), KUB)