Entropy, relayed from real RTL-SDR hardware

kordlessagain1 pts0 comments

sdrrand — true-random entropy relay

sdrrand v0.1.0

True-random entropy, relayed from real RTL-SDR hardware.

Contributors run sdr-rand<br>against a USB RTL-SDR dongle, harvest the LSBs of the ADC quantization noise,<br>and POST the bytes here under their nuts.services identity.<br>Anyone can drain. No PRNG. No seed. Just thermal noise from a tuner chip somewhere.

65536<br>Pool bytes

65536<br>Capacity

Contributors

9871472<br>Bytes received

4056<br>Bytes drained

92918s<br>Uptime

Drain entropy

curl https://sdrrand.nuts.services/api/entropy?bytes=32<br>curl https://sdrrand.nuts.services/api/entropy?bytes=64&format=hex<br>curl https://sdrrand.nuts.services/api/entropy?bytes=256&format=raw > bytes.bin

Push entropy (contributors)

POST raw bytes with a nuts-auth bearer token. Get one at<br>auth.nuts.services (either an ahp_ API token or a session JWT).

# From the sdr-rand CLI:<br>sdr-rand push \<br>--remote https://sdrrand.nuts.services \<br>--token "$NUTS_TOKEN" \<br>--frequency 433000000

# Or raw:<br>curl -X POST https://sdrrand.nuts.services/api/entropy \<br>-H "Authorization: Bearer $NUTS_TOKEN" \<br>--data-binary @entropy.bin

Endpoints

MethodPathDescription<br>GET/api/entropy?bytes=N&format=json|hex|rawDrain up to 4096 bytes (consumed on read).<br>GET/api/entropy/streamServer-Sent Events stream, one event per second.<br>POST/api/entropyPush raw bytes from a contributor. Auth required.<br>GET/api/statusPool stats + uptime.<br>GET/api/contributorsLeaderboard, by bytes contributed.<br>GET/healthzLiveness.

bytes entropy nuts sdrrand services from

Related Articles