Điểm:1

KeyImage được liên kết với chữ ký vòng như thế nào?

lá cờ cn

Tôi đang cố gắng hiểu khái niệm về chữ ký vòng. Vì vậy, dường như có một cách mà bạn có một nhóm khóa công khai chỉ có thể được ký bởi một khóa riêng của nhóm đó mà không tiết lộ khóa riêng nào đã thực sự được sử dụng. Mặt khác, bạn có một keyImage để ngăn chi tiêu gấp đôi, để người quan sát có thể chắc chắn rằng khóa riêng cụ thể này chưa được sử dụng.

Điều tôi không hiểu là cách keyImage này được tạo và xác minh. Bằng cách nào đó, nó được lấy từ khóa riêng tư và được băm theo cách mà nó không thể được thiết kế ngược. Nhưng làm cách nào để tôi biết rằng khóa riêng thực tế đã được sử dụng cho keyImage? Ý tôi là tôi chỉ có thể sử dụng một keyImage ngẫu nhiên để có tính duy nhất của nó.

Vì vậy, nó phải được liên kết bằng cách nào đó với chữ ký để người ta có thể chắc chắn rằng nó thực sự được lấy và băm từ khóa riêng. Tất nhiên là không tiết lộ khóa riêng của nhóm nào đã được sử dụng. Vì vậy, làm thế nào điều này được liên kết với nhau?

