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

Tạo số ngẫu nhiên đích thực là gì?

Trình tạo số ngẫu nhiên thực sự (TRNG) sử dụng nguồn không xác định để tạo ra sự ngẫu nhiên. Hầu hết hoạt động bằng cách đo các quá trình tự nhiên không thể đoán trước, bao gồm máy dò xung của các hoạt động bức xạ ion hóa, ống phóng điện và tụ điện bị rò rỉ.

Intel đã phát triển một con chip thương mại có thể sử dụng để lấy mẫu nhiễu nhiệt bằng cách phát triển điện áp được đo trên các điện trở chưa được kiểm chứng. TRNG tạo ra một số ngẫu nhiên thực sự và được tạo ra thường bằng phương pháp phần cứng.

Bởi vì số ngẫu nhiên do TRNG tạo ra rất phức tạp để dự đoán vì TRNG được tạo ra dựa trên một nguồn vật lý phức tạp để dự báo một giá trị ngẫu nhiên. Do đó, số ngẫu nhiên được tạo ra từ TRNG là một cách tiếp cận an toàn vì rất phức tạp để tạo ra giá trị bằng nhau.

Có những nguồn ngẫu nhiên có thể có sau đây, nếu cẩn thận, có thể được sử dụng đơn giản trên máy tính để tạo ra các chuỗi ngẫu nhiên thực sự.

Đầu vào âm thanh / video - Nhiều máy tính được cấu tạo với đầu vào số hóa một số nguồn analog trong thế giới thực, bao gồm âm thanh từ micrô hoặc đầu vào video từ máy ảnh.

“Đầu vào” từ một bộ số hóa âm thanh không được cắm vào hoặc từ một máy ảnh có nắp ống kính được bật về cơ bản là tiếng ồn nhiệt. Nếu hệ thống có độ lợi thích hợp để xác định bất kỳ thứ gì, thì đầu vào đó có thể hỗ trợ các bit ngẫu nhiên chất lượng cao hợp lý.

Ổ đĩa - Ổ đĩa được biết là có những dao động ngẫu nhiên nhỏ về tốc độ quay của chúng do sự hỗn loạn không khí hỗn loạn. Việc mở rộng thiết bị đo thời gian tìm kiếm đĩa mức thấp tạo ra một chuỗi các phép đo bao gồm tính ngẫu nhiên này.

Những dữ liệu này thường có tính tương quan cao, do đó cần phải xử lý đáng kể. Tuy nhiên, thử nghiệm cách đây một thập kỷ cho thấy rằng, với quá trình xử lý như vậy, ngay cả các ổ đĩa chậm trên các máy tính chậm hơn ngày đó cũng có thể tạo ra 100 bit một phút hoặc nhiều hơn thông tin ngẫu nhiên tuyệt vời.

TRNG có thể tạo ra kết quả sai lệch theo một số phương pháp, bao gồm cả việc có nhiều giá trị hơn số không 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ỏ độ lệch đã được phát triển. Chúng được định nghĩa là các thuật toán khử lệch.

Một phương pháp để khử xiên là truyền luồng bit qua một hàm băm. Hàm băm tạo ra một đầu ra n-bit từ một đầu vào có độ dài tùy ý. Để khử lệch, các khối gồm m bit đầu vào với m ≥ n có thể được chấp nhận thông qua hàm băm.

TRNG quá đơn điệu và các trình tạo số ngẫu nhiên giả phức tạp (công thức) có thể truy cập được nhiều. TRNG có thể sử dụng như các nguồn nhiễu vật lý hoặc phi vật lý.

Trong các thiết bị logic, các nguồn nhiễu vật lý bị hạn chế hoàn toàn, vì các thiết bị logic được cho là luôn ở trạng thái rõ ràng. Nó có thể tạo ra một số ngẫu nhiên và nó đòi hỏi một hiện tượng ngẫu nhiên không thể kiểm soát được.

Các hiện tượng vật lý thường được sử dụng để tạo ra các số ngẫu nhiên trong các thiết bị logic như sau -

  • Đồng hồ rung lắc - Đó là sự sửa đổi của cạnh đồng hồ so với vị trí lý tưởng của nó.

  • Khả năng di chuyển - Đó là khả năng của một mạch điện để tồn tại ở trạng thái vô hạn trong một khoảng thời gian mơ hồ.

  • Hỗn loạn - Đó là một hành vi không thể đoán trước của một hệ thống xác định, hệ thống này đáp ứng rất tốt với các điều kiện ban đầu của nó.

  • Tín hiệu tương tự - Trong tín hiệu tương tự, nó bao gồm tiếng ồn bắn của một diode, tiếng ồn nhiệt, v.v.