HWRNG approach

Depending on design, a HWRNG using avalanche breakdown requires a bias of 10V or greater to operate. Producing this high potential (voltage) from a lower source like USB’s 5V supply requires special circuitry. Two of the most common implementations are an inductive boost converter, and a switched-capacitor charge pump.

Both the boost converter and charge pump are discrete-time devices, which means they convert lower potential into higher potential in a repetitive, discrete manner. Higher potential is converted as if a continuous series of “buckets” of current are elevated and poured into a tall tank. This produces a continuous series of disturbances in that elevated “tank” of potential. Without adequate countermeasures, this periodic signal may be coupled into the avalanche device’s output, and thus into the RNG’s output.

Designs like OneRNG use a continuously-running boost converter with minimal output filtering. This design is robust and simple, but may be susceptible to the phenomenon discussed above: https://raw.githubusercontent.com/OneRNG/hardware/master/v1.0/schem.png

Prolaag’s design also uses a discrete-time converter. However, our patent-pending approach eliminates periodic disturbances and the need for significant filtering.

Our design uses a converter which is turned on and off in accordance to our HWRNG algorithm. We “elevate” buckets of current into our tall tank before we collect entropy samples from the avalanche-breakdown device. Once our tank is filled we cease the bucket brigade, let the tank stabilize, and then uniformly “drain” it as we collect samples. Once it has drained to a set level, we cease entropy collection and repeat the process. Our design requires us to “fill the tank” for about 1% of a cycle, and collect entropy for 99%, meaning that our rate of entropy generation is only negligibly affected.

This is one of many “security-first” features around which we designed our product.

Share this Post: