Chúng ta có thể sử dụng duy nhất một khóa k tương đối ngắn (bao gồm 160 bit ngẫu nhiên) để gửi những thông điệp dài tùy ý một cách an toàn và hiệu quả không? Giả sử chúng ta có thể xây dựng một hàm số
R :K ×Z→ {0,1}
với các tính chất sau đây:
Với mọi k∈ K và mọi j ∈Z dễ dàng để tính toán R(k, j).
Với một chuỗi dài tùy ý các số nguyênj1, j2,· · · , jnvà với mọi giá trịR(k, j1), R(k, j2),· · · , R(k, jn), rất khó để xác định k.
Với dãy bất kì của các số nguyên j1, j2,· · · , jn và với mọi giá trị
R(k, j1), R(k, j2),· · ·, R(k, jn),
rất khó để đoán giá trị của R(k, j) với hơn 50% cơ hội thành công với bất kỳ giá trị của j không có trong danh sách.
Nếu chúng ta có thể tìm được một hàm sốR với ba tính chất này, thì chúng ta có thể sử dụngR để biến một khóa k ban đầu thành một chuỗi các bit
R(k,1), R(k,2), R(k,3), R(k,4),· · · ,
Vấn đề cơ bản với phương pháp này là chuỗi các bit là không thực sự ngẫu nhiên vì chuỗi các bit được tạo ra bởi hàm số R. Thay vì, chúng ta nói rằng chuỗi các bit là một chuỗi giả ngẫu nhiên, chúng ta gọi là R một số giả ngẫu nhiên nguyên âm.
Một số giả ngẫu nhiên nguyên âm có tồn tại không? Nếu tồn tại, chúng sẽ cung cấp các ví dụ về các hàm số trong những các định nghĩa bởi Diffie và Hellman, nhưng mặc dù đã mất hơn một nửa thế kỷ để nghiên cứu, vẫn chưa có ai chứng minh được sự tồn tại của giả ngẫu nhiên nguyên âm
Mặc dù chưa có ai chứng minh được rằng một số giả ngẫu nhiên nguyên âm là có tồn tại, nhiều các ứng cử viên đã được đề xuất. Có hai cách tiếp cận cơ bản để xây dựng các ứng cử viên cho R, và hai phương pháp này cung cấp một ví dụ tốt về sự xung đột cơ bản trong lý thuyết mật mã giữa an toàn và hiệu quả.
Cách tiếp cận đầu tiên là liên tục áp dụng sự kết hợp đặc biệt của các phép toán phù hợp tốt để tính toán hiệu quả và có vẻ như là rất khó khăn để gỡ rối. Phương pháp này là cơ bản nhất cho thuật toán mã hóa đối xứng, bao gồm tiêu chuẩn mã hóa dữ liệu (DES) và tiêu chuẩn mã hóa nâng cao (AES), đó là hai hệ thống sử dụng rộng rãi nhất hiện nay.
Phương pháp tiếp cận thứ hai để xây dựng R sử dụng hàm số có hiệu quả đảo ngược được biết đến như một vấn đề toán học mà được cho là khó khăn. Cách tiếp cận này cung cấp một nền tảng lý thuyết thỏa đáng hơn cho một thuật toán mã hóa đối xứng, không may, tất cả các công trình xây dựng nổi tiếng của loại này không hiệu quả bằng các công trình đặc biệt, và do đó có ít hấp dẫn hơn với các ứng dụng thực tế.