Điểm:1

Bằng chứng dựa trên mô phỏng cho giao thức nhân của Beaver

lá cờ us

Cài đặt

Gần đây, tôi bắt đầu quan tâm đến bằng chứng dựa trên mô phỏng trong bối cảnh tính toán an toàn của hai bên. Tôi đọc một số chương sách (từ MPC an toàn và chia sẻ bí mậtCơ sở về mật mã tập 2), giấy tờ (quan trọng nhất Làm thế nào để mô phỏng nó) và các bài đăng từ trao đổi ngăn xếp mật mã, nhưng tôi vẫn không cảm thấy tự tin trong việc áp dụng các kỹ thuật chứng minh dựa trên mô phỏng. Bước đầu tiên, tôi xem xét một cách đơn giản giao thức chia sẻ bí mật bổ sung với các bên bán trung thực. Ở đó, các bên muốn nhân rộng bí mật của họ và sử dụng bộ ba Beaver cho điều đó, sao cho giao thức liên quan đến một số tương tác. Tôi chia sẻ nó ở đây vì nó có thể hữu ích cho những người mới bắt đầu khác và tôi sẽ đánh giá rất cao những sửa chữa, phê bình và nhận xét.

giao thức nhân

Giả sử hai bên không thông đồng và giả sử đầu vào $x,y$ thuộc về các bên $P_1,P_2$, tương ứng. Sau đó, $P_1$ tính toán cổ phần $x_1\leftarrow \mathbb{Z}_q$, $x_2 = x-x_1\,\mathrm{mod}\,q$, ở đâu $\leftarrow \mathbb{Z}_q$ biểu thị lấy mẫu ngẫu nhiên thống nhất từ $\mathbb{Z}_q$, và gửi $x_2$ đến $P_2$. Điều tương tự xảy ra tương tự với $y_1,y_2$ tại $P_2$ như vậy mà $P_1$ có quyền truy cập vào $x_1,y_1$$P_2$ có quyền truy cập vào $x_2,y_2$ sau bước này. để tính toán $xy$, các bên sử dụng bộ ba Beaver như sau. Trước khi thực hiện giao thức, chúng tôi lấy mẫu $(\alpha,\beta)\leftarrow \mathbb{Z}_q^2$, tính toán $\alpha \beta \,\mathrm{mod}\,q = \gamma$ cũng như cổ phần $\alpha_i,\beta_i,\gamma_i$ với $i\in\{1,2\}$và phân phối chúng cho bên tương ứng. Sau đó, $i$-th bên tính toán \begin{align*} \delta_i=x_i-\alpha_i\,\mathrm{mod}\,q \quad \text{and} \quad \epsilon_i=y_i-\beta_i\,\mathrm{mod}\,q \end{align*} và gửi $\delta_i$ cũng như $\epsilon_i$ sang bên kia. Kết quả là, cả hai bên có thể tính toán $$ \delta=\delta_1+\delta_2\,\mathrm{mod}\,q=x-\alpha\,\mathrm{mod}\,q \quad \text{and} \quad \epsilon=\epsilon_1+\epsilon_2\, \mathrm{mod}\,q=y-\beta\,\mathrm{mod}\,q. $$ Với những thứ này trong tay, cuối cùng người ta có được cổ phần của $z:=z_1+z_2\,\mathrm{mod}\,q$ bằng phương tiện của \begin{align*} z_1=\gamma_1+\delta \beta_1 +\epsilon \alpha_1+\delta\epsilon\,\mathrm{mod}\,q \quad \text{and} \quad z_2=\gamma_2+\delta \beta_2+\epsilon \alpha_2\,\mathrm{mod}\,q. \end{align*} chúng tôi không tiết lộ $z_1$ hoặc $z_2$ (mặc dù giao thức có vẻ vô dụng theo cách này).

Lưu ý rằng $x_2,y_1,\delta_1,\delta_2,\epsilon_1,\epsilon_2$ đã được trao đổi và tất cả các đại lượng này là các số ngẫu nhiên thống nhất trong $\mathbb{Z}_q$. Tất cả các tính toán khác là cục bộ. Từ đó, tôi kết luận rằng giao thức phải được bảo mật tuyệt đối.

Bằng chứng dựa trên mô phỏng (thử)

Theo như tôi hiểu, các bằng chứng dựa trên mô phỏng đặc biệt hấp dẫn đối với các giao thức, trong đó ngoài mã hóa, tính toán và trao đổi dữ liệu có thể tiết lộ điều gì đó. Do đó, nó phải phù hợp với giao thức được chỉ định ở trên.

