Làm cách nào tôi có thể giải quyết vấn đề này: Tôi có biểu đồ có hướng gồm các nút có thể độc hại và tất cả chúng đều có giá trị riêng.
- Xem xét nút "B" có giá trị riêng "BPrivateValue = b"
- Tổ tiên của B được gọi là "A" và giá trị riêng của A là "APrivateValue = a".
- Hậu duệ của B được gọi là "C" và giá trị riêng của C là "CPrivateValue = c".
Tôi muốn mọi nút trong biểu đồ này có thể thực hiện các thao tác sau (ở đây chúng tôi chỉ xem xét nút B để đơn giản):
- B thực hiện một số tương tác với A và tìm hiểu xem APrivateValue > BPrivateValue hay APrivateValue < BPrivateValue. Nhưng không gì khác hơn là sự so sánh này làm rò rỉ cho A và B về giá trị riêng tư của bên kia.
- nếu APrivateValue < BPrivateValue B thay đổi giá trị riêng tư của mình thành "a", tức là BPrivateValue = a (Lưu ý rằng trên thực tế, B không biết giá trị của a, anh ta có cam kết hoặc mã hóa "a" nhưng anh ta biết rằng anh ta nên thay đổi giá trị của mình giá trị riêng)
- Bây giờ C làm điều tương tự với B và giao thức này tiếp tục cho đến nút cuối cùng trong đường dẫn này trong biểu đồ. Cuối cùng, một cam kết hoặc mã hóa giá trị riêng tối thiểu trong đường dẫn này là đầu ra.
Bây giờ, bạn nghĩ sơ đồ hoặc công cụ nào có thể giúp tôi triển khai chức năng này. Trước hết, tôi nghĩ về mã hóa bảo vệ quyền riêng tư bất đối xứng. Tất cả các nút mã hóa giá trị riêng của chúng và gửi mã hóa đến nút tiếp theo. Nút tiếp theo thực hiện so sánh và gửi giá trị được mã hóa của giá trị riêng tối thiểu tới nút tiếp theo. Nhưng sau đó, tôi nhận ra rằng mã hóa bảo vệ quyền riêng tư bất đối xứng hoàn toàn không an toàn và bất kỳ ai cũng có thể tính toán bản rõ tương ứng với bản mã bằng một tìm kiếm nhị phân đơn giản. Vậy, bạn đề xuất cái gì?