baro77 avatar
lá cờ gd
câu hỏi này có vẻ phù hợp hơn với monero.stackexchange.com imho ...và thẻ "hash-signature" có vẻ sai
fgrieu avatar
lá cờ ng
"keyImage" không phải là một thuật ngữ mật mã tiêu chuẩn. Do đó, câu hỏi nên được nêu với tham chiếu đến ý nghĩa của "keyImage" từ quan điểm mật mã. Nếu câu hỏi dành riêng cho Monero, tôi có thể chuyển câu hỏi đó sang đó (họ có ít nhất một [câu hỏi liên quan](https://monero.stackexchange.com/q/2883)). Tuy nhiên, nếu trọng tâm của câu hỏi là chữ ký vòng và bất kỳ "keyImage" nào (chứ không phải là chi tiết cụ thể của Monero) thì nó có thể được giữ ở đây, nếu được làm rõ.
baro77 avatar
lá cờ gd
Tôi hoàn toàn đồng ý @fgrieu. Tôi đã cho rằng OP đang nghĩ đến những thứ liên quan đến tiền điện tử vì đã trích dẫn "chi tiêu gấp đôi" trong câu hỏi. Dù sao thì tốt hơn là cho anh ta cơ hội để làm rõ ràng
user3776738 avatar
lá cờ cn
À được rồi, nó không hoàn toàn cụ thể về Monero vì tôi đang yêu cầu Shadowcash hay chính xác hơn là một nhánh của nó. Tôi không biết liệu chữ ký Monero Ring ban đầu có khác với chữ ký Shadowcash hay không, chưa kể đến việc họ hiện đang sử dụng RingCT nhưng tôi đoán nguyên tắc có thể giống nhau. Vì vậy, vâng, bạn (@fgrieu) có thể chuyển nó sang Monero nếu bạn tin rằng cộng đồng của họ có câu trả lời tốt hơn. Cảm ơn cho đến nay.
fgrieu avatar
lá cờ ng
[Ở đây](https://monerodocs.org/cryptography/asymmetric/key-image/) là một nỗ lực để xác định hình ảnh chính của Monero bằng mật mã. Tôi đang trì hoãn việc di chuyển, bởi vì rõ ràng có một khía cạnh tiền điện tử ECC cho câu hỏi và có lẽ nó sẽ nhận được câu trả lời tốt hơn ở đây. Tôi vẫn nghĩ rằng câu hỏi nên được cải thiện bằng cách thêm các liên kết đến định nghĩa của các thuật ngữ được sử dụng.
baro77 avatar
lá cờ gd
@ user3776738 hiểu rồi! Vì vậy, chỉ là một nhận xét vì tôi không biết triển khai Shadowcash: trong Monero, bạn nghi ngờ "Nhưng làm cách nào để tôi biết rằng khóa riêng tư trên thực tế đã được sử dụng cho keyImage?" được giải quyết bằng cấu trúc theo đó xác minh vòng chỉ thành công nếu keyImage được tạo từ khóa riêng.... Tôi không biết diễn tả nó bằng từ ngữ như thế nào, nhưng có lẽ điều này có thể hữu ích cho bạn: https://www.getmonero .org/library/RingsCheatsheet20210301.pdf (tuyên bố từ chối trách nhiệm: Tôi là tác giả của cheatsheet) PS RingCT không thành vấn đề
user3776738 avatar
lá cờ cn
@fgrieu: "Hình ảnh khóa tôi là chức năng một chiều của khóa riêng x." Suy nghĩ của tôi như sau: Vì vậy, bằng cách nào đó, tôi phải xác minh hình ảnh chính này nếu không nó có thể là ngẫu nhiên. Nhưng đó là hàm băm một chiều. Để tái tạo hàm băm một chiều, tôi cần tất cả thông tin được sử dụng để tạo ra nó. Khi tôi có quyền truy cập vào tất cả thông tin đó, tôi biết khóa riêng. Nhưng tôi không nên biết khóa riêng. Đó là tôi bị mắc kẹt.
user3776738 avatar
lá cờ cn
@baro77 Tôi sẽ cố gắng hiểu điều đó, nhưng đối với tôi nó giống tiếng Trung Quốc.
fgrieu avatar
lá cờ ng
@ baro77 : viết câu trả lời bắt đầu từ bình luận của bạn thì sao?
baro77 avatar
lá cờ gd
@fgrieu ok, tôi sẽ cố gắng... hãy để tôi dành chút thời gian, vì đây là những ngày bận rộn của tôi và chủ đề hơi khó để tóm tắt
Điểm:2
lá cờ gd

Với hy vọng làm hài lòng lời mời của @fgrieu trong các nhận xét, tôi thử một câu trả lời đến từ việc triển khai Monero. Nguồn gốc của những từ này là cheatsheet tôi đã viết https://getmonero.org/library/RingsCheatsheet20210301.pdf trong khi học tập https://www.getmonero.org/library/Zero-to-Monero-2-0-0.pdf

Tôi nghĩ điều đúng đắn là bắt đầu từ chữ ký Schnorr không tương tác (theo hương vị Fiat-Shamir) cho các phím trên đường cong hình elip. Hãy nhanh chóng tóm tắt nó.

Hãy cùng nói nào $(x,X)$ là cặp khóa riêng/công khai, trong đó $X\tam giácq xG$ với $G$ điểm phát điện của EC; $tx$ là giao dịch/văn bản/bất cứ thứ gì chúng tôi cần ký; ký tên $tx$ với $x$ có nghĩa là có thể tạo ra một cặp $(c,r)$ như vậy mà:

$H(tx, rG + cX)=c$

ở đâu $H$ là một hàm băm (bất kể cái nào ở đây) và $c$$r$ được gọi là "thử thách" và "phản hồi", với các thuật ngữ đến từ lược đồ tương tác. $c$ được lấy từ một bí mật ngẫu nhiên duy nhất $\alpha$ chỉ được biết bởi người ký và không bao giờ được sử dụng lại trong hai chữ ký và đẳng thức ở trên tương đương với:

$rG + cX = \alpha G$

(btw, bằng cách thay thế bạn có được cách $c$ được định nghĩa ;) )

Vì vậy, nhìn nó từ góc nhìn của loài chim, chúng ta có thể nói rằng xác minh của $tx$ chữ ký của $x$ là một chức năng của nội dung đã ký, khóa chung, thử thách và phản hồi:

$f(tx, X, r, c)$

Chữ ký vòng là về việc tìm kiếm hương vị của lược đồ này bằng mồi nhử, trong khi vẫn chỉ giữ lại một người ký THỰC TẾ (từ quan điểm kỹ thuật: cần nhiều $X_i$ -hãy cùng nói nào $n$- trong thuật toán xác minh nhưng đơn lẻ $x$ trong thuật toán ký kết); và tất cả đều không có sự phối hợp giữa các chủ sở hữu chính có liên quan.

Có một thách thức và một phản ứng cho mỗi $X_i$, vì vậy chúng tôi có $c_i$$r_i$, tuy nhiên mọi thứ đang được sắp xếp để từ $c_i$ chúng ta có thể tính toán $c_{i+1}$, với "tràn" khi $i=n$ (ở đây là "chiếc nhẫn"), vì vậy:

$H(tx, r_{i}G + c_{i}X_{i})=c_{i+1}$ với $1 \le i \le n-1$

$H(tx, r_{n}G + c_{n}X_{n})=c_1$ với $i=n$

đưa ra chúng ta có thể hồi quy từ $c_n$ đến $c_1$ các điều kiện trên dẫn đến chức năng xác minh chữ ký:

$f(tx, X_i, r_i, c_1)$

Nhưng "ma thuật" đến từ đâu? thế nào là sự sắp xếp làm để có $c_i$ tạo thành một chuỗi khép kín trong đó đưa ra một giá trị thách thức, bạn có thể tính toán tất cả các giá trị khác (lưu ý chúng tôi đã chọn $c_1$ đặc biệt, nhưng điều đó thực sự không có gì đặc biệt cả)? Vâng, nhờ vào những sự thật này:

  1. nếu chúng ta chỉ ra là $c_\pi$ thách thức liên quan đến người ký THỰC TẾ, $c_{\pi+1}$ được tính toán từ một bí mật ngẫu nhiên $\alpha$ chỉ người ký THỰC TẾ mới biết (nó có nhớ gì không? ;) );
  2. tất cả những thứ khác $c_i$ được tính toán với công thức chuỗi trên;
  3. tất cả các $r_i$ chỉ là những con số ngẫu nhiên, ngoại trừ $r_\pi$ mà được chọn như vậy để cho $c_{\pi+1}$ để tôn trọng công thức chuỗi (ngay cả khi nó đến từ $\alpha$)

Và bây giờ cuối cùng là Hình ảnh chính $X^*$! Một phần được quảng cáo trong giao dịch để ngăn chi tiêu hai lần, nó cũng là một phần của $c_i$ tính toán, và một lần nữa $\alpha$/ thủ thuật công thức chuỗi được sử dụng: và nó chỉ giữ nếu Hình ảnh chính $X^*$ được lấy theo một cách rất cụ thể, chức năng của khóa riêng và khóa chung của người ký THỰC TẾ.

Đó là lý do tại sao bạn không thể chọn ngẫu nhiên một cái vẫn chưa được sử dụng!

Tôi hiểu đây chỉ là dòng lý luận chính, còn thiếu nhiều chi tiết, nhưng tôi hy vọng bạn có thể tìm thấy chúng trong cheatsheet với sự trợ giúp của những từ đồng hành này (Tôi đoán đối với nhu cầu của mình, bạn chỉ có thể quan tâm đến "Không tương tác (Fiat -Shamir) Schnorr", "SAG" và "bLSAG")

user3776738 avatar
lá cờ cn
Tôi chấp nhận câu trả lời của bạn, bởi vì nó trông rất chi tiết và tôi có thể hiểu nó vào một ngày nào đó. Mặc dù thành thật mà nói tôi không thực sự hiểu nó. Tôi sẽ cần phải đọc qua nó hàng chục lần và thực hiện một số nghiên cứu về kiến ​​thức toán học mà tôi còn thiếu. Có lẽ tôi sẽ hỏi một câu hỏi mới dựa trên câu trả lời của bạn vào một ngày nào đó, nếu tôi không hiểu. Cảm ơn cho đến nay.
baro77 avatar
lá cờ gd
nếu bạn đang tìm kiếm phần giới thiệu dần dần về chủ đề này, bạn có thể đọc chương 2 của https://www.getmonero.org/library/Zero-to-Monero-2-0-0.pdf (nó còn lâu mới hoàn chỉnh dưới dạng mật mã sách tham khảo, nhưng tôi đoán nó đủ làm nền tảng cho vấn đề của bạn); chương 3 cũng thú vị nhưng tôi rất dễ bị lạc trong đó. Vì vậy, công thức có thể là: đọc hết chương 2 nếu bạn cần; sau đó nghiên cứu cột bên trái, các vòng SAG và bLSAG và các ghi chú của chúng ở cột bên phải trong trang phục của tôi, sử dụng các từ của tôi ở đây trong SE như một hướng dẫn viên du lịch. Chúc bạn làm việc tố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.