diff options
author | Rob Austein <sra@hactrn.net> | 2020-09-13 23:15:43 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2020-09-13 23:21:33 +0000 |
commit | 13d0f55865f8b1b851ce1e84597b144c5fd41662 (patch) | |
tree | 7b6ff6916f6596f64ec0d2657ae040abd5e18ed9 /raw-wiki-dump/GitRepositories%2Fcore%2Frng%2Frosc_entropy.md | |
parent | 3aa8b1dd6e0f504ef83da99f8c9cdb2532f948f5 (diff) |
GC
Diffstat (limited to 'raw-wiki-dump/GitRepositories%2Fcore%2Frng%2Frosc_entropy.md')
-rw-r--r-- | raw-wiki-dump/GitRepositories%2Fcore%2Frng%2Frosc_entropy.md | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/raw-wiki-dump/GitRepositories%2Fcore%2Frng%2Frosc_entropy.md b/raw-wiki-dump/GitRepositories%2Fcore%2Frng%2Frosc_entropy.md deleted file mode 100644 index 9ed3a99..0000000 --- a/raw-wiki-dump/GitRepositories%2Fcore%2Frng%2Frosc_entropy.md +++ /dev/null @@ -1,52 +0,0 @@ -``` -#!htmlcomment - -This page is maintained automatically by a script. Don't modify this page by hand, -your changes will just be overwritten the next time the script runs. Talk to your -Friendly Neighborhood Repository Maintainer if you need to change something here. - -``` - -``` -#!html -<h1>rosc_entropy</h1> - -<p>Digital entropy source based on on jitter between multiple, digital ring -oscillators. The entropy source is used in the TRNG as one of several -entropy sources feeding the mixer.</p> - -<h2>Functionality</h2> - -<p>The digital oscillators are created using adders. The carry out from the -adder are inverted and fed back into the adder as carry in. In -combination with operand values we basically get an inverted signal (the -carry out) that toggles reapeatedly. By having the operands externally -defined, synthesis tools in general will not optimize them away.</p> - -<p>The carry out signal is sampled with a clock that toggles at a much -slower rate than the intrinsic toggle rate of the carry out signal. In a -modern FPGA, the toggle rate may be 400+ MHz while the sample rate might -be 10 kHz. This sample time allows the differences in intrinsic toggle -frequency between separate oscillators to drift apart after sampling.</p> - -<p>The entropy source contains 32 separate oscillators. The outputs from -the oscillators are XOR-combined to create a single entropy bit. Entropy -bits are collected into 32-bit words which are provided to entropy -consumers.</p> - -<h2>Implementation Results</h2> - -<p>The entropy source has been implemented, tested and shown to produce -good quality entropy (using the ent estimation tool etc) in Altera -Cyclone-IV and Cyclone-V devices as well as in Xilinx Spartan-6.</p> - -<p>The Xilinx synthesis tool will try to optimize the combinational loop -away. (More specifically, it claims that the oscillator sample registers -will have a fixed value.). There is therefore an attribute in the source -code to force the tool to preserve the register.</p> -``` - -[[RepositoryIndex(format=table,glob=core/rng/rosc_entropy)]] - -| Clone `https://git.cryptech.is/core/rng/rosc_entropy.git` | -|---| |