Điểm:0

Chữ ký nhóm ẩn danh

lá cờ il

Tôi đã thực hiện một số nghiên cứu về chữ ký nhóm và chữ ký vòng cho chữ ký ẩn danh. Tôi đang cố gắng tìm một lược đồ chữ ký nhóm cung cấp các đặc quyền sau:

  • Ẩn danh cho người ký
  • Chữ ký có thể được xác minh bởi một người nhận chung
  • Chỉ xuất một chữ ký (Tôi không muốn một loại Lược đồ chữ ký LSAG)
  • Người ký trong nhóm sẽ có thể tự tạo chữ ký
  • Việc xây dựng phải dựa trên đường cong elip và nên được ghép nối miễn phí
knaccc avatar
lá cờ es
Nếu bạn không cần nó để có thể liên kết, thì thuật ngữ kỹ thuật cho những gì bạn đang tìm kiếm là chữ ký Nhóm ẩn danh tự phát (SAG). Có nhiều cách để triển khai SAG và SAG luôn là một chữ ký. Tôi nghĩ bạn có thể muốn nói rằng một số SAG nhất định mà bạn đã thấy cho đến nay quá tốn kém về mặt lưu trữ hoặc xác minh?
meshcollider avatar
lá cờ gb
@knaccc sự khác biệt giữa SAG và chữ ký vòng bình thường là gì? Theo những gì tôi hiểu, tính tự phát có nghĩa là không có người quản lý nhóm, do đó nó có vẻ giống như chữ ký vòng (người ký có thể tự tạo vòng đặc biệt và tạo chữ ký bên dưới).
meshcollider avatar
lá cờ gb
"Việc xây dựng nên dựa trên đường cong elip" -> điều này chính xác có nghĩa là gì? Có thể sử dụng các nguyên hàm khác (như nguyên hàm khóa đối xứng) không? Bạn chỉ có nghĩa là các khóa công khai phải là điểm EC?
knaccc avatar
lá cờ es
@meshcollider Chữ ký vòng dựa trên EC Schnorr là một cách để triển khai chữ ký SAG. Một phương pháp gần đây khác có thể đạt được điều này là ZK-STARKS.
knaccc avatar
lá cờ es
@meshcollider "chữ ký nhóm ẩn danh tự phát" chỉ là một danh sách các yêu cầu. Chữ ký vòng là một cách cụ thể để đạt được các yêu cầu đó bằng cách sử dụng hàm băm nửa Tắc kè hoa cho phép mỗi thành viên của vòng trả lời một thử thách từ liên kết trước đó trong vòng, nhưng có thể 'đóng' vòng khi biết một trong những các khóa riêng.
meshcollider avatar
lá cờ gb
@knaccc Tôi không đồng ý, chữ ký vòng là một lớp xây dựng chung và cái bạn đang đề cập đến chỉ là một sự khởi tạo có thể xảy ra.
knaccc avatar
lá cờ es
@meshcollider Có lẽ tôi có thể khái quát hơn một chút và định nghĩa chữ ký vòng là một vòng thách thức và phản hồi, trong đó chỉ người nắm giữ một trong các khóa riêng tư mới có khả năng nối vòng với nhau để tạo thành chữ ký hợp lệ. Đây là một cách tiếp cận khác với SAG dựa trên bộ tích lũy hoặc một số cách tiếp cận bằng chứng không có kiến ​​thức khác về cơ bản khác không liên quan đến một loạt các thách thức và phản hồi.Tôi không rõ về cách bạn xác định và phân biệt SAG với chữ ký vòng.
CipherX avatar
lá cờ il
@meshcollider nếu một người nhận chung có thể xác minh chữ ký, tôi không biết làm thế nào có thể làm điều đó với khóa đối xứng (trước đây bạn cần có thỏa thuận khóa như DH hoặc bạn cần biết khóa đối xứng là gì đã từng làm điều đó). Tuy nhiên, nếu bạn nghĩ đến một giao thức có thể tốt cho trường hợp sử dụng của tôi, vui lòng cho tôi biết.
knaccc avatar
lá cờ es
@meshcollider Btw Tôi đã tìm thấy tài liệu tham khảo cho thuật ngữ của mình: "Một số tác phẩm khác trong tài liệu cũng gọi loại chữ ký này là âRing Signatureâ mặc dù một số trong số chúng có thể không có cấu trúc vòng để xây dựng. Trong thuật ngữ thay thế, chúng tôi gọi loại chữ ký này là âSpontaneous Anonymous Group (SAG) Signatureâ vì chúng đáp ứng các đặc tính của SAG bất kể cấu trúc xây dựng" (https://eprint.iacr.org/2004/027.pdf Trang 2). Vì vậy, theo định nghĩa chặt chẽ hơn, chữ ký AOS không phải là chữ ký vòng, chúng là chữ ký 1 trong số n hoặc chữ ký nhóm ẩn danh tự phát.
meshcollider avatar
lá cờ gb
@knaccc Cảm ơn! Nhân tiện, AOS đề cập đến bước thứ ba của họ (tính toán $s = c - ax$) là "tạo vòng", vì vậy ngay cả theo định nghĩa chặt chẽ hơn, tôi vẫn coi chúng là chữ ký vòng :)
knaccc avatar
lá cờ es
@meshcollider Khi AOS nói về việc "tạo vòng", họ thực sự đang tạo vòng vì mỗi thử thách phụ thuộc vào liên kết trước đó trong vòng. Vì vậy, bạn đúng rằng chữ ký AOS là chữ ký vòng. Sự nhầm lẫn là câu trả lời bạn đưa ra không giống với cấu trúc được đề cập trong bài báo nơi họ nói về việc hình thành chiếc nhẫn. Phiên bản Phụ lục A là "không thể tách rời" theo thuật ngữ của họ và không dựa trên vòng.
Điểm:2
lá cờ gb

