Điểm:1

Làm cách nào tôi có thể chứng minh tiền giả của hàm băm chứa một số lớn hơn x?

lá cờ ht

Vì vậy, tôi muốn tạo một hệ thống chứng minh không cần kiến ​​thức cho các con số (hãy nghĩ đến các khoản vay và tài khoản ngân hàng, tôi muốn chứng minh tiền lương của mình nhiều hơn x đô la mỗi tháng).

Tôi đã suy nghĩ về việc sử dụng bằng chứng không có kiến ​​thức cho tiền giả của hàm băm. Vì vậy, giả sử chủ lao động của tôi băm tiền lương của tôi theo cách như vậy (ví dụ: sử dụng cây merkle) mà mạng của tôi nhận được được băm riêng lẻ. Tôi có thể sử dụng bằng chứng tiền ảnh để chứng minh rằng tôi biết tiền ảnh của hàm băm, nhưng điều đó không đưa tôi đến đâu cả. Tôi muốn chứng minh tiền giả của hàm băm lớn hơn một số lượng đã đặt.

Nhưng điều đó cũng không hữu ích lắm vì tôi không muốn tiết lộ hàm băm trong phiếu lương của mình, bởi vì không khó để băm tất cả số tiền có thể (giả sử 500,00-5000,00, đó chỉ là các tùy chọn 450 nghìn) và kiểm tra xem nó có bằng nhau không.

Vì vậy, những gì tôi nghĩ về việc làm là thêm một chuỗi ngẫu nhiên vào số tiền và băm chuỗi đó. Có cách nào để tôi có thể chứng minh rằng hàm băm của một chuỗi chứa một số lớn hơn một số tiền không? Hay tôi đang nghĩ về điều này một cách sai lầm?

Sam Jaques avatar
lá cờ us
Bạn đã xem xét các bằng chứng phạm vi chưa: https://arxiv.org/abs/1907.06381?
knaccc avatar
lá cờ es
Câu trả lời của tôi ở đây https://crypto.stackexchange.com/questions/96232/zkp-prove-that-18-while-hiding-age/97836#97836 cho biết cách sử dụng Cam kết Pedersen thay vì hàm băm và cách tạo bằng chứng phạm vi dựa trên chữ ký vòng Schnorr chứng minh cam kết lớn hơn hoặc bằng một giá trị nhất định
Điểm:-1
lá cờ kr

Một trong những tiêu chí của một hàm băm tốt là nó không tiết lộ bất kỳ thông tin nào về tiền ảnh. Đó là lý do tại sao câu trả lời là: Không, đối với một hàm băm tốt, không thể nói bất cứ điều gì về tiền đề.

Giả sử nó sẽ có thể. Giả sử một số hàm băm sẽ thực sự trả lời nếu số được băm lớn hơn số đã cho.Sau đó, nó sẽ dễ dàng tìm thấy số đó.

  1. Sử dụng hàm băm để kiểm tra xem số được băm có lớn hơn 1 000 000 không.
  2. Nếu không lớn hơn, hãy lấy trung vị, 500 000. Sử dụng hàm băm để kiểm tra xem số được băm có lớn hơn 500 000 không.
  3. Nếu lớn hơn, lấy trung vị từ nửa trên, 750 000. Nếu không lớn hơn, lấy trung vị từ nửa dưới, 250 000. Vân vân. Đối với 1 000 000, bạn sẽ nhận được số băm chỉ sau 20 bước, với độ chính xác +-1. Nếu bạn làm thêm 7 bước nữa, bạn sẽ biết số với độ chính xác 0,01.
lá cờ ht
Được rồi nhưng tôi muốn ai đó chứng minh cho người khác thấy rằng tiền lương của họ lớn hơn một giá trị nào đó. Họ có thể lấy kiến ​​thức của mình về những gì có trong hàm băm và sử dụng điều đó để tạo ra bằng chứng. Những bằng chứng đó sẽ không được tạo tự động, người dùng cần ký vào đó bằng giá trị mà chỉ họ biết là có trong hàm băm. Tôi nên sử dụng cái gì cho ứng dụng này?
Manish Adhikari avatar
lá cờ us
Câu trả lời này là sai. @vrwim Vâng, bạn nói đúng là có thể làm được. Có thể tạo ra một bằng chứng tri thức bằng không rằng một số giá trị v được mã hóa ở đó lớn hơn x đối với một số x đã biết mà không tiết lộ bất kỳ điều gì khác về x. Bạn không thể tìm kiếm nhị phân giá trị chỉ với thông tin đó vì người khác không thể kiểm tra xem nó có lớn hơn một số giá trị y khác hay không trừ khi người chứng minh cũng quyết định chứng minh điều đó. Vấn đề rõ ràng là ở NP và mọi vấn đề trong NP đều không có bằng chứng về kiến ​​​​thức
Manish Adhikari avatar
lá cờ us
Điều tốt nhất tôi biết về những bằng chứng như vậy sẽ là ZK SNARK qua mạch boolean để tính toán hàm băm, Nó rất tốt để xác minh (bằng chứng ngắn và có thời gian xác minh tuyến tính với kích thước nhân chứng). Tạo bằng chứng mất một thời gian do nhu cầu biên dịch chương trình băm và một số thao tác trên đường cong elip.
kelalaka avatar
lá cờ in
Xem https://www.wisdom.weizmann.ac.il/~oded/gmw1.html
lá cờ kr
@Manish Adhikari: Nhận xét của bạn sai. Tôi nghĩ bạn chưa hiểu câu hỏi. Câu hỏi là **không** nếu có thể chứng minh ZP. Câu hỏi đặt ra là liệu hàm băm **tĩnh** đã được người chứng thực **trước** tính toán (không có bất kỳ tương tác nào với người xác minh) có thể được sử dụng để làm bằng chứng ZK hay không. Không thể vì lý do tôi đã mô tả trong câu trả lời.
Manish Adhikari avatar
lá cờ us
OK, nhưng tôi vẫn không hiểu câu hỏi được diễn đạt như thế nào để có nghĩa là những gì bạn nói. Tuy nhiên, tôi thừa nhận rằng có những phần tôi không hiểu như cách nhà tuyển dụng tham gia vào phương trình
lá cờ kr
@ManishAdhikari: OP đang tìm cách tính toán bằng cách nào đó một hàm băm **đơn** và thực hiện nó **trước**. Bằng chứng ZK không hoạt động theo cách như vậy.

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