Hàm một phía (one-way functions) là một khái niệm cơ bản của mã hoá công khai. Việc nhân hai số nguyên tố là một ví dụ về hàm một phía, nhân các số nguyên tố lớn để tạo thành một hợp số là dễ , nhưng công việcngược lạiphân tích mộtsố nguyên lớn thành dạng thừa số nguyên tố lại là một bài toán khó (chưa có một thuật toán tốt).
Các thuật toán mã hoá khóa công khai đều cần phải sử dụng các số nguyên tố . Có một số phương pháp để sinh ra số nguyên tố và hầu hết chúng đều dựa trên các thuật toán kiểm tra tính nguyên tố của một số nguyên . Tuy nhiên có mộ tsố vấ n đề được đặ tra đối với số nguyên tố như sau
- Trong một hệ thống có thể đảm bảo hai người dùng sẽ được sử dụ ng hai số nguyên tố khác nhau hay không ? Câu trả lời là có thể vì có tới 10150 số nguyên tố có đô ̣ dài 512 bits hoặc nhỏ hơn.
- Khả năng hai người dùng sẽ lựa chọn cùng một số nguyên tố là bao nhiêu . Với sự lựa chọn từ 10150 số nguyên tố, điều kỳ xảy ra với xác xuất nhỏ hơn so với sự tự bốc cháy của máy tính.
Các loại thuật toán kiểm tra số nguyên tố được chia làm hai loại : thuật toán tất định và thuật toán xác suất. Các thuật toán tất định cho chúng ta biết chính xác câu trả lời một số nguyên có phải là một số nguyên tố hay không còn một thuật toán xác suất cho biết xác suất của một số nguyên là một số nguyên tố là bao nhiêu . Trong phần này sẽ trình bày một số thuật toán kiểm tra số nguyên tố phổ biến.