CHỈNH SỬA: Tôi muốn chỉ định những gì tôi biết về bảo mật chương trình:
- Lược đồ xác thực: P có thể chứng minh V anh ta là P và không ai khác có thể chứng minh V rằng họ là P.
- Sơ đồ nhận dạng: P có thể chứng minh V anh ta là P, và V không thể chứng minh với bất kỳ ai khác rằng anh ta là P.
- Sơ đồ chữ ký: P có thể chứng minh V anh ta là P, và V thậm chí không thể chứng minh với chính mình rằng anh ta là P.
https://link.springer.com/content/pdf/10.1007%2F3-540-47721-7_12.pdf
Tôi không biết đâu là sơ đồ mạnh nhất giữa Xác thực và Nhận dạng.
Tôi biết rằng lược đồ chữ ký là mức bảo mật mạnh nhất và hãy sửa lỗi cho tôi nếu tôi sai nhưng về cơ bản, đó chỉ là một lược đồ nhận dạng mà bạn cũng có thể ký một tin nhắn nhờ các chức năng một chiều trong NIZK (nói rất kém và Tóm tắt).
Bây giờ, điều tôi không biết là liệu trong bất kỳ sơ đồ ZK nào, bạn luôn muốn xác minh thuộc tính "Bằng chứng kiến thức" hay không. Tôi cho rằng câu trả lời là có, vì (tôi nghĩ) trong tất cả chúng, bạn phải đảm bảo rằng người dùng chính là người mà anh ta nói... nhưng nếu nó thực sự như thế này, thì tôi không hiểu sự khác biệt giữa một sơ đồ xác thực và sơ đồ nhận dạng trong bằng chứng ZK.
Có thể tôi sai và trong một lược đồ xác thực (đó phải là "điểm yếu" nhất trong số chúng?), bạn không cần thuộc tính Bằng chứng về Kiến thức mà bạn chỉ cần lược đồ là không có kiến thức?
Hoặc có thể có nhiều hơn cho nó? Đó là nghi ngờ của tôi, cảm ơn bạn!\