Use your mbed and it\'s noisy analog inputs as a hardware random number generator!

Dependencies:   mbed SHA256

Committer:
Remco
Date:
Mon Jun 20 13:23:03 2011 +0000
Revision:
0:dda0a8c4ac0c

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Remco 0:dda0a8c4ac0c 1 #pragma once
Remco 0:dda0a8c4ac0c 2 #include <SHA256.h>
Remco 0:dda0a8c4ac0c 3 #include "mbed.h"
Remco 0:dda0a8c4ac0c 4
Remco 0:dda0a8c4ac0c 5 class EntropyPool: protected SHA256 {
Remco 0:dda0a8c4ac0c 6 public:
Remco 0:dda0a8c4ac0c 7 EntropyPool();
Remco 0:dda0a8c4ac0c 8
Remco 0:dda0a8c4ac0c 9 int entropy() { return e; }
Remco 0:dda0a8c4ac0c 10
Remco 0:dda0a8c4ac0c 11 void gather();
Remco 0:dda0a8c4ac0c 12
Remco 0:dda0a8c4ac0c 13 void gatherAnalogNoise(AnalogIn& input, int entropy = 8);
Remco 0:dda0a8c4ac0c 14
Remco 0:dda0a8c4ac0c 15 char* produce(int bytes);
Remco 0:dda0a8c4ac0c 16
Remco 0:dda0a8c4ac0c 17 FunctionPointer gatherer;
Remco 0:dda0a8c4ac0c 18
Remco 0:dda0a8c4ac0c 19 protected:
Remco 0:dda0a8c4ac0c 20 Timer timer;
Remco 0:dda0a8c4ac0c 21 int e;
Remco 0:dda0a8c4ac0c 22 };