Điểm:5

Bằng chứng không kiến ​​thức về sự bình đẳng giữa RSA Modulus và Prime Order Group

lá cờ kn

Giả sử có một khóa công khai RSA $(e,n)$ như vậy mà thực tế hóa của $n$ cả bên chứng minh và bên xác minh đều không biết. Chúng tôi cũng có một nhóm thứ tự chính $G$ và một máy phát điện $g$ cho nhóm. Vì $m\in QR_n$, có giao thức chứng minh kiến ​​thức không để chứng minh rằng $C_1=m^e$$C_2=g^m$, cho các giá trị công khai $(C_1, C_2, e, n, g)$?

Fractalice avatar
lá cờ in
Điều khiến tôi khó chịu là $QR_n$ xác định các giá trị theo modulo $n$ trong khi như trong $g^m$, giá trị $m$ được xác định theo modulo $\varphi(n)$ (chính xác hơn là modulo $|G|$, sao cũng được) . Và những giá trị này là "trực giao" nên nó không được xác định rõ. Buộc $QR_n$ chính xác là một tập hợp con của $\{0,\ldots,n-1\}$ là hacky/không đại số.
Fractalice avatar
lá cờ in
Ngoài ra, tại sao lại hạn chế $m\in QR_n$?
kentakenta avatar
lá cờ kn
Cảm ơn phản hôi của bạn. $m\in QR_n$ vì đó không phải là một thông báo ngẫu nhiên mà là một giá trị cụ thể từ giao thức và cả hai bên đều biết rằng $m\in QR_n$. Mối quan tâm của tôi là chính xác giống như của bạn. Tôi không thể hiểu liệu chúng ta có thể cung cấp bằng chứng như vậy trong trường hợp chúng ta biết rằng m là dư bậc hai hay không.
Điểm:1
lá cờ cf

TL, DR: một sự kết hợp của đơn giản $\Sigma$-protocols có thể chứng minh câu lệnh ghép này mà không cần kiến ​​thức. Tuy nhiên, bằng chứng là hơi lớn.

Trước tiên, hãy chia nhỏ câu lệnh ghép của bạn thành các câu lệnh đơn giản hơn. Quan sát rằng về cơ bản, bạn muốn chứng minh kiến ​​​​thức bằng không cho $C_1=m^e$$C_2=g^m$ rằng mối quan hệ sau đây $\mathcal{R}(x,\omega)$ ($x$ là tham số công khai và $\omega$ là nhân chứng) cho rằng: $$\mathcal{R}=\{((C_1,C_2),(m,l)):m\in QR_{N}\land C_1=m^e\bmod{N}\land C_2=g^m \bmod{p}\}, $$ ở đâu $l$ là căn bậc hai của $m\bmod{N}$, tức là, nhân chứng là $(m,l)$ đôi. Để đơn giản, hãy sử dụng ký hiệu sau cho các câu lệnh cơ bản: $$\mathcal{R}_1=\{((C_1,C_2),(m,l)):m\in QR_{N}\}, $$ $$\mathcal{R}_2=\{((C_1,C_2),(m,l)): C_1=m^e\bmod{N}\}, $$ $$\mathcal{R}_3=\{((C_1,C_2),(m,l)):C_2=g^m\bmod{p}\}. $$

Lưu ý rằng cả hai câu lệnh cơ bản $\mathcal{R}_2$$\mathcal{R}_3$ dễ chứng minh với $\Sigma$-giao thức, vì cả hai quan hệ đều chứng minh kiến ​​thức về một tiền ảnh theo một nhóm đồng hình (tức là, của $w$ thỏa mãn $x=\phi(w)$). Trong trường hợp $\mathcal{R}_2$ nhóm đồng hình $\phi(\omega)=\omega^e$, trong khi ở $\mathcal{R}_3$, đồng cấu là $\phi(\omega)=g^{\omega}$. Đây là những phát biểu khá chuẩn và bạn có thể tìm cách chứng minh tiền ảnh của một phép đồng hình trong Banger và cộng sự. hoặc trong sách Boneh-Shoup, trong số nhiều người khác.

