Gomti: A collection of PLL-based True RNG on FPGA
Speaker: NIIBE Yutaka
Type: Short talk (20 minutes)
Time: Sep 11 (Mon): 17:00
Gomti  is a collection of PLL-based True Random Number Generator. Currently, we have implementations for FPGA: ice40 HX8K and Gowin GW1NR-9/C. With Gomti, we can build a good USB TRNG device, for example, using TEC0117 board.
In 2013, I released NeuG 1.0 , an implementation of TRNG on STM32F103, based on the sampling noise of ADC. It has been useful in the situation where no good noise source is available. I had an presentation in Debconf15 . While it is empirically useful, it lacks mathematical or physical model.
Around 2015, there were projects like OneRNG  and ChaosKey  which is based on diode noise source.
In 2022, I sought around TRNG technology again, with following constraints:
- Easier to implement (cost-wise, technology-wise)
- Patent free
- Better reproducibility
- Build-able with common parts
- Build-able with free tool (as in freedom)
Given the situation we have a good free tool for FPGA (Yosys and nextpnr ), I realized that PLL-based TRNG can be built fulfilling the constraints above, reading papers of , , and .
People who have an interest around hardware development and FPGA can enjoy Gomti to build their own USB TRNG device. Security geeks may find a practical and interesting source of entropy.
Let us discuss about reproducible and transparent random number generation.
 Gomti: https://sr.ht/~gniibe/gomti/
 More Entropy, Please: https://summit.debconf.org/debconf15/meeting/265/more-entropy-please/
 OneRNG: https://onerng.info/
 ChaosKey: https://altusmetrum.org/ChaosKey/
 Viktor Fischer & Miloš Drutarovský
True Random Number Generator Embedded in Reconfigurable Hardware 2002 https://doi.org/10.1007/3-540-36400-5_30
 Florent Bernard, Viktor Fischer and Boyan Valtchanov
Mathematical model of physical RNGs based on coherent sampling 2010 https://doi.org/10.2478/v10127-010-0001-1
 Miloš Drutarovský and Martin Simka and Viktor Fischer and Frederic Celle
A Simple PLL-Based True Random Number Generator for Embedded Digital Systems 2004 http://www.cai.sk/ojs/index.php/cai/article/view/442