Điều này là có thể với mã hóa dựa trên thuộc tính.
Theo mô tả trong liên kết, xác định một vũ trụ các thuộc tính $\{A, B, D\}$, yêu cầu Alice lấy khóa có thuộc tính $A$, Bob một khóa có thuộc tính $B$, và David một khóa với các thuộc tính $\{A, D\}$.
Để mã hóa cho Alice, Bob hoặc David, hãy mã hóa một tin nhắn đối với $A$, $B$, hoặc $D$.
Sau đó:
- Đối với các tin nhắn được mã hóa cho Bob hoặc David, họ là những người duy nhất có khóa với các thuộc tính tương ứng, vì vậy họ là những người duy nhất có thể giải mã, nhưng
- David và Alice có khóa với Thuộc tính $A$, do đó họ cả hai có thể giải mã bất kỳ tin nhắn đến Alice.
Điều này gây ra một sự cố nhẹ --- Alice có thể gửi tin nhắn cho Bob mà David không thể giải mã.
Người ta có thể khắc phục điều này bằng cách sửa đổi mã hóa một chút, cụ thể là Alice (hoặc bất kỳ người nào khác trong tổ chức của David) nên mã hóa thư theo chính sách $C\lor D$, ở đâu $C$ là người nhận dự kiến, và $D$ là thuộc tính tương ứng với David.
Trong trường hợp cụ thể này, Alice mã hóa cho Bob với thuộc tính $B\lor D$.
Lưu ý rằng điều này không yêu cầu Bob hợp tác với David --- hệ thống được thiết lập sao cho bất kỳ ai giao tiếp "trong băng tần" với Alice (mã hóa bằng thuộc tính $A$) gửi tin nhắn mà David cũng có thể giải mã.
Có hai cảnh báo mặc dù:
Alice phải hợp tác (nếu cô ấy mã hóa theo chính sách $B$, David không thể giải mã).
Điều này có lẽ dễ thực hiện hơn đối với David, với những lời đe dọa sẽ sa thải Alice nếu cô ấy cư xử không đúng mực.
ABE, với tư cách là một hình thức mạnh hơn của IBE, phải chịu sự chỉ trích của Rogaway đối với IBE (trong Đặc tính đạo đức của công việc mật mã). Cụ thể, một bên thứ ba đáng tin cậy phải tạo tất cả các khóa.
Đặc biệt, điều này có nghĩa là Bob không thể tạo khóa của mình một cách độc lập với David, và do đó phải tin tưởng David rằng khóa của anh ấy được tạo ra một cách trung thực (hoặc cả Bob và David phải tin tưởng một bên thứ ba độc lập nào đó). Có thể người ta có thể thay thế bên thứ ba độc lập này bằng tính toán MPC, nhưng tôi không biết chi tiết.