Bộ tạo số ngẫu nhiên thực sự (TRNG) sử dụng nguồn phi xác định để tạo ngẫu nhiên. Hầu hết hoạt động bằng cách đo lường các quá trình tự nhiên không thể dự đoán, bao gồm bộ détect xung của hoạt động bức xạ ion hóa, ống phóng điện khí và tụ điện rò rỉ.
Intel đã phát triển chip có sẵn thương mại lấy mẫu nhiễu nhiệt bằng cách phát triển điện áp được đo qua các điện trở không điều khiển. TRNG tạo số ngẫu nhiên thực sự và thường được sản xuất bằng phương pháp phần cứng.
Vì số ngẫu nhiên do TRNG tạo ra khó dự đoán vì TRNG được tạo dựa trên nguồn vật lý khó dự đoán giá trị ngẫu nhiên. Do đó, số ngẫu nhiên tạo ra từ TRNG là phương pháp an toàn vì khó tạo ra giá trị giống nhau.
Có các nguồn ngẫu nhiên sau có thể, với sự cẩn thận, dễ dàng được sử dụng trên máy tính để tạo các chuỗi ngẫu nhiên thực sự:
Đầu vào Âm thanh/Video
Nhiều máy tính được xây dựng với các đầu vào số hóa một số nguồn analog thực tế, bao gồm âm thanh từ micro hoặc đầu vào video từ camera.
"Đầu vào" từ bộ số hóa âm thanh không có thiết bị kết nối hoặc từ camera có nắp ống kính về cơ bản là nhiễu nhiệt. Nếu hệ thống có độ tăng đủ để nhận diện bất cứ thứ gì, đầu vào như vậy có thể cung cấp các bit ngẫu nhiên chất lượng khá cao.
Ổ cứng
Ổ cứng được biết đến có những dao động ngẫu nhiên nhỏ trong tốc độ quay của chúng do loạn lưu không khí hỗn loạn. Sự mở rộng của thiết bị đo tìm kiếm cấp thấp của ổ cứng tạo ra chuỗi các phép đo bao gồm ngẫu nhiên này.
Dữ liệu như vậy thường có tương quan cao, do đó cần xử lý đáng kể. Tuy nhiên, thí nghiệm một thập kỷ trước đã chỉ ra rằng, với xử lý như vậy, ngay cả ổ cứng chậm trên máy tính chậm hơn của ngày đó cũng có thể dễ dàng tạo 100 bit mỗi phút hoặc nhiều hơn thông tin ngẫu nhiên tuyệt vời.
Một TRNG có thể tạo ra đầu ra bị chệch theo một số cách, bao gồm có nhiều số 1 hơn số 0 hoặc ngược lại. Có nhiều phương pháp thay đổi luồng bit để giảm hoặc loại bỏ chệch đã được phát triển. Chúng được gọi là thuật toán khử chệch (de-skewing algorithms).
Một phương pháp khử chệch là truyền luồng bit qua hàm băm. Hàm băm tạo ra đầu ra n-bit từ đầu vào độ dài tùy ý. Để khử chệch, các khối m bit đầu vào với m ≥ n có thể được xác nhận qua hàm băm.
TRNG quá đơn điệu và bộ tạo số giả ngẫu nhiên (công thức) có sẵn nhiều. TRNG có thể sử dụng các nguồn nhiễu vật lý hoặc phi vật lý.
Trong thiết bị logic, các nguồn nhiễu vật lý hoàn toàn bị hạn chế, vì thiết bị logic được cho là luôn ở trạng thái rõ ràng. Để tạo số ngẫu nhiên, cần một hiện tượng ngẫu nhiên không thể kiểm soát.
Các hiện tượng vật lý thường được dùng để tạo số ngẫu nhiên trong thiết bị logic như sau:
- Nhấp nháy đồng hồ (Clock jitter) - Là sự sửa đổi của cạnh đồng hồ từ vị trí lý tưởng của nó.
- Trạng thái si (Metastability) - Là khả năng của mạch tồn tại ở trạng thái vô hạn trong khoảng thời gian không xác định.
- Hỗn loạn (Chaos) - Là hành vi không thể dự đoán của hệ thống xác định, phản ứng mạnh mẽ với điều kiện ban đầu.
- Tín hiệu Analog - Trong tín hiệu analog bao gồm nhiễu bắn của diode, nhiễu nhiệt, v.v.