Thật không may / dev / ngẫu nhiên cũng không phù hợp để sử dụng trong một lần, ít nhất không phải là loại đệm một lần (với các đảm bảo an ninh có thể chứng minh được) mà hầu hết mọi người tưởng tượng khi họ nghĩ hoặc thực hiện các miếng đệm một lần. Hầu hết các thông tin dưới đây được tóm tắt từ bài viết (rất dài) tại http://www.2uo.de/myths-about-urandom/
Vấn đề là / dev / ngẫu nhiên không thực sự ngẫu nhiên; nó sử dụng CSPRNG để tạo đầu ra của nó. Trong thực tế, / dev / ngẫu nhiên sử dụng chính xác CSPRNG như / dev / urandom. Sự khác biệt duy nhất là khối / dev / ngẫu nhiên nếu ước tính nội bộ của entropy là không đủ.
Từ "ước tính" trong câu trước là chìa khóa. Hầu hết mọi người nghĩ rằng ước tính này luôn chính xác và hoàn hảo, nhưng thực tế nó không hoàn toàn chính xác. Ngay lập tức ước tính là sai, bạn mất tất cả các bảo đảm bảo mật có thể chứng minh được của bộ đệm một lần và tất cả những gì bạn còn lại là bảo mật tính toán - không tốt hơn nếu bạn đã sử dụng / dev / urandom!
Lấy ước tính entropy chỉ một chút sai không làm cho phần đệm một lần của bạn chỉ hơi bất an. Đảm bảo an ninh có thể chứng minh của một lần một pad là tất cả hoặc không có gì.
Tiền đề của câu hỏi này là các vấn đề với / dev / ngẫu nhiên có thể được "sửa" bằng cách thêm entropy. Thật không may, tiền đề này là sai. Một nguồn entropy độc hại tệ hơn nhiều so với không có entropy, bởi vì các nguồn entropy thường có quyền truy cập vào dữ liệu nội bộ và có thể xuất dữ liệu này một cách tình cờ bằng đầu ra RNG - xem http://blog.cr.yp.to/20140205-entropy .html cho một cuộc thảo luận đầy đủ (quá dài để tóm tắt ở đây). Cụ thể, một nguồn entropy phần cứng (như được đề xuất bởi một số câu trả lời khác) là một lựa chọn rất tệ từ góc độ bảo mật, vì phần cứng đó ở vị trí chính để làm những việc độc hại và về cơ bản là không thể nghe được.