Một hệ thống dùng RSA với số mũ công khai nhỏ e=3 để mã hóa bản rõ m mà không áp dụng đệm (no padding): c=m3modn.
Nếu bản rõ đủ nhỏ sao cho m3<n thì phép lấy modulo không thực sự "cuộn" (không có phép rút gọn nào xảy ra), tức là c chính là giá trị m3 theo số học thông thường (không phải chỉ đồng dư). Khi đó kẻ tấn công chỉ cần biết c là đã có thể khôi phục m bằng cách lấy căn bậc ba nguyên của c, không cần biết khóa bí mật.
Cho hai số nguyên n và c (đảm bảo tồn tại số nguyên không âm m sao cho m3=c đúng theo số học thông thường, và m3<n), hãy khôi phục m.
Ví dụ: với c=1000, ta có m=10 vì 103=1000.
Một dòng gồm 2 số nguyên n,c cách nhau bởi khoảng trắng (1≤n<10100, 0≤c<n, c là lập phương đúng của một số nguyên không âm).
In ra duy nhất số nguyên m thỏa m3=c.
Ví dụ:
Đầu vào:
3233 0
Đầu ra:
0
Đầu vào:
3233 1
Đầu ra:
1
Đang tải editor...