chữ ký nhẫn tương tự như chữ ký nhóm, nhưng không có người quản lý nhóm. Một điểm khác biệt chính nữa là "vòng" có thể được hình thành tại thời điểm ký với bất kỳ khóa nào bạn thích - bạn không có một "nhóm" cố định như trong chữ ký nhóm.

Chữ ký không thể được "liên kết" trừ khi bạn đang sử dụng cụ thể có thể liên kết sơ đồ chữ ký vòng. Hơn nữa, danh tính của người ký được ẩn trong vòng và không thể được xác định theo thiết kế, giống như trong chữ ký nhóm.Hầu hết các chương trình đều có việc xác minh có thể được thực hiện bởi bất kỳ ai (có thể xác minh công khai). Và những người ký tên có thể tự tạo chiếc nhẫn và ký tên mà không cần sự tham gia của bất kỳ ai khác. Vì vậy, điều này đáp ứng tất cả các yêu cầu của bạn, bỏ qua yêu cầu cuối cùng (rằng chúng dựa trên các đường cong elip).

Việc xây dựng chữ ký vòng đầu tiên là một bởi Rivest, Shamir và Tauman. Sơ đồ của họ sử dụng các khóa RSA. Abe, Ohkubo và Suzuki đã đưa ra một sơ đồ trong đó có thể sử dụng hỗn hợp các khóa loại RSA và DL. Phụ lục A của bài báo của họ cho thấy cách bạn có thể tạo chữ ký vòng chỉ bằng các khóa công khai chữ ký schnorr, khóa này có thể được điều chỉnh theo cài đặt đường cong elip (và sử dụng EC-schnorr).

Cụ thể, giả sử mỗi bên trong vòng có một khóa công khai $Y_i = [x_i]G$, và người tham gia $k$ muốn tạo chữ ký thay mặt cho tất cả họ. Hãy để thứ tự của $G$ thì là ở $p$, và để $H$ là một hàm băm có tên miền là $\mathbb{Z}/p\mathbb{Z}$. Người ký sẽ chọn một giá trị ngẫu nhiên $\alpha$, và các giá trị ngẫu nhiên $c_i$ cho tất cả các thành viên vòng khác. Người ký sau đó sẽ tạo một "khóa tổng hợp" $$ K = [\alpha]G + \sum_{i \neq k} [c_i]Y_i \, . $$

Sau đó, người ký sẽ tính toán hàm băm $c = H(Y_0, Y_1, \ldots, Y_n, M, K)$ cho tin nhắn $M$. tính toán $$ c_k = c - \sum_{i \neq k} c_i \pmod{p}, $$ để tất cả các $c_i$ bao gồm $c_k$ tổng thành $c$ (băm).

Cuối cùng, hãy để $s = \alpha - c_k \cdot x_k \bmod{p}$. chữ ký là $(s, c_0, \ldots, c_n)$. Để xác minh, chỉ cần tính toán lại khóa tổng hợp và hàm băm như sau: $$ K' = [s]G + \sum_i [c_i]Y_i\ c' = H(Y_0, Y_1, \ldots, Y_n, M, K') $$ và kiểm tra xem $c' = \sum_i c_i \pmod{p}$.

Bạn có thể thấy rằng việc thực hiện giao thức một cách trung thực sẽ cho phép $K' = K$ bởi vì $$ K' = [s]G + \sum_i [c_i]Y_i \ = [\alpha]G - [c_k \cdot x_k]G + \sum_i [c_i]Y_i\ = [\alpha]G - [c_k]Y_k + \sum_i [c_i]Y_i\ = [\alpha]G + \sum_{i \neq k} [c_i]Y_i = K. $$

Sau đó, xác minh hoạt động bất kể điều gì $k$ là người ký, theo yêu cầu và bất kỳ ai cũng có thể xác minh chữ ký được cung cấp bộ khóa công khai $Y_i$, thông điệp $M$, chữ ký $(s, c_i)$và các tham số công khai $(G, p, E, \ldots)$.

CipherX avatar
lá cờ il
Với lược đồ này, kích thước của chữ ký sẽ phụ thuộc vào số lượng thực thể tham gia vào vòng. Tôi đã nghĩ về chi phí truyền dẫn (thậm chí áp dụng kỹ thuật nén) trong trường hợp N=10, 100, 1.000, 10.000. Bạn nghĩ gì về nó?
meshcollider avatar
lá cờ gb
@CipherX chữ ký tăng tuyến tính theo số lượng người tham gia - bạn bao gồm một khóa công khai và một giá trị $c_i$ cho mỗi người.
CipherX avatar
lá cờ il
chính xác...khía cạnh này có thể là một vấn đề đối với kịch bản của tôi, nhưng cảm ơn rất nhiều về đề xuất của bạn
meshcollider avatar
lá cờ gb
Không vấn đề gì, bạn đã không đề cập đến việc bạn cần một cái ngắn hơn. Bạn có thể tra cứu chữ ký vòng kích thước logarit, có một số. Dù sao xin vui lòng chấp nhận câu trả lời của tôi nếu nó giúp :)
CipherX avatar
lá cờ il
Chắc chắn rồi @meshcollider. Nếu bạn có một số gợi ý về các giao thức chữ ký vòng kích thước logarit phù hợp với yêu cầu của tôi, thì thật tuyệt!

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