Theo các định nghĩa tiêu chuẩn về mã hóa khóa công khai bảo mật CPA, có các đảm bảo bảo mật giống hệt nhau cho giao thức A -> B : {T},{P}
và A -> B : {T,P}
. Bảo mật, và không có gì khác.
Bằng chứng: từ bất kỳ mã hóa khóa công khai bảo mật CPA nào, chúng tôi xây dựng một mã hóa khác như sau:
- Chúng tôi xác định mã hóa mới của tin nhắn một bit¹ $m$ là mã hóa ban đầu của một bit ngẫu nhiên $b$, nối với $c:=m\oplus b$. giải mã giải mã $b$, sau đó tìm thấy $m=c\oplus b$.
- Chúng tôi xác định rằng mã hóa mới của một tin nhắn nhiều bit là sự kết hợp của mã hóa mới của từng bit tin nhắn. Giải mã giải mã các bit riêng lẻ và xây dựng lại thông điệp ban đầu.
Thật dễ dàng để chứng minh rằng sơ đồ mã hóa mới giải mã chính xác và an toàn với CPA. Đối với chương trình mã hóa này và bất kỳ tin nhắn nào t
và P
nó giữ {T,P}
= {T},{P}
do đó, hai phương thức trong câu hỏi không thể phân biệt được, do đó an toàn như nhau.
Trong cả hai trường hợp, dữ liệu không được xác thực. Kẻ thù có thể mã hóa bất kỳ tin nhắn nào và thay thế kết quả cho bản gốc. Và nên giả định rằng họ có thể thao tác một mật mã để thay đổi bất kỳ phần nào của bản rõ sau khi giải mã, bao gồm chèn, sắp xếp lại, sao chép, lật một chút, thêm một hằng số.
Lưu ý: có các chương trình mã hóa làm cho A -> B : {T},{P}
dễ bị tấn công mà không thành công A -> B : {T,P}
(như thay đổi cái gì b
được cho {T'},{P}
với T'
một thời gian gần, cho phép tìm {P}
trước cuộc họp theo kế hoạch bằng cách làm theo b
cố gắng đến chỗ hẹn quá sớm).Quan điểm của tôi là tuyên bố vấn đề không cho phép kết luận rằng hệ thống mã hóa được sử dụng là một trong những hệ thống mật mã không thể uốn nắn này.
¹ đổi bit thành byte nếu hệ thống mật mã chỉ cho phép các thông báo có kích thước bội số của 8 bit.