Giấy tiêu chuẩn được sử dụng làm tài liệu tham khảo cho giao thức nhận dạng Schnorr và sơ đồ chữ ký liên quan là Claus-Peter Schnorr, Tạo chữ ký hiệu quả bằng thẻ thông minh (Phiên bản thay thế), Trong Tạp chí Mật mã học, 1991.
Sự khác biệt giữa điều này và giao thức nhận dạng Schnorr như trong sách giáo khoa hiện đại:
Giải thích ban đầu sử dụng một nhóm Schnorr có thứ tự nguyên tố lớn $q$, đó là một nhóm con của nhóm $\mathbb Z_p^*$ cho một số nguyên tố lớn $p$ với $q$ một ước số của $p-1$. Hiện nay, người ta thường suy luận theo một nhóm trừu tượng có thứ tự $q$, có thể được triển khai, ví dụ: như một nhóm đường cong elliptic.
Ký hiệu của nhóm là phép nhân trong bản gốc và hiện nay thường là phép cộng.
Trong bản gốc, bí mật của người xác minh $e$ là ngẫu nhiên trong $[0,2^t)$ với $2^t\ll q$, vì lý do hiệu quả. Nhiều triển lãm hiện đại làm cho $e$ ngẫu nhiên trong $[0,q)$ hoặc khoảng lớn tương tự.
Bản gốc không rõ liệu trong chính giao thức nhận dạng, người hoạt ngôn A có gửi phần tử nhóm hay không $x$ (chữ) hoặc đó là hàm băm $h(x)$ (Hình 1), một tối ưu hóa giảm kích thước giao tiếp. Các giải trình hiện đại có xu hướng không sử dụng hàm băm trong giao thức nhận dạng.
Bản gốc (trong cả hai chữ và Hình 1) biến nó thành một phần của giao thức nhận dạng để xác minh khóa công khai của A $v$ và nó liên kết với danh tính của A $I$ sử dụng chữ ký $S$:
- trong 2.: ââ¦chữ ký của KACâ $S$ vì $(I,v)$,â¦â
- trong 3.: âB xác minh chữ ký $S$â¦â
- trong 5.: âB xác minh $(I,v)$ hoặc bằng cách kiểm tra chữ ký $S$ hoặc bằng cách xác minh $(I,v)$ onlineâ.
Nhưng các cuộc triển lãm hiện đại thường biến điều đó thành một sơ bộ bên ngoài. Một số loại bỏ $I$ và $S$và A cung cấp khóa công khai $v$ trong bước đầu tiên.
Trong một số phần của bài viết gốc, A là Thẻ thông minh, khi một số giải thích khác không nói về cách tính toán được thực hiện hoặc đồng hóa phương tiện tính toán với chủ sở hữu/nhà điều hành của chúng.
Phần trình bày ban đầu nhấn mạnh rằng Một bản vẽ $r$ và tính toán $x$ (ở bước 2.) có thể là sơ bộ ngoại tuyến.
Sử dụng ký hiệu ban đầu và đánh số các bước (trái ngược với nhiều sách giáo khoa), một cách giải thích hiện đại tối thiểu có thể diễn ra
- Chúng tôi làm việc trong một nhóm công chúng phù hợp theo thứ tự chính $q$ và máy phát điện $\alpha$, lưu ý nhân lên. Nhóm $q$ các yếu tố là do đó $\alpha^b$ vì $b\in[0,q)$.
- Prover A muốn chứng minh kiến thức về $s\in[0,q)$ như vậy mà $v=\alpha^s$, với công chúng $v$ giả định rằng người xác minh B đã biết. Nó sử dụng bốn trao đổi:
-
- một trận hòa $r\in_R[0,q)$, tính toán $x:=\alpha^r$, gửi $x$
-
- B hòa $e\in_R[0,q)$, gửi $e$
-
- một tính toán $y:=r+s\,e\bmod q$, gửi $y$
-
- B xác minh $x=\alpha^y\,v^e$.
Sơ đồ nhận dạng Schnorr và việc triển khai Thẻ thông minh có thực sự giống nhau không?
Không: một sơ đồ không phải là một triển khai, giống như một thuật toán không giống như một chương trình sử dụng thuật toán đó được viết cho một loại máy tính cụ thể. Việc triển khai đưa ra các lựa chọn như điện toán có nghĩa là Thẻ thông minh; sử dụng nhóm Schnorr với các tham số kích thước nhất định; tiếp tục giới hạn số lượng bit trong $e$ tham số $t$. Nó gửi hàm băm $h(x)$ còn hơn là $x$ ở bước 2, với bước xác minh 5 tương ứng được thay đổi thành $h(x)=h(\alpha^y\,v^e)$. Nó định nghĩa cái gì $v$ là trong bối cảnh, và hướng tới đó giới thiệu $I$ và $S$.
Khi một văn bản hiện đại đề cập đến sơ đồ nhận dạng Schnorr, nó có xu hướng giảm thiểu giao thức trừu tượng như trong phần trên, không có Thẻ thông minh, $t$, $h$; và thường không có $I$, $S$.
Trong công việc sử dụng sơ đồ nhận dạng Schnorr, tôi muốn trích dẫn giấy JoC và trình bày độc lập giao thức mà tôi sử dụng, để không có sự mơ hồ về ý nghĩa của tôi đối với sơ đồ nhận dạng Schnorr.