Cho đường cong elliptic dạng Weierstrass trên trường hữu hạn Zp (p là số nguyên tố lẻ):
E:y2≡x3+ax+b(modp),4a3+27b2≡0(modp).
Tập các điểm (x,y) thỏa mãn phương trình trên, cùng với một điểm đặc biệt gọi là điểm vô cực O (phần tử trung hòa), tạo thành một nhóm với phép cộng điểm được định nghĩa theo quy tắc hình học/đại số chuẩn:
Cho điểm P=(xP,yP) trên đường cong và số nguyên k≥0, hãy tính điểm kP=kP+P+⋯+P (quy ước 0⋅P=O), sử dụng thuật toán nhân đôi-và-cộng (double-and-add).
Ví dụ: với p=23,a=1,b=1, điểm P=(3,10) nằm trên đường cong (vì 102≡33+3+1≡8(mod23)). Ta có 2P=(7,12).
Dòng đầu tiên chứa ba số nguyên p a b (p nguyên tố lẻ, 5≤p<104, 0≤a,b<p, đảm bảo 4a3+27b2≡0(modp)). Dòng thứ hai chứa hai số nguyên xP yP (0≤xP,yP<p), là tọa độ điểm P nằm trên đường cong. Dòng thứ ba chứa số nguyên k (0≤k≤106).
Nếu kP là điểm vô cực, in ra chuỗi O (chữ O in hoa).
Ngược lại, in ra hai số nguyên x y (tọa độ điểm kP) cách nhau bởi một khoảng trắng.
Ví dụ:
Đầu vào:
23 1 1
3 10
0
Đầu ra:
O
Đầu vào:
23 1 1
3 10
1
Đầu ra:
3 10
Đang tải editor...