Mô tả ở trang 14 cũng gây nhầm lẫn cho tôi.
Tôi tin rằng điều quan trọng cần lưu ý là bài báo đề xuất sử dụng giao thức "tiết lộ bí mật có điều kiện", trích dẫn [KHÍ01].
Vì vậy, khi phác thảo nói:
Alice tiết lộ $W_a$ cho Bob nếu $O_1 = O_2$, và một giá trị ngẫu nhiên $r_a \in \{0, 1\}^{|W_a|}$ nếu không thì.
..từ "tiết lộ" có lẽ được dùng để chỉ một giao thức tiết lộ có điều kiện, không chỉ đơn giản là gửi $W_a$.
Nếu Alice gửi $W_a$ với Bob, thì bạn đã đúng, Bob có thể tìm hiểu đầu ra mạch của Alice bị rò rỉ nhiều hơn một chút.
Đã có nhiều bài viết dựa trên mô hình thực thi kép cổ điển này.
Dựa trên những bài báo đó, tôi muốn giới thiệu một cách rất đơn giản sau đây để thực hiện giai đoạn cuối cùng của thực thi kép, miễn là bạn đồng ý với một lời tiên tri ngẫu nhiên.
Về ký hiệu, hãy để $[x]_A$ biểu thị mã hóa đầu ra bị cắt xén của $x$, trong mã hóa do Alice chọn.
- Alice đánh giá mạch của Bob để có đầu ra $O_1$ và đầu ra bị cắt xén của nó $[O_1]_B$. Alice biết mã hóa mà cô ấy đã sử dụng cho đầu ra mạch của riêng mình nên cô ấy cũng có thể tính toán $[O_1]_A$
- Bob đánh giá mạch của Alice để lấy đầu ra $O_2$ và mã hóa bị cắt xén của nó $[O_2]_A$. Bob biết mã hóa mà anh ấy đã sử dụng cho đầu ra mạch của riêng mình nên anh ấy cũng có thể tính toán $[O_2]_B$
- Alice tính toán $h_A = H( [O_1]_A, [O_1]_B )$ và gửi nó cho Bob.
- Bob tính toán $h_B = H( [O_2]_A, [O_2]_B )$. Nếu $h_A = h_B$ anh ấy chấp nhận đầu ra $O_2$, nếu không anh ta phá thai.
Nếu Alice trung thực và Bob tham nhũng, Bob chỉ có thể học được một đầu ra bị cắt xén $[\cdot]_A$ dưới mã hóa của Alice, bởi thuộc tính xác thực của mạch bị cắt xén của Alice.
Vì vậy, Bob không thể truy vấn $H$ trên bất kỳ mã hóa hợp lệ nào $[x]_A$ ngoại trừ $[O_2]_A$.
Nếu $O_1 \ne O_2$ thì Bob không bao giờ có thể truy vấn $H$ tại cùng thời điểm mà Alice đã làm, vì vậy giá trị của cô ấy $h_A$ trông giống nhau một cách ngẫu nhiên đối với Bob.
Tức là, nó không rò rỉ bất kỳ thông tin nào về $O_1$ khác với thực tế là $O_1 \ne O_2$.
Tôi đã tập trung vào cách thuyết phục Bob rằng đầu ra là chính xác.
Để thuyết phục Alice, bạn phải thực hiện so sánh hàm băm giống nhau theo cả hai hướng.
Nhưng bạn không thể sử dụng chính xác các lệnh gọi hàm băm giống nhau theo cả hai hướng -- hãy sử dụng một nonce khác cho "các lệnh gọi hàm băm để thuyết phục Alice" và "các lệnh gọi hàm băm để thuyết phục Bob".