Tôi chưa quen với Mật mã đường cong Elliptic và đang thực hiện thử thách CTF sử dụng Đường cong Elliptic. Hiện tại, tôi đang cố gắng tìm máy phát điện, $G$, và được cung cấp khóa công khai và khóa riêng, $P$ và $k$, s.t. $P = [k]G$, cũng như một điểm ngẫu nhiên khác trên đường cong. Tôi biết thứ tự, $n$, của nhóm, và tôi biết hai số nguyên tố, $p$ và $q$, đó là những yếu tố duy nhất của $n$.
Tôi đọc rằng nếu bạn có khóa riêng và khóa chung, bạn có thể tính trình tạo là ...
$$G = [k^{-1}]P\pmod n$$
... ở đâu $k^{-1} = n - k$.
Điều đó thật tuyệt, nhưng thật không may, tôi không biết các thông số, $a$ và $b$, của đường cong elip, $y^2 = x^3 + ax + b$, và vì vậy tôi gặp khó khăn khi thực hiện phép nhân điểm EC với $k^{-1}$.
Tôi đang nghĩ, vì tôi biết giá trị của hai điểm trên đường cong, nên về cơ bản tôi có hệ phương trình tuyến tính sau:
\begin{align}
y_1^2 &= x_1^3 + ax_1 + b\
y_2^2 &= x_2^3 + ax_2 + b\
\end{align}
Tôi đã thử giải bài này bằng cách sử dụng trình giải định lý z3 nhưng nhận được câu trả lời khẳng định rằng hệ không thỏa mãn. Sau đó, tôi đã thử sửa đổi hệ phương trình của mình để cả hai vế của phương trình được tính theo modulo $n$, nhưng điều này dẫn đến việc z3 mất nhiều thời gian để tìm ra giải pháp, có lẽ là do $a$ và $b$ là các số 128 bit và $n$ là một số 512-bit. Điều này khiến tôi nghĩ lại về các lớp khoa học máy tính đại học của mình, nơi tôi nhớ đã học về các vấn đề khác nhau trong khoa học máy tính và điều này có vẻ giống với Lập trình số nguyên, đó là NP-đầy đủ.
Do đó, có thể tính toán hiệu quả các tham số, $a$ và $b$, của một đường cong elip nếu tôi biết thứ tự $n$ và hai điểm $P$ và $Q$ trên đường cong?