Trong RSA, số mũ công khai e thường được chọn là một số nguyên tố Fermat nhỏ — tức số có dạng 22k+1 — vì khi đó e−1 là một lũy thừa của 2, giúp phép lũy thừa modulo (mã hóa) chỉ cần các bước bình phương liên tiếp (thuật toán square-and-multiply rất hiệu quả). Các giá trị e phổ biến trong thực tế là 3,5,17,257,65537 — tất cả đều là số nguyên tố Fermat đã biết.
Cho một số nguyên e. Hãy phân loại:
NOT_PRIME.VALID_RSA_EXPONENT.PRIME_NOT_FERMAT.Input:
17
Output:
VALID_RSA_EXPONENT
Giải thích: 17 là số nguyên tố và 17−1=16=24, nên 17 là một số mũ công khai RSA hợp lệ theo tiêu chí trên.
Một dòng duy nhất chứa số nguyên e (2≤e≤107).
Một dòng: NOT_PRIME, hoặc PRIME_NOT_FERMAT, hoặc VALID_RSA_EXPONENT.
Ví dụ:
Đầu vào:
7
Đầu ra:
PRIME_NOT_FERMAT
Đầu vào:
2
Đầu ra:
VALID_RSA_EXPONENT
Đang tải editor...