Để chứng minh $\mathcal{R}_1$ có một chút khó khăn ngay từ cái nhìn đầu tiên, vì $m$ cần được giữ bí mật và chúng tôi muốn chứng minh rằng $m$ là dư lượng bậc hai, tức là, $m\in QR_N$. Trong hầu hết các triển khai của hệ thống mật mã RSA $e$ là số lẻ (tôi cho rằng đây cũng là trường hợp trong ứng dụng của bạn), vì vậy $C_1=m^e\in QR_{N} \iff m\in QR_{N}$. Tôi cũng cho rằng người mã hóa biết $l$, một trong những căn bậc hai của $m$, vì hệ số hóa chưa được biết. Nếu bộ mã hóa không biết một $l$, thì nó không thể chứng minh rằng nó là dư bậc hai, bởi vì nó không biết phân tích thành nhân tử. Với cuộc thảo luận này, bây giờ $\mathcal{R}_1$ về cơ bản đòi hỏi phải chứng minh tuyên bố sau: $$\mathcal{R}_1=\{((C_1),(l)):C_1=l^{2e}\bmod{N}\}, $$ đó lại là một bằng chứng về kiến ​​​​thức về tiền ảnh của một nhóm đồng hình. Chúng tôi biết làm thế nào để chứng minh tuyên bố này.

Để kết hợp tất cả những thứ này để có được bằng chứng không kiến ​​thức cho câu lệnh ghép $\mathcal{R}$, người xác minh chỉ cần gửi cùng một thử thách ngẫu nhiên cho tất cả các câu lệnh cơ bản (mặc dù thử thách ngẫu nhiên là khác nhau giữa các lần lặp lại giao thức!).

kích thước của bằng chứng là gì? Vì $\Sigma$-Các giao thức trong nhóm không rõ thứ tự, độ sai số cao nên cần lặp lại $\Sigma$-giao thức nhiều lần để đạt được mức độ hợp lý của âm thanh. Trong mỗi lần lặp lại, sai số âm thanh giảm đi $\xấp xỉ 1/2$. Do đó, giao thức phải được lặp lại tuần tự để nhận được lỗi kiến ​​thức đủ nhỏ (ví dụ: $80$ lặp lại tuần tự được yêu cầu để có được một lỗi kiến ​​thức của $1/2^{80}$). Điều này sẽ dẫn đến một bằng chứng bao gồm $2*2*80=320$ nhóm các phần tử cho $3$ các câu lệnh cơ bản (2 trong số các câu lệnh xảy ra trong một nhóm RSA, do đó chúng ta cần lặp lại nhiều lần).

Để tránh giới hạn hiệu quả này, bạn cần sử dụng một chuỗi tham chiếu chung để giảm kích thước bằng chứng. Nhìn thấy Banger và cộng sự.

Hy vọng, điều này sẽ giúp! Hãy cho tôi biết nếu tôi để lại bất kỳ vùng màu xám nào trong câu trả lời!

kentakenta avatar
lá cờ kn
Cảm ơn bạn rất nhiều vì lời giải thích chi tiết như vậy, tôi đã xem bài báo của Bangerter et al. lần đầu tiên. @fractalice đã chỉ ra một mối quan tâm khác mà tôi có bên cạnh hiệu quả như một nhận xét. Bạn có một ý tưởng về tình huống đó?
István András Seres avatar
lá cờ cf
Để giảm bớt các vấn đề được đề cập bởi @fractalice (cụ thể là $m$ có thể không được xác định rõ), bạn có thể muốn thêm một bằng chứng phạm vi để đảm bảo rằng $m\leq p$. Tôi nghĩ rằng sẽ khắc phục vấn đề.
kentakenta avatar
lá cờ kn
Điều đó thực sự có ý nghĩa. Một ý tưởng khác mà tôi nghĩ ra là thay vì chứng minh sự tương đương, tôi có thể thử thêm một hàm băm từ $QR_n$ vào $\mathbb{Z}_p^*$. Cảm ơn một lần nữa cho câu trả lời của bạn.
Geoffroy Couteau avatar
lá cờ cn
Một tùy chọn khác là xác định nhóm $\mathbb{G}$ của bạn có thứ tự $n$, giống như nhóm RSA. Điều này dẫn đến một đường cong hình elip lớn, nhưng sau đó bạn không cần bằng chứng phạm vi đắt tiền để đảm bảo tính hợp lý.

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