Một chương trình sinh khóa RSA cần kiểm tra đầy đủ điều kiện trước khi phát hành khóa, thay vì tin tưởng mù quáng đầu vào. Cho ba số nguyên dương p,q,e (không đảm bảo p,q là số nguyên tố), hãy thực hiện tuần tự:
INVALID.INVALID.VALID n phi(n) d.Ví dụ: p=61,q=53,e=17 đều thỏa mãn ⇒ in VALID 3233 3120 2753. Với p=4 (không phải số nguyên tố) ⇒ in INVALID.
Một dòng gồm ba số nguyên p q e cách nhau bởi khoảng trắng (1≤p,q≤1012, 0≤e≤1012).
Nếu điều kiện ở bước 1 hoặc bước 2 không thỏa, in ra đúng chuỗi INVALID.
Ngược lại, in ra một dòng VALID n phi d (bốn giá trị cách nhau bởi khoảng trắng: chuỗi "VALID", rồi n, φ(n), d).
Ví dụ:
Đầu vào:
61 53 17
Đầu ra:
VALID 3233 3120 2753
Đầu vào:
4 7 3
Đầu ra:
INVALID
Đang tải editor...