2009-03-18 23 views
9

Tôi đang tìm kiếm các giải pháp giá cả phải chăng tạo ra các số ngẫu nhiên thực sự.Máy phát số ngẫu nhiên đúng (không giả). Cái gì ở ngoài đó?

Tôi đã tìm thấy LavaRnd, một trình tạo số ngẫu nhiên có mã hóa âm thanh. Có ai có kinh nghiệm trong lĩnh vực này và/hoặc biết về các giải pháp khác?

PS: IMHO SO câu hỏi True random number generator đã không thực sự trải này


EDIT:

sự tò mò của tôi là hơn của tính chất học thuật. Tôi không muốn biết về PRNGs đủ tốt cho các ứng dụng thực tế. Tôi biết họ tồn tại và họ sẽ làm.

Tất nhiên, tạo số ngẫu nhiên thực sự sẽ yêu cầu thiết bị phần cứng. Đó là lý do tại sao tôi đã gắn thẻ mã này với phần cứng .

+0

Bạn chỉ quan tâm đến việc tạo các số này trên máy tính của mình hay bạn cần chúng được tạo ở nơi khác, như máy tính khách? Tôi nghĩ rằng tôi nhớ một cái gì đó về việc tạo ra các số ngẫu nhiên dựa trên các điểm ảnh trong một bitmap. – WakeUpScreaming

+0

