Thuật toán chữ ký số ECDSA trên đường cong elliptic E:y2≡x3+ax+b(modp) với điểm cơ sở G=(Gx,Gy) có bậc (order) n (nghĩa là nG=O) hoạt động như sau. Cho khóa bí mật d (1≤d<n), giá trị băm thông điệp đã được rút gọn thành số nguyên e (0≤e<n, để đơn giản đề bài cho sẵn e thay vì tính từ hàm băm thật), và một số ngẫu nhiên (nonce) k (1≤k<n, đảm bảo gcd(k,n)=1):
Chữ ký là cặp (r,s). Cho T bộ dữ liệu, hãy tính chữ ký (r,s) cho mỗi bộ.
Ví dụ: p=97,a=2,b=3,G=(0,10),n=50,d=7,e=3,k=13⇒(r,s)=(37,24).
T dòng, mỗi dòng in "r s" cách nhau một khoảng trắng.
Ví dụ:
Đầu vào:
1
97 2 3 0 10 50 1 0 3
Đầu ra:
23 41
Đầu vào:
1
97 2 3 0 10 50 7 3 13
Đầu ra:
37 24
Đang tải editor...