Điểm:5

Chương trình chứng minh sau đây có phải là kiến ​​thức không?

lá cờ ru

Hãy xem xét rằng tôi muốn chứng minh kiến ​​​​thức về một số khóa riêng RSA tương ứng với khóa chung $(e,N)$. Một chương trình bằng chứng tương tác ngây thơ sẽ tiến hành như sau:

  • $V$ tạo ra một số tin nhắn ngẫu nhiên $m$ và mã hóa nó, gửi dữ liệu được mã hóa $c$ đến $P$
  • $V$ sau đó yêu cầu $m$ trở về từ $P$. Giả định $P$ không thể có kiến ​​thức về $m$ bên ngoài của $c$, sau đó $P$ có thể chứng minh kiến ​​thức về $d$ bằng cách trả lời đúng $m$

Điều này có vẻ hợp lý và đầy đủ dựa trên giả định về độ cứng của vấn đề RSA. Rõ ràng, đây phải là một tiền riêng tư hệ thống, vì nếu dữ liệu ngẫu nhiên được công khai thì đó là hành vi không trung thực $P$ sẽ có thể suy ra bất kỳ $m$. Tôi nghĩ rằng chúng ta cũng cần giả định rằng đây là một sơ đồ xác minh trung thực trên cơ sở rằng một nhà tiên tri giải mã sẽ cho phép phá vỡ RSA trong sách giáo khoa (tôi nghĩ vậy). Tuy nhiên, chúng ta cũng có thể trừu tượng hóa các chi tiết của hệ thống mật mã bất đối xứng được sử dụng và cho rằng đó là một hệ thống mật mã bất đối xứng lý thuyết nào đó không thể bị phá vỡ bằng cách sử dụng tiên tri giải mã, và sau đó tôi nghĩ chúng ta có thể bỏ quy định này.

Theo trực giác, sơ đồ này không phải là kiến ​​thức không, vì chúng ta đang cho đi một thứ gì đó hơi quan trọng (tức là giải mã một tùy ý $c$). Tuy nhiên, chúng ta có thể dễ dàng xây dựng một trình giả lập cho lược đồ này, nó sẽ chọn một số ngẫu nhiên $m$, mã hóa nó và sau đó chỉ cần gửi lại bản gốc $m$ - ngụ ý rằng trên thực tế nó là kiến ​​​​thức bằng không. Tôi có thiếu một số sắc thái ở đây với những gì trình mô phỏng có thể/không thể làm không?

Chương trình này có kiến ​​​​thức không với RSA (tại sao/tại sao không)? Nếu không, nó có phải là không có kiến ​​​​thức với một số sơ đồ bất đối xứng được lý tưởng hóa không dễ bị tấn công trước bất kỳ cuộc tấn công nào dựa trên các phép thuật giải mã (tại sao/tại sao không)?

Vadym Fedyukovych avatar
lá cờ in
Giao thức "Deep coins" https://crypto.stackexchange.com/questions/78176/protocol-for-proof-of-knowledge-of-l-th-root
Điểm:3
lá cờ ru

Tôi đã đọc xong một số kể từ khi đăng câu hỏi này và bây giờ tôi đã hiểu rõ hơn về vấn đề này, vì vậy tôi sẽ tự trả lời.

Sự nhầm lẫn phát sinh từ sự khác biệt giữa không kiến ​​thứcngười xác minh trung thực không có kiến ​​​​thức. Xem xét người xác minh $V^0$ mà sẽ tạo ra một ngẫu nhiên $m$, mã hóa nó để tạo ra một bản mã $c$ và gửi nó qua kênh tới $P$. $P$ (được cho là cũng trung thực) sau đó sẽ trả lời bằng $m$. Sự tương tác này là không có kiến ​​​​thức tầm thường. theo trực giác, $V^0$ đã không học được gì, vì họ đã biết $m$ - về mặt hình thức, chúng ta có thể xây dựng một trình mô phỏng tạo ra bản sao sai của bằng chứng bằng cách tạo ngẫu nhiên $m$ và mã hóa nó. Tuy nhiên, $V^0$người xác minh trung thực - đó là một người xác minh hoạt động theo giao thức.

Hãy xem xét trình xác minh độc hại sau đây $V^*$: nó không thực hiện bất kỳ mã hóa nào và đơn giản là sẽ luôn gửi một bản mã đã đặt, $c^*$. Bây giờ một cái gì đó đã được học - việc giải mã $c^*$, mà trước đây không được biết đến kể từ đó $c^*$ không phải là kết quả của một mã hóa đã biết, mà là kết quả của sự lựa chọn cụ thể. Định nghĩa về tri thức bằng không quy định rằng cho tất cả người xác minh phải tồn tại một trình mô phỏng. $V^*$ không thể được mô phỏng mà không cần biết về bí mật, vì có thể dễ dàng kiểm tra xem việc giải mã có đúng hay không bằng cách mã hóa lại nó, do đó, việc giải mã chính xác $c^*$ phải được trình giả lập biết, trong trường hợp đó, trình giả lập phải có khả năng giải mã các bản mã tùy ý, điều này không thể thực hiện được nếu không có quyền truy cập bí mật; do đó, lược đồ trên thực tế không phải là không có kiến ​​thức, bất kể hệ thống mật mã nào được sử dụng (trừ khi hệ thống mật mã bị hỏng và do đó, một trình mô phỏng có thể giải mã các thông điệp tùy ý trong thời gian đa thức, trong trường hợp đó, bằng chứng là tranh luận). Lưu ý ở đây rằng điều cần thiết $V^*$ gửi một bản mã cố định mỗi lần - nếu $c^*$ được chọn ngẫu nhiên cho mỗi lần tương tác, bảng điểm có thể dễ dàng bị làm sai lệch.

Nó không phải là một phần của câu hỏi ban đầu, nhưng tôi nghĩ điều quan trọng là phải đưa ra - đây không phải là bằng chứng kiến ​​​​thức hợp lệ, mà tôi dự định là như vậy. Trên thực tế (biểu thị bằng $S_\mathcal{M}$ kế hoạch này được thực hiện với một số hệ thống mật mã $\mathcal{M}$), "$S_\mathcal{M}$ là một bằng chứng của kiến ​​​​thức" $\ngụ ý$ "giải mã quyền truy cập tiên tri vào $\mathcal{M}$ cho phép trích xuất khóa riêng". Đây là hậu quả tức thì của việc thiếu giai đoạn cam kết như sẽ được sử dụng trong $\Sigma$-giao thức. Một bằng chứng về kiến ​​thức yêu cầu chúng ta có thể viết một trình trích xuất $E$ có thể lấy bí mật từ $P$ nếu được phép tua lại trạng thái của nó. Tuy nhiên, $P$ như được mô tả ở đây là không trạng thái - bất kể tương tác nào hoặc khi nào một đầu vào được gửi trong tương tác, đầu ra là như nhau - do đó, sự tồn tại của một trình trích xuất hiệu quả cho $P$ ngay lập tức ngụ ý rằng $\mathcal{M}$ hoàn toàn bị phá vỡ với quyền truy cập tiên tri giải mã. Đây chỉ đơn thuần là một bằng chứng tương tác chứng minh (với $\epsilon$, lề cho lỗi, được xác định một cách mơ hồ) rằng $P$ có thể giải mã các tin nhắn tùy ý - nó không đáp ứng các yêu cầu để chứng minh kiến ​​​​thức khóa riê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.