Computer >> Máy Tính >  >> Lập trình >> Lập trình

Kiểm tra tính nguyên bản trong An toàn thông tin là gì?

Kiểm tra tính nguyên thủy là một thuật toán để quyết định xem một số đầu vào có phải là số nguyên tố hay không. Một số bài kiểm tra tính nguyên thủy là xác định. Họ luôn quyết định một cách chính xác xem một số là số nguyên tố hay hợp số.

Bài kiểm tra tính nguyên sơ xác định nhanh nhất được biết đến được phát minh vào năm 2004. Có các nhà khoa học máy tính như Agrawal, Kayal và Saxena, đã phát minh ra phép kiểm tra tính nguyên thủy AKS hoạt động trong O˜ (log (n) 6 ) thời gian, trong đó O˜ (f (n)) được biểu diễn dưới dạng O (f (n) .log (f (n)) k ) đối với một số nguyên k [1]. Mặc dù là một bước đột phá đáng kể, nhưng tốc độ này khá chậm so với yêu cầu bảo mật thông tin.

Ưu điểm của số nguyên tố là chúng được sử dụng trong mật mã. Một trong những hệ thống mật mã tiêu chuẩn-thuật toán RSA cần một số nguyên tố làm khóa thường trên 1024 bit để cung cấp độ bảo mật cao hơn.

Khi xử lý với số lượng lớn như vậy, chắc chắn không tạo ra phương pháp sau bất kỳ tốt. Nó không chỉ đơn giản là làm việc với những con số lớn như vậy, đặc biệt là khi các hoạt động được thực hiện là / và% tại thời điểm kiểm tra tính sơ bộ.

Do đó, các thuật toán kiểm tra tính nguyên thủy tốt nhất được tạo ra chỉ có thể quyết định xem số được cung cấp là "số nguyên tố có thể xảy ra" hay số hỗn hợp.

Có các loại Kiểm tra tính chất nguyên thủy như sau -

  • Thuật toán xác định - Một thuật toán kiểm tra tính nguyên sơ xác định chấp nhận một số nguyên và liên tục xuất ra một số nguyên tố hoặc một hợp số. Thuật toán này luôn cung cấp một câu trả lời thích hợp.

  • Thuật toán chia hết - Kiểm tra tính nguyên sơ đơn giản nhất như sau -

    Cho một số đầu vào n, kiểm tra xem có bất kỳ số nguyên nào từ 2 đến n -1 chia cho n hay không. Nếu n chia hết cho m bất kỳ thì n là hợp số, ngược lại nó là hợp số. Tuy nhiên, thay vì bỏ qua tất cả m tối đa n - 1, điều quan trọng là chỉ kiểm tra m tối đa √n. Nếu n là hỗn hợp thì đơn vị có thể được tính thành hai giá trị, ít nhất một trong số đó phải nhỏ hơn hoặc bằng √n.

  • Thuật toán xác suất - Một thuật toán xác suất cung cấp một câu trả lời đúng hầu hết thời gian, nhưng không phải mọi lúc. Các phép thử này quyết định liệu n có thỏa mãn một hay nhiều điều kiện mà tất cả các số nguyên tố phải thỏa mãn hay không. Thuật toán xác suất khôi phục số nguyên tố hoặc hợp số phụ thuộc vào các quy tắc sau -

    • Nếu số nguyên cần kiểm tra thực sự là một số nguyên tố, thì thuật toán chắc chắn trả về số nguyên.

    • Nếu số nguyên được kiểm tra thực sự là một tổ hợp, nó trả về một tổ hợp với khả năng 1 - ε, nhưng nó có thể trả về một số nguyên tố với xác suất ε. Khả năng mắc lỗi có thể được nâng cao nếu nó có thể chạy thuật toán ‘m’ lần và xác suất lỗi giảm xuống còn Σ m .

Kiểm tra tính nguyên thủy Fermat - Kiểm định Nguyên tố Fermat bắt nguồn từ Định lý nhỏ của Fermat, phát biểu rằng nếu n là số nguyên tố thì n − 1 ≡ 1 (mod n). Với một đầu vào n và một n − 1 ≡ 1 (mod n). Nếu điều này không đúng, thì n là hợp số và n có lẽ là số nguyên tố. Thật không may, Kiểm tra tính nguyên sinh Fermat có chi phí sai số cao, với quá nhiều vật liệu tổng hợp có thể là nguyên tố.