Підключіть АЦП до апаратного джерела шуму і використовуйте програмне забезпечення для "відбілювання" випадкових чисел, якщо це необхідно.
Ось проект на основі AVR, який робить це: Міні-портативний генератор випадкових чисел Leon (mPRNG)
Залежно від того, наскільки криптографічно захищеним це потрібно, ви можете використовувати шум заземленого аналогового входу або " внутрішнього датчика температури " як насіння випадковості замість зовнішнього обладнання.
Оновлення : пізніше я написав програму для Arduino, яка використовує таймери мікросхем як джерело ентропії (АЦП виявився марним, оскільки шумні біти усічені), і це надихнуло на створення бібліотеки "Ентропія" .
В обох випадках випадковість відбувається не, наприклад, від самого значення температури, яке змінюється лише повільно, а від найменш значущих біт , які змінюються випадковим чином від одного зчитування до іншого. Я читаю значення кілька разів, один раз за кожен біт виводу, бітсіфтінг і XORing з попереднім прочитаним. XORing по-справжньому випадковий біт з некоррельованим бітом зберігає випадковість , тому випадковість поширюється навколо всіх біт і стає справжнім білим шумом. Однак швидкість передачі даних не буде дуже високою, оскільки ви отримуєте лише один біт виходу за час придбання або цикл таймера. Методом таймера я отримував близько 64 біт / с.