Hubungkan ADC ke sumber derau perangkat keras dan gunakan perangkat lunak untuk "memutihkan" angka acak jika perlu.
Berikut adalah proyek berbasis AVR yang melakukan ini: Mini Portable Random Number Generator (mPRNG) Leon
Bergantung pada seberapa aman pengamanan kriptografi, Anda dapat menggunakan derau input analog yang di-ground atau " sensor suhu internal " sebagai seed randomness Anda alih-alih perangkat keras eksternal.
Pembaruan : Saya kemudian menulis sebuah program untuk Arduino yang menggunakan penghitung waktu chip sebagai sumber entropi (ADC ternyata tidak berguna karena bit yang berisik dipotong), dan ini mengilhami pembuatan perpustakaan Entropy .
Dalam kedua kasus, keacakan bukan dari, misalnya, nilai suhu itu sendiri, yang hanya berubah secara perlahan, tetapi dari bit yang paling signifikan , yang bervariasi secara acak dari satu pembacaan ke yang berikutnya. Saya membaca nilai beberapa kali, sekali untuk setiap bit output, bitshifting dan XORing dengan bacaan sebelumnya. XORing bit yang benar-benar acak dengan bit yang tidak berkorelasi menjaga keacakan , sehingga keacakan menyebar ke semua bit dan itu menjadi white noise benar. Namun, bit rate Anda tidak akan terlalu tinggi, karena Anda hanya mendapatkan satu bit output per waktu akuisisi atau siklus timer. Dengan metode timer, saya mendapatkan sekitar 64 bit / s.