Điểm:2

Chúng ta có thể đảo ngược chức năng đường cong elip mul không?

lá cờ cn

Tôi có một hệ thống đường cong elip chỉ có một điểm P. Giả sử máy khách A và máy chủ B tạo ra R1 và R2 bí mật.

A đang gửi X1 = mul(R1, P) tới B và B đang gửi X2 = mul(R2, P) tới A sau đó chia sẻ bí mật là giống nhau cho cả hai: S = X1R2 = X2R1

Hệ thống chỉ có một điểm và tôi có X1, X2 và P. Tôi đang cố tính toán bí mật được chia sẻ bằng cách tính R1 và R2. Tuy nhiên, hàm đường cong khó đảo ngược vì n = n // 2.

Chức năng :

#R là số riêng được tạo phía máy khách/máy chủ
# P là điểm
xác định mul(R, P):
         
        Q = P.bản sao()
        Q2 = PointInf()
        trong khi R > 0:
            nếu R% 2 == 1:
                Q2 = thêm(Q2, Q)
            Q = thêm (Q, Q)

            R //= 2
    
        trở lại quý 2

Với số n nhỏ ta có thể dễ dàng đảo ngược hàm tìm R vì số lần lặp không nhiều nên có thể lấy xấp xỉ rồi bruteforce, còn R lớn thì làm được gì (trường hợp của mình là 175 lần lặp).

Điều đó có khả thi về mặt toán học không?

Điểm:2
lá cờ ng

Những gì bạn đang mô tả là Diffie-Hellman trên một số nhóm với trung lập ĐiểmInf() [sau đây lưu ý $\infty$] và pháp luật cộng() [sau đây lưu ý $\boxplus$]. Báo cáo vấn đề không nói điều gì, nhưng tiêu đề gợi ý một nhóm Đường cong Elliptic trên một số trường hữu hạn. Chức năng mul(R, P) tính phép nhân vô hướng $R\boxtimes P=\underbrace{P\boxplus \ldots\boxplus P}_{R\text{ term}}$. Từ tính liên tưởng của $\boxplus$ nó đi theo $R\boxtimes P$ được xác định rõ ràng, và điều đó $R_1\boxtimes (R_2\boxtimes P)=(R_1\times R_2)\boxtimes P=(R_2\times R_1)\boxtimes P=R_2\boxtimes (R_1\boxtimes P)$ [ở đâu $\times$ là phép nhân số nguyên].

Tôi đang cố tính toán bí mật được chia sẻ, bằng cách tính toán $R_1$$R_2$.

$R_2\boxtimes P$ $R_1\boxtimes P$ đã biết, do đó kẻ tấn công chỉ cần tính toán $R_1$ hoặc $R_2$ để khôi phục chia sẻ $S$.

Trên số lượng nhỏ $n$, chúng ta có thể dễ dàng đảo ngược chức năng và tìm thấy $R$ bởi vì không có nhiều lần lặp lại, vì vậy chúng tôi có thể thực hiện một phép tính gần đúng và sau đó là bruteforce, nhưng chúng tôi có thể làm gì cho lớn $R$ (trường hợp của tôi là 175 lần lặp).

Nếu thực sự chúng ta đang ở trên một Đường cong Elliptic trên một trường hữu hạn nào đó, thì tôi không hiểu làm thế nào chúng ta có thể "xác định". Tôi sẽ giả sử cả hai $R_i$ là ngẫu nhiên trong $[0,n)$ với $n\boxtimes P=\infty$ hoặc một khoảng thời gian tương tự, và $\log_2(n)\approx175$.

Chúng ta có thể đảo ngược phép nhân Đường cong Elliptic không?

Phát hiện $R$ được cho $R\boxtimes P$$P$ là bài toán logarit rời rạc. Nó được biết đến nhiều nhất tổng quan phương pháp để tìm $S$. nổi tiếng nhất tổng quan các phương pháp để giải DLP (ví dụ: rho của Pollard phân tán với các điểm phân biệt) có chi phí theo thứ tự $2\sqrt n$ bổ sung và điều đó nằm ngoài tầm với (trừ khi người ta có thể đầu tư hàng tỷ đô la vào việc thiết kế, sản xuất và vận hành các thiết bị chuyên dụng). Tuy nhiên

  • có nhiều thuật toán tốt hơn cho một số Đường cong Elliptic (ví dụ: siêu dị thường hoặc khi $n$ là hợp chất).
  • có lẽ một trong những $R_i$ không thực sự ngẫu nhiên
  • có lẽ một số rò rỉ thông tin bổ sung (như thời gian cần thiết để tính toán $R\boxplus P$hoặc các dòng bộ đệm CPU được sử dụng bởi tính toán đó; cả hai đều có thể giúp đỡ).
  • hoặc có lẽ đây là một CTF quỷ quyệt và vấn đề không yêu cầu tìm kiếm $S$.
lá cờ cn
Vâng. Cảm ơn vì lời giải thích. Đúng vậy, R hoàn toàn ngẫu nhiên và thực sự lớn nên việc đoán đúng là hoàn toàn không thể. Tôi sẽ kiểm tra thuật toán supersingular và phân phối Pollard's để kiểm tra xem điều này có thể giúp tôi giải quyết vấn đề của mình không (nó thực sự là một ctf ). Khi bạn nói Rò rỉ thông tin bổ sung, thông tin nào có thể giúp chúng tôi khôi phục R1 hoặc R2?
fgrieu avatar
lá cờ ng
@ThibaultPoncetta: xem gạch đầu dòng cuối cùng được cập nhật. [cập nhật: xem gạch đầu dòng áp chót]
lá cờ cn
viên đạn cuối cùng? Bạn có từ nào khác để mô tả nó không? Tôi không tìm thấy một bản dịch này ^^.
fgrieu avatar
lá cờ ng
Trong dấu đầu dòng _butlast (điểm)_ của tôi, _butlast_ đang cố gắng có nghĩa là: trước dấu cuối cùng (nó phổ biến trong khoa học máy tính, nhưng tôi không biết liệu nó có được chứng thực ở đâu đó dưới dạng một từ hay không [cập nhật: xem bình luận bên dưới, nó có một nghĩa khác]). Và [_bullet_](https://en.wikipedia.org/wiki/Bullet_(typography)) là một thuật ngữ đánh máy, chỉ định biểu tượng (thường là đĩa đen) giới thiệu một mục trong danh sách. Tôi không phải là người nói tiếng Anh bản ngữ, vì vậy hãy cẩn thận với những lời giải thích của tôi về điều đó!
lá cờ cn
Được chứ! cảm ơn. lần đầu tiên thấy từ gạch đầu dòng như thế này.
lá cờ us
Điều này đang lạc đề, nhưng với tư cách là một người nói tiếng Anh Mỹ bản ngữ đã học CS hơn 20 năm, đây là lần đầu tiên tôi thấy từ "butlast". Tôi sẽ sử dụng "áp chót" để chỉ mục thứ $(n-1)$ trong danh sách $n$ mục hoặc thậm chí là "tiếp theo" để nghe có vẻ ít lạ mắt hơn. Tìm kiếm nhanh (nghĩa là tôi có thể bỏ sót các cách sử dụng khác) cho thấy "butlast" được dùng để chỉ các mục từ 1 đến $n-1$ -- tất cả các mục trừ mục cuối cùng -- thay vì chỉ $(n-1)$th mục.

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