Giấy Chữ ký vòng truy xuất nguồn gốc của Fujisaki & Suzuki, cho phép chữ ký bằng một khóa riêng trong vòng khóa công khai để ký và cho bất kỳ ai xác minh rằng một thành viên của vòng đã ký mà không tiết lộ thành viên nào của vòng đã ký, trừ khi chính thành viên đó ký hai thư khác nhau dưới cùng một thẻ ('chi tiêu gấp đôi'), trong trường hợp đó có thể xác định người chi tiêu gấp đôi.
Đối với một chiếc nhẫn $n$ người ký, cả giao thức ký và giao thức xác minh đều phụ thuộc vào $\sigma_j$ vì $i \in [1..n]$. Ở đâu $i$ là vị trí của người ký thực sự trong vòng, $\sigma_i$ được xác định dựa trên khóa riêng, thành viên vòng và sự cố. Sau đó, khả năng truy xuất nguồn gốc dựa trên ý tưởng rằng chỉ với một thông báo cho bộ ba khóa/vòng/vấn đề riêng tư, sẽ rất khó để xác định thông tin nào $\sigma_j$ là cái bị ràng buộc không có khóa riêng. Tuy nhiên, nếu cùng một người ký hai tin nhắn cho cùng một vòng/số phát hành, thì $\sigma_i$ sẽ giống nhau trên hai tin nhắn, xác định cả hai tin nhắn đến từ người ký $i$. Tuy nhiên, bài báo chỉ ra rằng nếu giao thức cho phép người ký tự do lựa chọn $\sigma_j$ vì $j \neq i$, một người ký có thể đóng khung một người ký khác là đã ký hai lần.
Để khắc phục điều này, thay vào đó, bài báo mô tả một sơ đồ để thể hiện tất cả các $\sigma_j$ dưới dạng một dòng có phần chặn được cố định bởi thuật toán dựa trên hàm băm của đầu vào và độ dốc (được xác định bởi người ký dựa trên $i$, chặn và $\sigma_i$).
Bài viết thể hiện quan điểm $\sigma_j$ các giá trị là thành viên của "nhóm nhân G có thứ tự nguyên tố q" mà không có thêm thông tin nào về ý định của họ đối với nhóm đó. do đó tôi muốn chọn $G$ như đường cong elliptic Curve25519, dường như phù hợp với các giả định của các tác giả.
Tuy nhiên, điều này mang đến một thách thức với kế hoạch đưa $\sigma_j$ các giá trị trên một dòng. Tờ báo viết:
Bộ $A_0 = H'(L, m)$ và $A_1 = ({\sigma_i \over A_0})^{1/i}$
Có một số cách giải thích có thể cho cách tính toán $A_1$ từ đây. Rõ ràng là tên miền của $H'$ cũng $G$. Giải thích điều này như một biểu thức trong $G$ (mà người khác đã hỏi về trước đây: Cách tính $x^{1/y}$?), tuy nhiên, có nghĩa là giải quyết Bài toán logarit rời rạc trên đường cong Elliptic. Tính bảo mật của toàn bộ kế hoạch trong bài báo phụ thuộc vào việc nó khó thay đổi theo bất kỳ cách nào. $G$ được chọn, vì vậy tôi nghĩ rằng việc giải thích việc thực hiện nó bằng cách sử dụng các thao tác trường có thể không có ý nghĩa - và tôi nghĩ rằng các tác giả phải có ý định rằng thao tác được thực hiện trên số thô xác định một điểm trong nhóm là một lựa chọn.
Do đó, câu hỏi của tôi là: Vì Curve25519 sử dụng các điểm elip được nén có thể được xác định bằng một số nguyên $x$, cách triển khai an toàn và chính xác sẽ là tính toán $A_1 = ({\sigma_i \over A_0})^{1/i}$ trên $x$ tọa độ của điểm?
Một vấn đề tôi có thể thấy với điều này là chỉ $1/8$ của tất cả các giá trị là các điểm trên đường cong cho Curve25519 và nếu thuật toán ký đảm bảo rằng $\sigma_i$ đi ra như trên đường cong nhưng không $\sigma_j$ vì $i \neq j$, thì điều đó có thể loại trừ 7/8 số người tham gia vòng có thể là nguồn của chữ ký (đây sẽ là một vụ rò rỉ thông tin không thể chấp nhận được).
Một cách khắc phục hợp lý cho vấn đề này là làm cho giao thức xác minh tính toán $\sigma_j^{'}$ từ $A_0$ và $A_1$, và sau đó tăng x
phối hợp lặp đi lặp lại cho đến khi một điểm trên đường cong ($\sigma_j$) thu được? Và sau đó người ký có thể giảm $x$ phối hợp của $\sigma_i$ lặp đi lặp lại để thu được giá trị lớn nhất $X < \sigma_i$ không nằm trên đường cong, sau đó lấy mẫu ngẫu nhiên theo tọa độ x $x \leftarrow [X+1..\sigma_i]$, và sử dụng nó để tính toán $A_1$. Bằng cách đó, một đối thủ sẽ không thể biết liệu một $j$ giá trị là $i$, nhưng $\sigma_i$ các giá trị sẽ bị hạn chế để ngăn chặn cuộc tấn công trong bài báo. Có bất kỳ vấn đề rõ ràng nào với việc triển khai này mà tôi đang thiếu không?