Điểm:0

Hai bên có chung bí mật chung có thể lập bản cam kết không?

lá cờ sy

Giả sử các bên A và B có một bí mật chung $k$. Có một giao thức mà cả hai bên cùng đưa ra một cam kết để $k$ để sau này cả A và B đều không thể phủ nhận bí mật chung là gì?

Chỉnh sửa: Cụ thể, tôi quan tâm đến kịch bản trong đó một trong các bên có thể độc hại và chúng tôi cần chứng minh với bên thứ ba C rằng một cam kết $\Phi$ thực sự là bí mật chung $k$.

Nếu A và B chia sẻ hai cam kết riêng biệt, thì bên độc hại có thể chia sẻ cam kết với một cam kết hoàn toàn khác $k'$. C sẽ biết cách để biết cái nào là cam kết $k$.

poncho avatar
lá cờ my
Rõ ràng, nếu cả hai đều có bí mật, thì cá nhân họ có thể đưa ra các cam kết với nó. Tại sao điều đó không đủ? Bạn còn yêu cầu gì nữa? Ví dụ, một bằng chứng rằng họ đã cam kết điều tương tự?
Ordinary avatar
lá cờ sy
Một trong các bên (nói A) là độc hại. Nếu B cam kết $k$ một cách trung thực và A cam kết một $k'$ khác (B không biết), thì không có cách nào để bên thứ ba C quyết định ai là người trung thực, tức là đã chia sẻ cam kết với $k$ - bí mật chung. Có cách nào để đảm bảo rằng C có thể bị thuyết phục rằng một cam kết là bí mật chung $k$ không?
Điểm:1
lá cờ my

Một giải pháp khác, có thể đơn giản hơn, là:

  • $A$$B$ kết hợp với nhau và cùng nhau chọn một giá trị ngẫu nhiên có kích thước cố định lớn $r$, và xuất bản $\text{Hash}( k || r )$

  • Cả hai đều ký (sử dụng khóa chữ ký riêng của họ) chuỗi $\text{Hash}( k || r )$; cả hai chữ ký cũng được công bố.

Hoặc có thể mở cam kết bằng cách xuất bản $k$$r$; bất kỳ ai cũng có thể xác minh rằng họ băm theo cam kết. Và, bất cứ ai với $A$$B$khóa công khai của có thể xác minh chữ ký.

Rõ ràng, vì chỉ có một cam kết có thể được mở theo một cách (giả sử rằng $\text{Hash}$ có khả năng chống va chạm, và $r$ có chiều dài nổi tiếng; ví dụ.nó luôn là 256 bit), không có cơ hội nào cho bên nào nói dối. Suy nghĩ duy nhất mà tôi có thể nghĩ ra đối với một diễn viên độc hại có thể làm là tuyên bố "này, ai đó đã đánh cắp khóa riêng của tôi; tôi không ký cam kết đó"

Điểm:0
lá cờ my

Chà, một cách tiếp cận là yêu cầu cả hai bên tạo và xuất bản các cam kết, đồng thời họ cùng xuất bản một bằng chứng không có kiến ​​thức rằng cả hai cam kết đều có cùng giá trị.

Đây là một cách tiếp cận để làm điều đó: cả hai $A$$B$ tạo và xuất bản các cam kết của Pedersen; Ví dụ, $A$ chọn một giá trị ngẫu nhiên $r$ và xuất bản $C_A = g^k h^r$, trong khi $B$ chọn một giá trị ngẫu nhiên $s$ và xuất bản $C_B = g^k h^s$ (trong đó điều này được thực hiện trong một nhóm nơi các bản ghi rời rạc rất khó và không ai biết nhật ký rời rạc của $h$ đối với $g$).

Bằng chứng không có kiến ​​thức rằng họ đang cam kết với cùng một giá trị là bằng chứng về kiến ​​thức về một giá trị $v$ như vậy mà $C_A C_B^{-1} = h^v$ (mà, đối với các cam kết trung thực, là $v = r-s$); nếu một bên cam kết với một giá trị khác, sẽ không ai biết giá trị đó $v$, và do đó không ai (thậm chí không $A, B$ chung) sẽ có thể xuất bản một bằng chứng như vậy. Lưu ý rằng $C_A C_B^{-1}$ có thể được tính toán bởi bất kỳ ai có quyền truy cập vào hai cam kết.

Có vẻ như khá đơn giản để hai bên hợp tác với nhau để tạo ra một bằng chứng Schnorr như vậy:

  • $A$ chọn một giá trị ngẫu nhiên $a$ và gửi $h^a$ đến $B$; $B$ chọn một giá trị ngẫu nhiên $b$ và gửi $h^b$ đến $A$.

  • Cả hai đều tính toán giá trị chung $c = \text{Hash}(h^a h^b)$

  • $A$ tính toán $x = a + c r$, và xuất bản $x, h^a$. $B$ tính toán $y = b - c s$, và xuất bản $y, h^b$.

cặp $h^à^b, x+y$ sẽ là một bằng chứng Schnorr hợp lệ; người xác minh sẽ kiểm tra xem $h^{x+y} = (h^ah^b) (C_A C_B^{-1})^{\text{Hash}(h^ah^b)}$

Hiện nay:

  • Tôi tin rằng quyền truy cập vào 'bằng chứng nửa vời' $x, h^a$$y, h^b$ không cung cấp bất kỳ cái nhìn sâu sắc nào về một trong hai cam kết.

  • Giao thức này được bảo vệ khỏi một tác nhân độc hại duy nhất; nếu (nói) $A$ là trung thực, sau đó nếu bằng chứng không có kiến ​​​​thức xác minh, thì $B$ phải cam kết về cùng một giá trị. Trên thực tế, ngay cả khi cả hai bên đều độc hại, họ vẫn không thể cam kết riêng lẻ với các giá trị khác nhau.

Đă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.