liên quan: ["Avalanche noise RNG để sử dụng một lần"] (http://crypto.stackexchange.com/questions/4005/avalanche-noise-rng-for-one-time-pad-use) tại Mật mã học Giao dịch cổ phiếu. –

+0

Bạn có thể thử [một tách trà nóng] (http://www.bbc.co.uk/cult/hitchhikers/guide/tea.shtml). –

Trả lời

0

True số ngẫu nhiên trong máy tính không tồn tại và sẽ không bao giờ xảy ra. Máy tính là xác định, trong đó nếu bạn lặp lại cùng một kinh nghiệm trong cùng một môi trường, kết quả tương tự sẽ đạt được.

gì bạn nhận được với các máy tính là những con số giả ngẫu nhiên, chủ yếu là tùy thuộc vào hoàn cảnh hiện tại: ngày, giờ, các biến khác như bộ nhớ được sử dụng, lưu lượng mạng vào lúc này, vv

Ví dụ, một số poker trực tuyến các trang web, để đảm bảo mức độ ngẫu nhiên của bàn tay xử lý của họ, phải cài đặt phần cứng cụ thể có tiếng ồn xung quanh và tạo ra các số ngẫu nhiên dựa trên đó (không chỉ vậy, nhưng nó là một yếu tố chính).

Vì vậy, để có số ngẫu nhiên giả gần đúng với ngẫu nhiên thực sự, bạn sẽ cần tính đến các yếu tố bên ngoài.

+1

Phát biểu đầu tiên của bạn là dưới sự tranh luận gay gắt trong cơ học lượng tử. –

+1

Ngẫu nhiên là điều bạn tin rằng tồn tại bởi vì bạn không biết nó xảy ra như thế nào. Ngay sau khi bạn khám phá ra cơ chế đằng sau khung cảnh, nó dừng lại là ngẫu nhiên. Nói chuyện về dự đoán những ngày mưa, ví dụ. Nó không thể được thực hiện 1000 năm trước và dường như là một sự kiện ngẫu nhiên; không còn nữa. – Seb

+0

@Seb: May mắn thay, máy tính có thể làm I/O, có nghĩa là họ có quyền truy cập vào ngẫu nhiên trong thế giới bên ngoài - xem câu trả lời của slim. –

6

Bạn không chỉ định môi trường.

Từ tài liệu cho Linux/dev/random

Các bộ tạo số ngẫu nhiên tập hợp tiếng ồn môi trường từ thiết bị điều khiển và các nguồn khác vào bể bơi entropy . Máy phát điện cũng giữ ước tính số bit của tiếng ồn trong hồ bơi entropy. Từ số số ngẫu nhiên của nhóm entropy này là được tạo.

Vì vậy, đây là một nguồn ngẫu nhiên mã hóa an toàn, dựa trên đầu vào không thể đoán trước từ những thứ như timings tùy ý các gói Ethernet, bàn phím và chuột đầu vào vv

Ngoài ra còn có Yarrow máy chủ PRNG Bruce Schneier của. Không thực sự ngẫu nhiên, nhưng được coi là an toàn về mặt mã hóa.

... và cũng EGD, Daemon thu thập Entropy. Được viết bằng Perl và do đó di động trên nhiều nền tảng.

+0

Tôi sẽ đánh cược rằng đây chính là những gì mà chương trình LavaRnd mà OP đã đề cập - Tôi không nghĩ LavaRnd bổ sung thêm bất cứ thứ gì không có sẵn trong hầu hết các hệ điều hành, ngoại trừ khả năng di động đa nền tảng. – rmeador

+1

Lava trong LavaRnd là một Lava thực sự đèn, các con số ngẫu nhiên được tính từ hình ảnh chụp với một webcam. Cuối cùng tôi nghe nói đây không phải là một tính năng trong hầu hết các hệ điều hành. – starblue

+2

Tôi không thấy tham chiếu đến đèn Lava trên trang web LavaRnd. Nó nói nguồn hỗn loạn của họ là một CCD trong một hộp tối. – slim

1

Có một bài viết trong c't 2/2009 về số ngẫu nhiên đúng và giả.Ngoài LavaRnd cũng RandCam và PadLock của VIA được thảo luận.

5

Tôi luôn muốn mua hoặc là PCI or USB Quantum Random Number Generator, nhưng tôi không biết giá của chúng là gì và thật ra nó có thể là rất nhiều! Họ cung cấp 16 Mibit/s và 4 Mibit/s tương ứng với số ngẫu nhiên, mặc dù có thể sử dụng trên cả hai hộp * NIX và Windows. Đó là nhiều hơn tôi từng cần!

Ngoài ra, làm thế nào 'bout một cuốn sách đầy đủ' em? A Million Random Digits with 100,000 Normal Deviates có lẽ là cuốn sách tuyệt vời nhất mà họ bán trên Amazon! Tôi chưa mua nó, nhưng nó chỉ là vấn đề thời gian. Phải rất tiện dụng để có một kho số ngẫu nhiên thực sự trên giá sách của bạn!

+0

Nếu bạn cần số ngẫu nhiên cố định, không đáng tin cậy, bạn chỉ có thể sử dụng random.org. Họ là ngẫu nhiên trong khi chúng được tạo ra bởi các hiện tượng vật lý ngẫu nhiên, nhưng không nên được sử dụng cho mục đích an ninh. Hoàn hảo cho Monte Carlo, nhưng không phù hợp cho an ninh. – nomen

+0

Có vẻ như giá thực sự khá cao, khoảng 1.000 bảng cho USB và 1.600 bảng cho PCI chậm nhất. Mặc dù vậy, một cách sử dụng tốt là xóa một ổ đĩa cứng với thứ gì đó như thế này 'cat/dev/random>/dev/hdb1' sẽ hoạt động tốt. (giả sử trình điều khiển của họ thay thế mặc định '/ dev/random' và thêm dữ liệu ngẫu nhiên vào nó.) –

2

Giải quyết đầy đủ vấn đề là một chủ đề rộng.

Trình tạo số ngẫu nhiên phần cứng tồn tại. Chúng sử dụng tiếng ồn nhiệt hoặc thậm chí các hiệu ứng lượng tử (trong các mô hình nhanh nhất) để tạo ra các số ngẫu nhiên chất lượng cao.

Có một số nghi ngờ rằng việc tạo số ngẫu nhiên tiếng ồn nhiệt có thể có "thành kiến". Điều đó có nghĩa là, một số con số được tạo ra thường xuyên hơn những con số khác, trong một thời gian dài. Các con số được tạo ra vẫn thực sự ngẫu nhiên.

Để xem điều này có thể như thế nào, hãy xem xét một đồng tiền không công bằng, cung cấp cho người đứng đầu 60% thời gian. Lật đồng xu vẫn là một quá trình ngẫu nhiên - nó chỉ là chúng ta nên mong đợi 60% trong số họ là người đứng đầu, về lâu dài. Việc diễn ra quá trình ngẫu nhiên mã hóa thông tin, hoặc "entropy", vì bất kỳ kết quả xác định nào cũng chỉ là một trong nhiều kết quả có thể xảy ra. Mặt khác, một chuỗi các đầu và đuôi được tạo ra với một đồng tiền không công bằng sẽ chứa ít thông tin hơn so với cùng một chuỗi được tạo ra với một đồng xu công bằng!

Kết quả là ở mức độ an toàn, có thể chứng minh được, bạn không muốn sử dụng số của trình tạo số ngẫu nhiên phần cứng một cách trực tiếp. Bạn muốn cho chúng ăn vào một nhóm entropy, những con số ngẫu nhiên (nhưng có thể thiên vị) có thể khuấy động. Trên thực tế, hầu hết các trình tạo số ngẫu nhiên phần cứng được thiết kế để nạp/dev/ngẫu nhiên, thông qua hạt nhân (hoặc tương đương với Windows), để giải quyết vấn đề thiên vị/entropy này.

Mặt khác, bất kỳ trình tạo số ngẫu nhiên phù hợp nào cũng sẽ đủ thống nhất để thực hiện mô phỏng Monte Carlo, nhanh chóng.

Các vấn đề liên quan