mirror of
https://github.com/apache/nuttx.git
synced 2026-06-06 16:50:55 +08:00
Add entropy pool and strong random number generator
Entropy pool gathers environmental noise from device drivers, user-space, etc., and returns good random numbers, suitable for cryptographic use. Based on entropy pool design from *BSDs and uses BLAKE2Xs algorithm for CSPRNG output. Patch also adds /dev/urandom support for using entropy pool RNG and new 'getrandom' system call for getting randomness without file-descriptor usage (thus avoiding file-descriptor exhaustion attacks). The 'getrandom' interface is similar as 'getentropy' and 'getrandom' available on OpenBSD and Linux respectively.
This commit is contained in:
committed by
Gregory Nutt
parent
21545ab643
commit
dffb8a67e3
@@ -64,6 +64,7 @@
|
||||
#include <nuttx/fs/fs.h>
|
||||
#include <nuttx/i2c/i2c_master.h>
|
||||
#include <nuttx/wqueue.h>
|
||||
#include <nuttx/random.h>
|
||||
|
||||
#include <nuttx/semaphore.h>
|
||||
#include <nuttx/input/touchscreen.h>
|
||||
@@ -889,6 +890,8 @@ static void mxt_touch_event(FAR struct mxt_dev_s *priv,
|
||||
sample->pressure = pressure;
|
||||
sample->valid = true;
|
||||
|
||||
add_ui_randomness((x << 16) ^ y ^ (area << 9) ^ (pressure << 1));
|
||||
|
||||
/* If this is not the first touch report, then report it as a move:
|
||||
* Same contact, same ID, but with a new, updated position.
|
||||
* The CONTACT_REPORT state means that a contacted has been detected,
|
||||
|
||||
Reference in New Issue
Block a user