Hãy thử chứng minh trực giác đã nói ở trên (rằng giao thức hoàn toàn an toàn) một cách chính thức hơn bằng cách áp dụng những gì có thể tìm thấy trong Làm thế nào để mô phỏng nóMPC an toàn và chia sẻ bí mật. Đầu tiên, chúng tôi quan sát thấy rằng giao thức (gần như) đối xứng.Do đó, sẽ là đủ nếu chúng ta chỉ xem xét $P_1$ là nửa trung thực. Tiếp theo, chức năng $f(x,y):=z$ của giao thức $\pi$ là tất định và thỏa mãn tính đúng đắn (đánh giá $z_1+z_2\,\mathrm{mod}\,q$ để xác minh). Hơn nữa, thành phần đầu tiên của $f(x,y)$$f_1(x,y):=z_1$ và chúng tôi giới thiệu quan điểm của $P_1$ qua \begin{align*} \mathrm{view}_1^{\pi}(x,y):=\left(x,r_1,m_1,m_2,\dots,m_t\right)\in \mathbb{Z}_q^{1\times p }, \end{align*} ở đâu $r_1$ là nội dung của $P_1$băng ngẫu nhiên bên trong, và $m_1,m_2,\dots,m_t$ biểu thị các tin nhắn nhận được. Sau đó, một bằng chứng dựa trên mô phỏng để bảo mật hoàn hảo yêu cầu tồn tại một trình mô phỏng thời gian đa thức xác suất $S_1$ như vậy mà \begin{align*} \{S_1\left(x,f_1(x,y)\right)\}_{x,y\in\{0,1\}^*} \stackrel{\mathrm{perf}}{\equiv} \ {\mathrm{view}_1^{\pi}\left(x,y\right)\}_{x,y\in\{0,1\}^*}. \end{align*} Cần đạt được sự không thể phân biệt hoàn hảo giữa các tổ hợp xác suất này nếu có thể $x,y\in\{0,1\}^*$ khoảng cách thống kê \begin{phương trình} \nhãn{eq:dist} \Delta(\mathrm{view}_1^\pi(x,y),S_1(x,f_1(x,y)):=\frac{1}{2} \sum_{\boldsymbol{w}\in\ mathbb{Z}_q^{1\times p}} |\mathrm{Pr}(\mathrm{view}_1^{\pi}(x,y)=\boldsymbol{w})-\mathrm{Pr}( S_1(x,f_1(x,y)=\boldsymbol{w})| \end{phương trình} biến mất. Chúng tôi bắt đầu bằng cách chạy $\pi$ và, theo định nghĩa từ trước, tìm $$ \mathrm{view}_1^{\pi}\left(x,y\right)=\left(x,x_1,y_1,\alpha_1,\beta_1,\gamma_1,\delta_2,\epsilon_2\right), $$ ở đâu $x_1$ bắt nguồn từ $P_1$nguồn ngẫu nhiên bên trong của nó (cuốn băng ngẫu nhiên), $\alpha_1,\beta_1,\gamma_1$ xuất phát từ một nguồn ngẫu nhiên ngoại tuyến phụ trợ (nhưng cũng có thể được coi là tin nhắn?), và $y_1,\delta_2,\epsilon_2$ là tin nhắn nhận được từ $P_2$. Lưu ý rằng ngoài $x$ tất cả các đại lượng này là ngẫu nhiên thống nhất trong $\mathbb{Z}_q$. Hơn nữa, từ $\mathrm{view}_1^{\pi}(x,y)$ tất cả các đại lượng khác, mà $P_1$ có quyền truy cập, có thể được tính toán. Vì thế, $\mathrm{view}_1^{\pi}(x,y)$ chứa tất cả $P_1$thông tin của. Nó vẫn còn để tìm một phù hợp $S_1$. Để kết thúc này, chúng tôi chọn $$ S_1(x,f_1(x,y))=\left(x,\dấu ngã{x}_1,\dấu ngã{y_1},\dấu ngã{\alpha}_1,\dấu ngã{\beta}_1,\dấu ngã{\ gamma}_1,\tilde{\delta}_2,\tilde{\epsilon}_2\right) $$ sao cho mỗi thành phần trong $(\tilde{x}_1,\tilde{y_1},\tilde{\alpha}_1,\tilde{\beta}_1,\tilde{\gamma}_1,\tilde{\delta}_2,\tilde{ \epsilon}_2)$ là ngẫu nhiên thống nhất trong $\mathbb{Z}_q$ (có vẻ như chúng ta không cần đầu ra $f_1(x,y)$). Cuối cùng, kể từ khi $S_1$ có thể bắt chước chính xác các bản phân phối của từng thành phần trong $\mathrm{view}_1^\pi$, dễ thấy rằng $\Delta(\mathrm{view}_1^\pi(x,y),S_1(x,f_1(x,y))=0$ cho tất cả $x,y$. Nói cách khác, mọi thứ ngoài $x$ (được cấp cho $P_1$) không thể phân biệt được với rác ngẫu nhiên. Do đó, chúng tôi kết luận rằng giao thức này hoàn toàn an toàn.

Một số quan sát / câu hỏi

  1. Trong bối cảnh tính toán hai bên an toàn, có vẻ như bất cứ khi nào $\mathrm{view}_1^\pi$ chỉ chứa các biến ngẫu nhiên (ngoại trừ $x$), chúng ta có thể xây dựng một trình mô phỏng đơn giản bằng cách chọn các biến có cùng phân phối như các biến ngẫu nhiên. Điều này làm cho việc xây dựng giả lập trở nên tầm thường.
  2. Trong trường hợp, một biến trong $\mathrm{view}_1^\pi$ hoạt động không ngẫu nhiên, chúng ta phải xây dựng nó từ $x,f_1(x,y)$ để có được một mô phỏng hợp lệ. Để đạt được điều này, giả sử $y_1=y$ bởi vì $P_2$ mắc lỗi. Rõ ràng, điều này không an toàn vì $P_1$ hiện có quyền truy cập vào $x,y$. Tuy nhiên, chỉ từ $x,f_1(x,y)$ chúng ta không thể xây dựng $y$ bởi vì $x$ không có gì để làm với $y$$f_1(x,y)$ là ngẫu nhiên thống nhất trong $\mathbb{Z}_q$ bằng xây dựng. Vì vậy, giao thức này không an toàn do $\Delta(\mathrm{view}_1^\pi(x,y),S_1(x,f_1(x,y))\neq 0$.
  3. lý do mà trình giả lập cần là gì $f_1(x,y)$?
Điểm:2
lá cờ us
  1. Trong bối cảnh tính toán hai bên an toàn, có vẻ như bất cứ khi nào $\mathrm{view}_1^\pi$ chỉ chứa các biến ngẫu nhiên (ngoại trừ $x$), chúng ta có thể xây dựng một trình giả lập bằng cách chỉ cần chọn các biến có cùng phân phối với các biến ngẫu nhiên. Điều này làm cho việc xây dựng giả lập trở nên tầm thường.

Điều gì sẽ xảy ra nếu phân phối của các biến ngẫu nhiên đó phụ thuộc vào $y$, mà bạn chưa biết? Nói cách khác, đối với các lựa chọn khác nhau của $y$, các biến ngẫu nhiên sẽ được phân phối khác nhau.

  1. Trong trường hợp, một biến trong $\mathrm{view}_1^\pi$ hoạt động không ngẫu nhiên, chúng ta phải xây dựng nó từ $x,f_1(x,y)$ để có được một mô phỏng hợp lệ. Để đạt được điều này, giả sử $y_1=y$ bởi vì $P_2$ mắc lỗi. Rõ ràng, điều này là không an toàn từ $P_1$ hiện có quyền truy cập vào $x,y$. Tuy nhiên, chỉ từ $x,f_1(x,y)$ chúng ta không thể xây dựng $y$ bởi vì $x$ không có gì để làm với $y$$f_1(x,y)$ là ngẫu nhiên thống nhất trong $\mathbb{Z}_q$ bằng xây dựng. Vì vậy, giao thức này không an toàn do $\Delta(\mathrm{view}_1^\pi(x,y),S_1(x,f_1(x,y))\neq 0$.

Nếu bạn đang xây dựng một trình mô phỏng cho $P_1$ sau đó bạn đang xem xét trường hợp $P_1$ tham nhũng và $P_2$ là trung thực. trung thực $P_2$ sẽ không phạm sai lầm mà bạn đề cập. Thay vào đó, họ sẽ lấy mẫu $y_1$ thống nhất từ $\mathbb{Z}_q$.

Bạn đúng rằng nó sẽ không an toàn cho $P_2$ chọn một cách nhất quán $y_1 = y$. Đó là lý do tại sao giao thức không hướng dẫn các bên trung thực làm điều đó.

  1. lý do mà trình giả lập cần là gì $f_1(x,y)$?

Nếu $P_1$ bị hỏng và chạy giao thức một cách trung thực trên đầu vào $x$, và giao thức là chính xác, sau đó $P_1$ có thể xuất chính xác $f_1(x,y)$ ở cuối giao thức. Nếu tham nhũng $P_1$ có thể xuất $f_1(x,y)$ trong tương tác thực, thì trình mô phỏng phải có khả năng xuất $f_1(x,y)$ trong tương tác lý tưởng quá.

Tôi không biết những gì bạn đề xuất thay thế cho trình mô phỏng nhận được $f_1(x,y)$. Nhưng nếu bạn đề xuất rằng trình mô phỏng nhận được không thông tin về $y$, thì việc mô phỏng sẽ không thể thực hiện được vì lý do tôi vừa nêu (trừ khi $f_1(x,\cdot)$ hoàn toàn phớt lờ $y$ quá).

opag avatar
lá cờ us
Cảm ơn bạn đã nhận xét có giá trị. 1) Điểm tốt. Tôi đã quá nhanh về điều đó. 2) Tôi đang cố gắng tìm một trường hợp mang lại cảm giác tốt hơn cho trường hợp bảo mật không thành công.Sau đó, thay vì phá vỡ định nghĩa về một bên trung thực, người ta có thể nghĩ đến một giao thức không an toàn trong đó P2 hoạt động như trên. Tuy nhiên, nếu lý do của tôi hợp lý, thì tôi đã hài lòng với nó rồi. 3) Tôi không đề xuất một giải pháp thay thế, nhưng tôi tự hỏi tại sao nó không cần thiết trong nỗ lực chứng minh của mình. Có thể là do bên 1 không xuất ra gì cả. Nhân tiện, bằng chứng dựa trên mô phỏng của tôi có chính xác không?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.