docs: describe planned ring-oscillator design in README

This commit is contained in:
randogoth 2026-10-25 11:56:34 +02:00
parent 309b836af0
commit d34f4c69e1

View file

@ -1,7 +1,17 @@
# STRIX # STRIX
### Satellite True Random Information eXtractor ### Satellite True Random Information eXtractor
A portable wireless True Random Number Generator based on [neoTRNG](https://github.com/stnolting/neoTRNG) relized with an Arduino MKR Vidor 4000. A portable wireless True Random Number Generator built on an Arduino MKR Vidor 4000.
## Planned Design
Entropy comes from FPGA ring oscillators whose sampled timing jitter is XOR-combined into output bits, with no pseudo-random post-processing. A SAMD21 serves the results over WiFi and USB.
- Separate stream per entropy source
- Raw and processed output modes, with a von Neumann extractor that can be toggled per output path
- On-device health tests (NIST SP 800-90B repetition count and adaptive proportion)
- Live statistics: bias, z-score, random walk and autocorrelation
- Configurable random-walk / majority-vote bias amplifier
## Set Up Dev Environment ## Set Up Dev Environment
@ -27,8 +37,8 @@ Windows:
## TODO ## TODO
- Port neoTRNG to the MKR Vidor 4000 FPGA - Implement ring-oscillator entropy generators on the MKR Vidor 4000 FPGA
- Fetch random numbers from the FPGA - Fetch random numbers from the FPGA via SPI
- Serve random numbers via USB - Serve random numbers via USB
- Make Vidor pairable via Bluetooth/Wifi - Make Vidor pairable via Bluetooth/Wifi
- serve randomness wirelessly - serve randomness wirelessly