Có sự nhầm lẫn về thuật ngữ đường cong Elliptic trong câu hỏi này. Hãy giải quyết một số trong số họ;
Đường cong elip
Về mặt đại số, một đường cong elliptic là
$$E(\mathbb{K}) := \{ (x, y) \in \mathbb{K}^2 \mid y^2+a_1xy+a_3y = x^3+a_2x^2+a_4x+a_6\ } \cup \{\mathcal O\}$$
$\{\mathcal O\}$ Là điểm ở vô cực được thêm vào dưới dạng bổ sung mà không có biểu diễn nào trong hình dạng hình học của đường cong.
Các điểm là $(x,y)$ tuple mà thỏa mãn phương trình đường cong nên chúng không phải là số nguyên!
cộng điểm
Việc bổ sung điểm có một ý nghĩa hình học rất tốt. Trong hình bên dưới $P,Q,R$ đại diện cho các điểm trên đường cong và $\{\mathcal O\}$ được đại diện như $0$
và chúng tôi trích xuất phương trình số học từ điều này (quy tắc hợp âm tiếp tuyến). Để biết chi tiết về việc trích xuất, hãy xem Chương 2 cuốn sách của Washington.
Các điểm của một đường cong tạo thành một nhóm Abelian dưới toán tử cộng điểm với phần tử nhận dạng $\{\mathcal O\}$.
Nhân bản vô tính
Khi chúng ta thêm một điểm $P$ với chính nó, chúng tôi nói nhân đôi một số người viết như $2P$, tuy nhiên, cách phổ biến và tốt hơn để viết nó là $[2]P$. Cho nên $[2]P = P + P$.
Tương tự, chúng ta có thể nói về việc thêm ba lần, bốn lần hoặc $t$ lần.
$$[t]P : = \underbrace{P + P + \cdots + P}_{t-times}$$
Đây là những gì chúng tôi gọi là nhân bản vô tính (thực ra là Mô-đun Z cho các nhóm Abelian)
Máy phát điện
Một trình tạo của một nhóm tuần hoàn là một phần tử $G$ như vậy khi $G$ được thêm vào chính nó nhiều lần, nó sẽ tạo ra tất cả các phần tử của nhóm (Xin lỗi vì lý thuyết gia của nhóm, các chữ in hoa xung đột ở đây - một phần tử $g$ của một nhóm $G$ là máy phát điện nếu $\langle g \rangle = G$).
Trật tự
Lệnh có hai cách sử dụng trong ECC
Thứ tự của đường cong Elliptic $|\#E(\mathbb{K})|$ có nghĩa là số phần tử của đường cong
Thứ tự của một phần tử.
Khi đường cong có thứ tự nguyên tố như trong Secp256k1 thì mọi phần tử có cùng thứ tự với thứ tự đường cong và điều này có nghĩa là mọi phần tử đều là trình tạo.
Quay lại câu hỏi của bạn
Trong Secp256k1, điểm cơ sở
G = (55066263022277343669578718895168534326250603453777594175500187360389116729240,
83121579216557378445487899878180864668798711284981320763518679672151497189239 )
và thứ tự của điểm cơ sở $n$ Là
n = 115792089237316195423570985008687907852837564279074904382605163141518161494337
Thứ tự có nghĩa là $[n]G = \mathcal{O}$ và chúng ta có thể sử dụng điều này để rút ra phương trình dưới đây
$$[k]P = [ k \bmod n]P$$
Vì vậy, những gì bạn làm là với $+2$ Là
$$[n-1]G + [2]G = [n-1+2]G = [n+1]G = [1]G = G$$
Vì vậy, những gì bạn làm là với $+1$ Là
$$[n-1]G + [1]G = [n-1]G = [n]G = \mathcal{O}$$
Hãy kết thúc với xác minh SageMath;
#secp256k1
p = Số nguyên("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC2F")
a = Số nguyên("0x00000000000000000000000000000000000000000000000000000000000000000")
b = Số nguyên("0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007")
K = GF(p)
E = EllipticCurve(K,[a,b])
in(E)
G = E(Số nguyên("0x79BE667EF9DCBBAC55A06295CE870B07029BFCDB2DCE28D959F2815B16F81798"),
Số nguyên("0x483ADA7726A3C4655DA4FBFC0E1108A8FD17B448A68554199C47D08FFB10D4B8"))
in("\nG =",G)
n = G.order()
print("\nLệnh của G =",n)
G2 = 2*G
Q = (n-1)*G + 2*G
in("\n[n-1]G+[2]G =",Q)
khẳng định (Q == G)
R = (n-1)*G +G
in("\n[n-1]G+G =",Q)
in(R)
và đầu ra là
Đường cong elip được xác định bởi y^2 = x^3 + 7 trên Trường hữu hạn có kích thước 115792089237316195423570985008687907853269984665640564039457584007908834671663
G = (55066263022277343669578718895168534326250603453777594175500187360389116729240 : 32670510020758816978083085130507043184471273380659243275938904335757337482424 : 1)
Đơn hàng của G = 115792089237316195423570985008687907852837564279074904382605163141518161494337
[n-1]G+[2]G = (55066263022277343669578718895168534326250603453777594175500187360389116729240 : 32670510020758816978083085130507043184471273380659243275938904335757337482424 : 1)
[n-1]G+G = (55066263022277343669578718895168534326250603453777594175500187360389116729240 : 32670510020758816978083085130507043184471273380659243275938904335757337482424 : 1)
(0 : 1 : 0)