Trong lược đồ chữ ký số RSA dạng textbook (không băm, không đệm), bên ký sở hữu khóa bí mật d và công bố khóa công khai (n,e). Với bản tin m (biểu diễn dưới dạng số nguyên, 0≤m<n), chữ ký được tính là s=mdmodn.
Bên xác minh chỉ có (n,e) và cặp (m,s), kiểm tra tính hợp lệ bằng công thức:
semodn=?m
Nếu đẳng thức đúng thì chữ ký hợp lệ, ngược lại là không hợp lệ. Lưu ý: bài toán chỉ yêu cầu kiểm tra công thức toán học trên, không cần biết khóa bí mật d.
Cho bốn số nguyên n,e,m,s, hãy xác định chữ ký s có hợp lệ với bản tin m dưới khóa công khai (n,e) hay không.
Ví dụ: với n=3233,e=17,m=65,s=588, ta có 58817mod3233=65=m, nên chữ ký hợp lệ, in ra HOP LE.
Một dòng duy nhất gồm 4 số nguyên không âm n,e,m,s cách nhau bởi khoảng trắng (2≤n<1020, 0≤m,s<n, 1≤e<n).
In ra HOP LE nếu semodn=m, ngược lại in ra KHONG HOP LE (in hoa, không dấu, đúng chính tả như trên).
Ví dụ:
Đầu vào:
3233 17 65 588
Đầu ra:
HOP LE
Đầu vào:
3233 17 65 589
Đầu ra:
KHONG HOP LE
Đang tải editor...