Điểm:3

hai khóa ECDSA có khoảng cách gần nhau

lá cờ yt

Giả sử rằng một người sử dụng hai khóa riêng $x_1$$x_2$ để tạo hai khóa ECDSA công khai $y_1$$y_2$ (ví dụ: được sử dụng làm khóa công khai cho địa chỉ Bitcoin). Khoảng cách giữa $x_1$$x_2$ nhỏ (ví dụ: nhỏ hơn ${2^{20}}$). cái gì xấu về nó?

Tôi biết rằng nếu một người phá vỡ $x_1$, nó chắc chắn dẫn đến sự phá vỡ của $x_2$ với một nỗ lực tìm kiếm nhỏ. Nhưng hãy giả sử rằng ngoại trừ $|x_1 - x_2|$ là một số nhỏ, tất cả các phương pháp khác đều an toàn, ví dụ: không bao giờ sử dụng lại randon nonce khi ký, có bất kỳ kết quả xấu nào khác của nó không (ngoại trừ việc phá vỡ một đồng xu cũng giống như phá vỡ hai)?

kelalaka avatar
lá cờ in
Cuộc tấn công chính vào chữ ký là giả mạo chữ ký. Cũng có thất bại toàn tập là đòn làm lộ chìa khóa. Bạn có muốn gì khác không?
Sean avatar
lá cờ yt
Giả sử được cung cấp một chữ ký hiện có được tạo bằng cách sử dụng $x_1$. Làm cách nào kẻ tấn công có thể giả mạo một cái khác (như được tạo bằng $x_2$) nếu không biết nonce ngẫu nhiên được sử dụng trong chữ ký đầu tiên?
kelalaka avatar
lá cờ in
Nếu bạn ký một tin nhắn hai lần bằng hai phím sử dụng các nonce khác nhau thì điều này có thể cung cấp thông tin về khoảng cách của các nonce.
Sean avatar
lá cờ yt
Nhưng nếu bạn ký cùng một tin nhắn bằng cùng một phím, điều đó chẳng phải sẽ tiết lộ khoảng cách của các nonce (thậm chí còn tệ hơn?) --- Vậy, điều gì sẽ xảy ra nếu một người không bao giờ ký cùng một tin nhắn lần thứ hai?
Điểm:1
lá cờ es

Để cho $d=x_2-x_1$và để các khóa công khai ở điểm cơ sở nổi tiếng $G$. Do đó, các cặp khóa sẽ được $(x_1, X_1=x_1G)$$(x_2, X_2=x_2G)$.

Giá trị $d$ có thể bị cưỡng bức bằng cách sử dụng Bước Lớn-Bước Nhỏ phương pháp, sẽ mất ít hơn một giây trên CPU hiện đại khi $n=20$.

Nếu bạn sử dụng chữ ký Schnorr để ký một tin nhắn $m$ sử dụng $X_1$, bạn sẽ tạo cặp chữ ký $(c, r_1)$ bằng cách chọn một nonce ngẫu nhiên thống nhất $k$, rồi tính $c=H(kG\mathbin\| m)$$r_1=k-cx_1$.

Chữ ký được xác minh bằng cách kiểm tra $c\overset{?}{=}H(r_1G+cX_1 \mathbin\| m)$.

Kẻ tấn công, người đã cưỡng bức vũ phu $d$, sau đó có thể tạo chữ ký trên cùng một thư nhưng dường như được ký bằng khóa riêng tư khác của bạn $x_2$, như sau:

Các giá trị của $k$$c$ sẽ vẫn như cũ. Sau đó tính toán $r_2=r_1-cd$. Chữ ký giả mạo là cặp $(c, r_2)$.

Chữ ký sẽ được xác minh bằng cách kiểm tra xem $c\overset{?}{=}H(r_2G+cX_2 \mathbin\| m)$.

Điều này sẽ xác minh thành công nếu $kG==r_2G+cX_2$, điều này sẽ đúng nếu $k==r_2+cx_2$.

Bằng cách thay thế $r_2==r_1-cd$$x_2==d+x_1$, chúng ta có thể thấy rằng điều này sẽ đúng nhờ vào sự lựa chọn của chúng ta $r_2$.

Cuộc tấn công này chỉ hoạt động nếu hàm băm hoặc thông báo không liên kết chữ ký với một khóa công khai cụ thể. Nếu giao thức yêu cầu rằng $c$ thay vào đó được tính như $c=H(kG\mathbin\| X_1\mathbin\| m)$, cuộc tấn công sẽ không hoạt động vì giá trị của $c$ không thể sử dụng lại giữa các chữ ký (vì người xác minh sẽ xác minh chữ ký bằng cách nối $X_2$ bên trong hàm băm thay vì $X_1$).

poncho avatar
lá cờ my
"Theo câu hỏi, việc này sẽ mất không quá $2^{21}$ lần thử, sẽ mất chưa đến một giờ trên CPU hiện đại."; trên thực tế, nó có thể được thực hiện với khoảng $2^{11}$ lần thử (giả sử bằng cách sử dụng Bước lớn-Bước nhỏ); đó giống như một giây ...
poncho avatar
lá cờ my
Không, Bước Lớn-Bước Nhỏ chỉ liên quan đến việc bổ sung...
knaccc avatar
lá cờ es
@poncho Cảm ơn, lúc đầu tôi đã bối rối, nhưng bây giờ tôi có thể thấy rằng cái nhìn sâu sắc là tra cứu bảng băm nhanh hơn nhiều so với thực hiện phép cộng. Tôi đã triển khai phương pháp của bạn để kiểm tra và nó hoạt động rất 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.