Các Tiêu chuẩn cách là bằng cách sử dụng công cụ ước tính LWE (nếu nó là giản dị hay không thì còn phải bàn cãi).
Nó ước tính chi phí của các cuộc tấn công đã biết đối với các phiên bản LWE đã cung cấp các tham số
$n$, $\alpha$, và $q$, ở đâu $\alpha$ đại diện cho tỷ lệ nhiễu và có thể thu được từ tham số $\sigma$ từ Gaussian rời rạc sử dụng công thức $\alpha = \sqrt{2 \pi} \cdot \sigma / q$, đã được thực hiện trong lệnh alpha = alphaf(sigmaf(sigma), q)
.
Công cụ ước tính về cơ bản tìm thấy kích thước khối $\beta$ mà thuật toán BKZ sẽ phải sử dụng để giải quyết vấn đề LWE. Nhưng ước tính thời gian chạy của BKZ-$\beta$ không đơn giản, vì vậy, để có được mức độ bảo mật thực tế, bạn phải chọn một mô hình chi phí cho BKZ.
Nói tóm lại, BKZ chạy trên một mạng có kích thước $d$ và thực hiện một số cuộc gọi đến bộ giải SVP theo chiều $\beta$. Nhà tiên tri SVP thường được cho là yêu cầu $2^{0,292\cdot \beta}$ hoạt động trong một máy tính cổ điển và $2^{0,265\cdot \beta}$ trong một lượng tử.
Như vậy, sử dụng reduce_cost_model=BKZ.sàng
trong công cụ ước tính LWE sẽ cung cấp cho bạn số lượng hoạt động như $2^{0,292\cdot \beta + 16,4 + \log_2(8 \cdot d)}$ và bạn muốn nó lớn hơn $2^\lambda$ vì $\lambda$ chút bảo mật.
Một số người bảo thủ hơn (hoang tưởng?) và bỏ qua chi phí liên quan đến kích thước $d$ và nhiều lệnh gọi đến SVP oracle, do đó, họ ước tính số lượng hoạt động của BKZ dưới dạng một lệnh gọi đến bộ giải SVP, do đó, họ nhận được $2^{0,292\cdot \beta}$ hoặc $2^{0,265\cdot \beta}$. Đây được gọi là mô hình chi phí "core-SVP" và nó được sử dụng, ví dụ, để ước tính độ an toàn của SABER.