Thuật toán lượng tử Grover cho phép tìm kiếm trong không gian 2n phần tử chỉ với O(2n/2) truy vấn, do đó làm giảm một nửa số bit an toàn của các sơ đồ dựa trên tìm kiếm khoá đối xứng hoặc tính kháng tiền ảnh (preimage resistance) của hàm băm. Đối với tính kháng va chạm (collision resistance) của hàm băm, thuật toán BHT (Brassard–Høyer–Tapp) đạt độ phức tạp O(2n/3) truy vấn lượng tử, tức mức an toàn hậu lượng tử còn lại xấp xỉ n/3 bit thay vì n/2 bit như trong mô hình cổ điển (birthday bound).
Cho T truy vấn, mỗi truy vấn gồm một ký tự loại S (khoá đối xứng hoặc kháng tiền ảnh hàm băm) hoặc C (kháng va chạm hàm băm) và một số nguyên n là mức an toàn cổ điển (tính bằng bit). Hãy tính mức an toàn hậu lượng tử còn lại theo công thức:
S: ⌊n/2⌋C: ⌊n/3⌋Ví dụ
Input:
3
S 256
C 256
S 128
Output:
128
85
64
Dòng đầu tiên chứa số nguyên T (T≥0) — số truy vấn.
T dòng tiếp theo, mỗi dòng chứa một ký tự S hoặc C, theo sau là một số nguyên không âm n, cách nhau bởi khoảng trắng.
In ra T dòng, mỗi dòng là một số nguyên — mức an toàn hậu lượng tử còn lại tương ứng với truy vấn cùng thứ tự ở input.
Ví dụ:
Đầu vào:
3
S 256
C 256
S 128
Đầu ra:
128
85
64
Đầu vào:
1
S 0
Đầu ra:
0
Đang tải editor...