├── .gitignore ├── .gitmodules ├── CHANGELOG.md ├── LICENSE ├── README.md ├── eagle ├── BOM-80.ods ├── BOM.ods ├── BOM.xlsx ├── infinite-noise-panel-edgehack.zip ├── infinite-noise-panel-frame_fudicials.zip ├── infnoise.brd ├── infnoise.lbr ├── infnoise.netlist ├── infnoise.sch ├── infnoise_SBA_BOM.csv ├── infnoise_SBA_PASTE.ger ├── infnoise_SBA_PASTE.gpi ├── infnoise_edgecon.brd ├── infnoise_edgecon.sch ├── infnoise_goldfingers.brd ├── infnoise_goldfingers.sch ├── infnoise_usbpins.brd └── infnoise_usbpins.sch ├── hashlet_data ├── randdata └── randdata_one_go ├── images ├── CAP1.jpg ├── INM_V1.jpg ├── SA_ADC_block_diagram.png ├── infinite-noise-crowdsupply.jpg ├── infnoise.png ├── infnoise_brd.png ├── infnoise_breadboard.jpg ├── infnoise_current.jpg ├── infnoise_key.jpg └── infnoise_pocket.jpg ├── infnoise_cmos ├── RNG.html ├── RNG5.png ├── schem1.png ├── schem2.png └── schem3.png ├── infnoise_fast ├── infnoise_fast.tsc ├── longsim.png ├── schematic.png └── shortsim.png ├── infnoise_small ├── infnoise_small.tsc ├── longsim.png ├── schematic.png └── shortsim.png ├── kicad ├── bom.csv ├── infnoise_goldfingers-cache.lib ├── infnoise_goldfingers-eagle-import.dcm ├── infnoise_goldfingers-eagle-import.lib ├── infnoise_goldfingers.kicad_pcb ├── infnoise_goldfingers.net ├── infnoise_goldfingers.pretty │ ├── 0603-CAP.kicad_mod │ ├── 0603-IND.kicad_mod │ ├── 0603-RES.kicad_mod │ ├── DFN8-2X3.kicad_mod │ ├── MICRO-FIDUCIAL.kicad_mod │ ├── QFN24-4X4.kicad_mod │ ├── SC70-5L.kicad_mod │ ├── SSOP8-P-0.50A.kicad_mod │ └── USB-A-RAWPINS.kicad_mod ├── infnoise_goldfingers.pro ├── infnoise_goldfingers.sch └── sym-lib-table ├── software ├── .gitignore ├── Keccak │ ├── KeccakF-1600-interface.h │ ├── KeccakF-1600-reference.c │ └── brg_endian.h ├── Makefile.darwin ├── Makefile.freebsd ├── Makefile.linux ├── Makefile.macos ├── README.md ├── VisualStudio │ ├── ftdi │ │ └── README.md │ ├── infnoise.sln │ ├── infnoise.vcxproj │ ├── infnoise.vcxproj.filters │ └── infnoise.vcxproj.user ├── build-scripts │ ├── INSTALL.arch │ ├── PKGBUILD.arch │ ├── README.md │ ├── build-archlinux.sh │ ├── build-rpm.sh │ ├── build.sh │ ├── control.debian.infnoise │ ├── control.debian.lib │ ├── control.debian.tools │ ├── infnoise-gitian.yml │ ├── infnoise-tools.spec │ ├── infnoise.postinst │ └── infnoise.spec ├── daemon.c ├── examples │ ├── README.md │ ├── libinfnoise │ │ ├── Makefile │ │ ├── example-complex.c │ │ └── example-simple.c │ ├── random-server.py │ └── serial-numbers.py ├── healthcheck.1 ├── healthcheck.c ├── healthcheck.h ├── infnoise.8 ├── infnoise.c ├── infnoise.h ├── infnoise_win.c ├── init_scripts │ ├── 75-infnoise.rules │ ├── README.md │ ├── infnoise.conf │ ├── infnoise.conf.systemd │ ├── infnoise.gentoo.openrc │ ├── infnoise.openrc │ ├── infnoise.service │ ├── infnoise.service.8 │ ├── infnoise.service.bin │ └── infnoise.service.sbin ├── libinfnoise.c ├── libinfnoise.h ├── libinfnoise.version ├── libinfnoise_private.h ├── tests │ ├── README │ └── infnoise.bats ├── tools │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── bin2hex.1 │ ├── bin2hex.c │ ├── dice.1 │ ├── dice.c │ ├── entcheck.1 │ ├── entcheck.c │ ├── findlongest.1 │ ├── findlongest.c │ ├── flipbits.1 │ ├── flipbits.c │ ├── hex2bin.1 │ ├── hex2bin.c │ ├── passgen.1 │ └── passgen.c └── writeentropy.c └── tests ├── README.md ├── plots ├── README ├── colormap.py ├── infnoise-raw-notraw-scatter.gif ├── infnoise-raw.bin-colormap.png ├── infnoise-raw.bin-scatter.png ├── infnoise.bin-colormap.png ├── infnoise.bin-scatter.png └── scatterplot.py ├── results ├── v0.2.6 │ ├── results_250000K │ │ ├── devrandom-0-250000K-dieharder.txt │ │ ├── devrandom-0-250000K-ent.txt │ │ ├── devrandom-0-250000K-rngtest.txt │ │ ├── devrandom-1-250000K-dieharder.txt │ │ ├── devrandom-1-250000K-ent.txt │ │ ├── devrandom-1-250000K-rngtest.txt │ │ ├── devrandom-10-250000K-dieharder.txt │ │ ├── devrandom-10-250000K-ent.txt │ │ ├── devrandom-10-250000K-rngtest.txt │ │ ├── devrandom-100-250000K-dieharder.txt │ │ ├── devrandom-100-250000K-ent.txt │ │ ├── devrandom-100-250000K-rngtest.txt │ │ ├── devrandom-1000-250000K-dieharder.txt │ │ ├── devrandom-1000-250000K-ent.txt │ │ ├── devrandom-1000-250000K-rngtest.txt │ │ ├── devrandom-10000-250000K-dieharder.txt │ │ ├── devrandom-10000-250000K-ent.txt │ │ ├── devrandom-10000-250000K-rngtest.txt │ │ ├── plots │ │ │ ├── devrandom-1-250000K.out-colormap.png │ │ │ ├── devrandom-1-250000K.out-scatter.png │ │ │ ├── devrandom-10-250000K.out-colormap.png │ │ │ ├── devrandom-10-250000K.out-scatter.png │ │ │ ├── devrandom-100-250000K.out-colormap.png │ │ │ ├── devrandom-100-250000K.out-scatter.png │ │ │ ├── devrandom-1000-250000K.out-colormap.png │ │ │ ├── devrandom-1000-250000K.out-scatter.png │ │ │ ├── devrandom-10000-250000K.out-colormap.png │ │ │ ├── devrandom-10000-250000K.out-scatter.png │ │ │ ├── raw-250000K.out-colormap.png │ │ │ ├── raw-250000K.out-scatter.png │ │ │ ├── whitened-0-250000K.out-colormap.png │ │ │ ├── whitened-0-250000K.out-scatter.png │ │ │ ├── whitened-1-250000K.out-colormap.png │ │ │ ├── whitened-1-250000K.out-scatter.png │ │ │ ├── whitened-10-250000K.out-colormap.png │ │ │ ├── whitened-10-250000K.out-scatter.png │ │ │ ├── whitened-100-250000K.out-colormap.png │ │ │ ├── whitened-100-250000K.out-scatter.png │ │ │ ├── whitened-1000-250000K.out-colormap.png │ │ │ ├── whitened-1000-250000K.out-scatter.png │ │ │ ├── whitened-10000-250000K.out-colormap.png │ │ │ └── whitened-10000-250000K.out-scatter.png │ │ ├── raw-250000K-dieharder.txt │ │ ├── raw-250000K-ent.txt │ │ ├── raw-250000K-rngtest.txt │ │ ├── whitened-0-250000K-dieharder.txt │ │ ├── whitened-0-250000K-ent.txt │ │ ├── whitened-0-250000K-rngtest.txt │ │ ├── whitened-1-250000K-dieharder.txt │ │ ├── whitened-1-250000K-ent.txt │ │ ├── whitened-1-250000K-rngtest.txt │ │ ├── whitened-10-250000K-dieharder.txt │ │ ├── whitened-10-250000K-ent.txt │ │ ├── whitened-10-250000K-rngtest.txt │ │ ├── whitened-100-250000K-dieharder.txt │ │ ├── whitened-100-250000K-ent.txt │ │ ├── whitened-100-250000K-rngtest.txt │ │ ├── whitened-1000-250000K-dieharder.txt │ │ ├── whitened-1000-250000K-ent.txt │ │ ├── whitened-1000-250000K-rngtest.txt │ │ ├── whitened-10000-250000K-dieharder.txt │ │ ├── whitened-10000-250000K-ent.txt │ │ └── whitened-10000-250000K-rngtest.txt │ └── results_25000K │ │ ├── devrandom-0-25000K-dieharder.txt │ │ ├── devrandom-0-25000K-ent.txt │ │ ├── devrandom-0-25000K-rngtest.txt │ │ ├── devrandom-1-25000K-dieharder.txt │ │ ├── devrandom-1-25000K-ent.txt │ │ ├── devrandom-1-25000K-rngtest.txt │ │ ├── devrandom-10-25000K-dieharder.txt │ │ ├── devrandom-10-25000K-ent.txt │ │ ├── devrandom-10-25000K-rngtest.txt │ │ ├── devrandom-100-25000K-dieharder.txt │ │ ├── devrandom-100-25000K-ent.txt │ │ ├── devrandom-100-25000K-rngtest.txt │ │ ├── devrandom-1000-25000K-dieharder.txt │ │ ├── devrandom-1000-25000K-ent.txt │ │ ├── devrandom-1000-25000K-rngtest.txt │ │ ├── devrandom-10000-25000K-dieharder.txt │ │ ├── devrandom-10000-25000K-ent.txt │ │ ├── devrandom-10000-25000K-rngtest.txt │ │ ├── plots │ │ ├── devrandom-1-25000K.out-colormap.png │ │ ├── devrandom-1-25000K.out-scatter.png │ │ ├── devrandom-10-25000K.out-colormap.png │ │ ├── devrandom-10-25000K.out-scatter.png │ │ ├── devrandom-100-25000K.out-colormap.png │ │ ├── devrandom-100-25000K.out-scatter.png │ │ ├── devrandom-1000-25000K.out-colormap.png │ │ ├── devrandom-1000-25000K.out-scatter.png │ │ ├── devrandom-10000-25000K.out-colormap.png │ │ ├── devrandom-10000-25000K.out-scatter.png │ │ ├── raw-25000K.out-colormap.png │ │ ├── raw-25000K.out-scatter.png │ │ ├── white-0-25000K.out-colormap.png │ │ ├── white-0-25000K.out-scatter.png │ │ ├── white-1-25000K.out-colormap.png │ │ ├── white-1-25000K.out-scatter.png │ │ ├── white-10-25000K.out-colormap.png │ │ ├── white-10-25000K.out-scatter.png │ │ ├── white-100-25000K.out-colormap.png │ │ ├── white-100-25000K.out-scatter.png │ │ ├── white-1000-25000K.out-colormap.png │ │ ├── white-1000-25000K.out-scatter.png │ │ ├── white-10000-25000K.out-colormap.png │ │ └── white-10000-25000K.out-scatter.png │ │ ├── raw-25000K-dieharder.txt │ │ ├── raw-25000K-ent.txt │ │ ├── raw-25000K-rngtest.txt │ │ ├── white-0-25000K-dieharder.txt │ │ ├── white-0-25000K-ent.txt │ │ ├── white-0-25000K-rngtest.txt │ │ ├── white-1-25000K-dieharder.txt │ │ ├── white-1-25000K-ent.txt │ │ ├── white-1-25000K-rngtest.txt │ │ ├── white-10-25000K-dieharder.txt │ │ ├── white-10-25000K-ent.txt │ │ ├── white-10-25000K-rngtest.txt │ │ ├── white-100-25000K-dieharder.txt │ │ ├── white-100-25000K-ent.txt │ │ ├── white-100-25000K-rngtest.txt │ │ ├── white-1000-25000K-dieharder.txt │ │ ├── white-1000-25000K-ent.txt │ │ ├── white-1000-25000K-rngtest.txt │ │ ├── white-10000-25000K-dieharder.txt │ │ ├── white-10000-25000K-ent.txt │ │ └── white-10000-25000K-rngtest.txt └── v0.3.0 │ ├── devrandom-1-25000K-dieharder.txt │ ├── devrandom-1-25000K-ent.txt │ ├── devrandom-1-25000K-rngtest.txt │ ├── devrandom-10-25000K-dieharder.txt │ ├── devrandom-10-25000K-ent.txt │ ├── devrandom-10-25000K-rngtest.txt │ ├── devrandom-100-25000K-dieharder.txt │ ├── devrandom-100-25000K-ent.txt │ ├── devrandom-100-25000K-rngtest.txt │ ├── devrandom-1000-25000K-dieharder.txt │ ├── devrandom-1000-25000K-ent.txt │ ├── devrandom-1000-25000K-rngtest.txt │ ├── devrandom-10000-25000K-dieharder.txt │ ├── devrandom-10000-25000K-ent.txt │ ├── devrandom-10000-25000K-rngtest.txt │ ├── plots │ ├── devrandom-1-25000K.out-colormap.png │ ├── devrandom-1-25000K.out-scatter.png │ ├── devrandom-10-25000K.out-colormap.png │ ├── devrandom-10-25000K.out-scatter.png │ ├── devrandom-100-25000K.out-colormap.png │ ├── devrandom-100-25000K.out-scatter.png │ ├── devrandom-1000-25000K.out-colormap.png │ ├── devrandom-1000-25000K.out-scatter.png │ ├── devrandom-10000-25000K.out-colormap.png │ ├── devrandom-10000-25000K.out-scatter.png │ ├── raw-25000K.out-colormap.png │ ├── raw-25000K.out-scatter.png │ ├── whitened-0-25000K.out-colormap.png │ ├── whitened-0-25000K.out-scatter.png │ ├── whitened-1-25000K.out-colormap.png │ ├── whitened-1-25000K.out-scatter.png │ ├── whitened-10-25000K.out-colormap.png │ ├── whitened-10-25000K.out-scatter.png │ ├── whitened-100-25000K.out-colormap.png │ ├── whitened-100-25000K.out-scatter.png │ ├── whitened-1000-25000K.out-colormap.png │ ├── whitened-1000-25000K.out-scatter.png │ ├── whitened-10000-25000K.out-colormap.png │ └── whitened-10000-25000K.out-scatter.png │ ├── raw-25000K-dieharder.txt │ ├── raw-25000K-ent.txt │ ├── raw-25000K-rngtest.txt │ ├── whitened-0-25000K-dieharder.txt │ ├── whitened-0-25000K-ent.txt │ ├── whitened-0-25000K-rngtest.txt │ ├── whitened-1-25000K-dieharder.txt │ ├── whitened-1-25000K-ent.txt │ ├── whitened-1-25000K-rngtest.txt │ ├── whitened-10-25000K-dieharder.txt │ ├── whitened-10-25000K-ent.txt │ ├── whitened-10-25000K-rngtest.txt │ ├── whitened-100-25000K-dieharder.txt │ ├── whitened-100-25000K-ent.txt │ ├── whitened-100-25000K-rngtest.txt │ ├── whitened-1000-25000K-dieharder.txt │ ├── whitened-1000-25000K-ent.txt │ ├── whitened-1000-25000K-rngtest.txt │ ├── whitened-10000-25000K-dieharder.txt │ ├── whitened-10000-25000K-ent.txt │ └── whitened-10000-25000K-rngtest.txt ├── runtests.sh └── samples ├── infnoise_raw.bin └── infnoise_whitened.bin /.gitignore: -------------------------------------------------------------------------------- 1 | *.kicad_pcb-bak 2 | /software/VisualStudio/build 3 | /software/VisualStudio/.vs 4 | /software/VisualStudio/ftdi 5 | !/software/VisualStudio/ftdi/README.md 6 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "software/tests/test_helper/bats-support"] 2 | path = software/tests/test_helper/bats-support 3 | url = https://github.com/ztombol/bats-support 4 | [submodule "software/tests/test_helper/bats-assert"] 5 | path = software/tests/test_helper/bats-assert 6 | url = https://github.com/ztombol/bats-assert 7 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | ## [0.3.0](https://github.com/13-37-org/infnoise/tree/0.3.0) (2018-10-09) 4 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.2.6...0.3.0) 5 | 6 | **Merged pull requests:** 7 | 8 | - merge libinfnoise branch [\#12](https://github.com/13-37-org/infnoise/pull/12) ([manuel-domke](https://github.com/manuel-domke)) 9 | - Fix apt-key add command in README [\#11](https://github.com/13-37-org/infnoise/pull/11) ([xenomachina](https://github.com/xenomachina)) 10 | - Fix a couple of spelling errors [\#10](https://github.com/13-37-org/infnoise/pull/10) ([skitt](https://github.com/skitt)) 11 | 12 | ## [0.2.6](https://github.com/13-37-org/infnoise/tree/0.2.6) (2018-05-02) 13 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.2.5...0.2.6) 14 | 15 | **Closed issues:** 16 | 17 | - systemd service can't be disabled [\#7](https://github.com/13-37-org/infnoise/issues/7) 18 | 19 | ## [0.2.5](https://github.com/13-37-org/infnoise/tree/0.2.5) (2018-04-09) 20 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.2.4...0.2.5) 21 | 22 | ## [0.2.4](https://github.com/13-37-org/infnoise/tree/0.2.4) (2018-04-02) 23 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.2.3...0.2.4) 24 | 25 | ## [0.2.3](https://github.com/13-37-org/infnoise/tree/0.2.3) (2018-03-02) 26 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.2.2...0.2.3) 27 | 28 | ## [0.2.2](https://github.com/13-37-org/infnoise/tree/0.2.2) (2018-03-01) 29 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.2.0...0.2.2) 30 | 31 | ## [0.2.0](https://github.com/13-37-org/infnoise/tree/0.2.0) (2018-03-01) 32 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.2.1...0.2.0) 33 | 34 | ## [0.2.1](https://github.com/13-37-org/infnoise/tree/0.2.1) (2018-03-01) 35 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/v0.2.1...0.2.1) 36 | 37 | ## [v0.2.1](https://github.com/13-37-org/infnoise/tree/v0.2.1) (2018-03-01) 38 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/v0.2.0...v0.2.1) 39 | 40 | **Merged pull requests:** 41 | 42 | - Version number [\#5](https://github.com/13-37-org/infnoise/pull/5) ([manuel-domke](https://github.com/manuel-domke)) 43 | - Correct CS spelling [\#4](https://github.com/13-37-org/infnoise/pull/4) ([darrellrossman](https://github.com/darrellrossman)) 44 | 45 | ## [v0.2.0](https://github.com/13-37-org/infnoise/tree/v0.2.0) (2017-12-31) 46 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/v0.1.2...v0.2.0) 47 | 48 | **Merged pull requests:** 49 | 50 | - merged captainpete's pull request \#28 from waywardgeek/infnoise [\#3](https://github.com/13-37-org/infnoise/pull/3) ([manuel-domke](https://github.com/manuel-domke)) 51 | - merged "increased timeout and options struct" pull request from runema [\#2](https://github.com/13-37-org/infnoise/pull/2) ([manuel-domke](https://github.com/manuel-domke)) 52 | 53 | ## [v0.1.2](https://github.com/13-37-org/infnoise/tree/v0.1.2) (2017-11-13) 54 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.1.0...v0.1.2) 55 | 56 | **Merged pull requests:** 57 | 58 | - updated readme [\#1](https://github.com/13-37-org/infnoise/pull/1) ([manuel-domke](https://github.com/manuel-domke)) 59 | 60 | ## [0.1.0](https://github.com/13-37-org/infnoise/tree/0.1.0) (2017-08-29) 61 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/0.1.1...0.1.0) 62 | 63 | ## [0.1.1](https://github.com/13-37-org/infnoise/tree/0.1.1) (2017-08-29) 64 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/Fourth-OshPark-Prototype...0.1.1) 65 | 66 | ## [Fourth-OshPark-Prototype](https://github.com/13-37-org/infnoise/tree/Fourth-OshPark-Prototype) (2014-11-02) 67 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/Third-OshPark-Prototype...Fourth-OshPark-Prototype) 68 | 69 | ## [Third-OshPark-Prototype](https://github.com/13-37-org/infnoise/tree/Third-OshPark-Prototype) (2014-10-15) 70 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/Second-OshPark-Prototype...Third-OshPark-Prototype) 71 | 72 | ## [Second-OshPark-Prototype](https://github.com/13-37-org/infnoise/tree/Second-OshPark-Prototype) (2014-10-12) 73 | [Full Changelog](https://github.com/13-37-org/infnoise/compare/First-OshPark-Prototype...Second-OshPark-Prototype) 74 | 75 | ## [First-OshPark-Prototype](https://github.com/13-37-org/infnoise/tree/First-OshPark-Prototype) (2014-10-10) 76 | 77 | 78 | \* *This Change Log was automatically generated by [github_changelog_generator](https://github.com/skywinder/Github-Changelog-Generator)* 79 | -------------------------------------------------------------------------------- /eagle/BOM-80.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/eagle/BOM-80.ods -------------------------------------------------------------------------------- /eagle/BOM.ods: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/eagle/BOM.ods -------------------------------------------------------------------------------- /eagle/BOM.xlsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/eagle/BOM.xlsx -------------------------------------------------------------------------------- /eagle/infinite-noise-panel-edgehack.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/eagle/infinite-noise-panel-edgehack.zip -------------------------------------------------------------------------------- /eagle/infinite-noise-panel-frame_fudicials.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/eagle/infinite-noise-panel-frame_fudicials.zip -------------------------------------------------------------------------------- /eagle/infnoise.netlist: -------------------------------------------------------------------------------- 1 | Netlist 2 | 3 | Exported from infnoise.brd at 10/10/14 2:00 PM 4 | 5 | EAGLE Version 7.1.0 Copyright (c) 1988-2014 CadSoft 6 | 7 | Net Part Pad 8 | 9 | A AMP1 3 10 | C7 1 11 | CMP1 3 12 | SW1 2 13 | 14 | AMP1OUT AMP1 1 15 | R10 2 16 | R6 2 17 | R9 1 18 | SW2 1 19 | 20 | AMP2OUT AMP1 7 21 | R7 1 22 | SW1 1 23 | 24 | B AMP1 5 25 | C8 2 26 | CMP1 5 27 | SW2 2 28 | 29 | COMP1 CMP1 1 30 | R5 1 31 | U1 23 32 | 33 | COMP2 CMP1 7 34 | R8 2 35 | U1 21 36 | 37 | FB1 AMP1 2 38 | R5 2 39 | R6 1 40 | 41 | FB2 AMP1 6 42 | R7 2 43 | R8 1 44 | 45 | GND AMP1 4 46 | AMP1 EXP 47 | C1 2 48 | C2 1 49 | C3 1 50 | C4 2 51 | C5 2 52 | C6 2 53 | C7 2 54 | C8 1 55 | CMP1 4 56 | R10 1 57 | R4 2 58 | SW1 3 59 | SW2 3 60 | U1 16 61 | U1 3 62 | U1 7 63 | U1 8 64 | U1 9 65 | U1 EXP 66 | X1 GND 67 | 68 | SW1EN SW1 4 69 | U1 22 70 | 71 | SW2EN SW2 4 72 | U1 1 73 | 74 | USBDM R2 2 75 | U1 11 76 | 77 | USBDP R1 2 78 | U1 10 79 | 80 | USB_M C4 1 81 | R1 1 82 | X1 USB_P 83 | 84 | USB_P C5 1 85 | R2 1 86 | X1 USB_M 87 | 88 | VCC C2 2 89 | C3 2 90 | L1 2 91 | U1 15 92 | 93 | VCC5 C1 1 94 | L1 1 95 | X1 5V 96 | 97 | VCC33 AMP1 8 98 | C6 1 99 | CMP1 8 100 | R3 1 101 | R9 2 102 | SW1 5 103 | SW2 5 104 | U1 12 105 | U1 13 106 | U1 24 107 | 108 | VREF CMP1 2 109 | CMP1 6 110 | R3 2 111 | R4 1 112 | 113 | -------------------------------------------------------------------------------- /eagle/infnoise_SBA_BOM.csv: -------------------------------------------------------------------------------- 1 | ########################################################################## 2 | Name: Placement Bill of Materials Generator 3 | 4 | Version: 2 5 | By: Small Batch Assembly 6 | URL: www.smallbatchassembly.com 7 | SourceFile: infnoise.brd 8 | DateTime: 11/16/14 1:45 PM 9 | Units: inches 10 | ########################################################################## 11 | REF,PACKAGE,VALUE,X,Y,ROTATION, 12 | AMP1 , DFN6-2X3 , TSV912IQ2T , 1.0630, 0.2630, 0.0 13 | C1 , 0603-CAP , 10nF , 0.4547, 0.0908, 90.0 14 | C2 , 0603-CAP , 4.7uF , 0.6201, 0.0563, 0.0 15 | C3 , 0603-CAP , 100nF , 0.6201, 0.1272, 0.0 16 | C4 , 0603-CAP , 47pF , 0.3593, 0.4008, 0.0 17 | C5 , 0603-CAP , 47pF , 0.3593, 0.1252, 0.0 18 | C6 , 0603-CAP , 100nF , 0.5413, 0.3988, 180.0 19 | C7 , 0603-CAP , 10nF , 0.7185, 0.2630, 90.0 20 | C8 , 0603-CAP , 220pF , 0.7972, 0.2630, 90.0 21 | C9 , 0603-CAP , 220pF , 1.1614, 0.2630, 90.0 22 | COMP1 , SSOP8-P-0.50A , TC75W57FK , 0.9055, 0.2630, 0.0 23 | FID1 , MICRO-FIDUCIAL , FIDUCIALUFIDUCIAL , 0.0400, 0.0500, 0.0 24 | FID2 , MICRO-FIDUCIAL , FIDUCIALUFIDUCIAL , 0.0400, 0.4760, 0.0 25 | FID3 , MICRO-FIDUCIAL , FIDUCIALUFIDUCIAL , 1.2200, 0.4760, 0.0 26 | L1 , 0603-IND , FERRITE-BEAD0603-IND , 0.5246, 0.0908, 90.0 27 | R1 , 0603-RES , 27 , 0.3593, 0.3024, 0.0 28 | R2 , 0603-RES , 27 , 0.3593, 0.2236, 0.0 29 | R3 , 0603-RES , 10K , 0.7185, 0.1154, 90.0 30 | R4 , 0603-RES , 10K , 0.7185, 0.4106, 90.0 31 | R5 , 0603-RES , 10K , 0.7972, 0.1154, 270.0 32 | R6 , 0603-RES , 8.2K , 0.7972, 0.4106, 90.0 33 | R7 , 0603-RES , 8.2K , 1.1614, 0.4106, 270.0 34 | R8 , 0603-RES , 10K , 1.1614, 0.1154, 270.0 35 | R9 , 0603-RES , 10K , 0.5413, 0.4697, 180.0 36 | SW1 , SC70-5L , MC74VHC1G66DFT1G , 0.9744, 0.4008, 90.0 37 | SW2 , SC70-5L , MC74VHC1G66DFT1G , 0.9744, 0.1252, 90.0 38 | USB1 , QFN24-4X4 , FT240XQ , 0.5413, 0.2630, 270.0 39 | X1 , USB-A-SMT-MALE , USBSMT-MALE , 0.0000, 0.2630, 90.0 40 | -------------------------------------------------------------------------------- /eagle/infnoise_SBA_PASTE.gpi: -------------------------------------------------------------------------------- 1 | Generated by EAGLE CAM Processor 7.1.0 2 | 3 | Photoplotter Info File: /home/bill/projects/infnoise/eagle\infnoise_SBA_PASTE.gpi 4 | 5 | Date : 11/16/14 1:40 PM 6 | Plotfile : /home/bill/projects/infnoise/eagle\infnoise_SBA_PASTE.ger 7 | Apertures : generated: 8 | Device : Gerber RS-274-X photoplotter, coordinate format 2.4 inch 9 | 10 | Parameter settings: 11 | 12 | Emulate Apertures : no 13 | Tolerance Draw + : 0.00 % 14 | Tolerance Draw - : 0.00 % 15 | Tolerance Flash + : 0.00 % 16 | Tolerance Flash - : 0.00 % 17 | Rotate : no 18 | Mirror : no 19 | Optimize : yes 20 | Auto fit : no 21 | OffsetX : 0inch 22 | OffsetY : 0inch 23 | 24 | Plotfile Info: 25 | 26 | Coordinate Format : 2.4 27 | Coordinate Units : Inch 28 | Data Mode : Absolute 29 | Zero Suppression : None 30 | End Of Block : * 31 | 32 | Apertures used: 33 | 34 | Code Shape Size used 35 | 36 | D10 draw 0.0000inch 31 37 | D11 rectangle 0.0630inch x 0.0177inch 1 38 | D12 rectangle 0.0110inch x 0.0295inch 8 39 | D13 rectangle 0.0394inch x 0.0433inch 22 40 | D14 rectangle 0.0433inch x 0.0394inch 16 41 | D15 rectangle 0.0098inch x 0.0236inch 8 42 | D16 rectangle 0.0098inch x 0.0276inch 12 43 | D17 rectangle 0.0276inch x 0.0098inch 12 44 | D18 square 0.0984inch 1 45 | D19 rectangle 0.0315inch x 0.0138inch 10 46 | D20 rectangle 0.0984inch x 0.0315inch 4 47 | 48 | -------------------------------------------------------------------------------- /images/CAP1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/CAP1.jpg -------------------------------------------------------------------------------- /images/INM_V1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/INM_V1.jpg -------------------------------------------------------------------------------- /images/SA_ADC_block_diagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/SA_ADC_block_diagram.png -------------------------------------------------------------------------------- /images/infinite-noise-crowdsupply.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/infinite-noise-crowdsupply.jpg -------------------------------------------------------------------------------- /images/infnoise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/infnoise.png -------------------------------------------------------------------------------- /images/infnoise_brd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/infnoise_brd.png -------------------------------------------------------------------------------- /images/infnoise_breadboard.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/infnoise_breadboard.jpg -------------------------------------------------------------------------------- /images/infnoise_current.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/infnoise_current.jpg -------------------------------------------------------------------------------- /images/infnoise_key.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/infnoise_key.jpg -------------------------------------------------------------------------------- /images/infnoise_pocket.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/images/infnoise_pocket.jpg -------------------------------------------------------------------------------- /infnoise_cmos/RNG5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_cmos/RNG5.png -------------------------------------------------------------------------------- /infnoise_cmos/schem1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_cmos/schem1.png -------------------------------------------------------------------------------- /infnoise_cmos/schem2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_cmos/schem2.png -------------------------------------------------------------------------------- /infnoise_cmos/schem3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_cmos/schem3.png -------------------------------------------------------------------------------- /infnoise_fast/infnoise_fast.tsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_fast/infnoise_fast.tsc -------------------------------------------------------------------------------- /infnoise_fast/longsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_fast/longsim.png -------------------------------------------------------------------------------- /infnoise_fast/schematic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_fast/schematic.png -------------------------------------------------------------------------------- /infnoise_fast/shortsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_fast/shortsim.png -------------------------------------------------------------------------------- /infnoise_small/infnoise_small.tsc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_small/infnoise_small.tsc -------------------------------------------------------------------------------- /infnoise_small/longsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_small/longsim.png -------------------------------------------------------------------------------- /infnoise_small/schematic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_small/schematic.png -------------------------------------------------------------------------------- /infnoise_small/shortsim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/infnoise_small/shortsim.png -------------------------------------------------------------------------------- /kicad/bom.csv: -------------------------------------------------------------------------------- 1 | Num used,Refs,Value,DigiKey P/N,Mouser P/N 2 | 2,"SW1,SW2",,MC74VHC1G66DFT1GOSCT-ND,863-MC74VHC1G66DFT1G 3 | 1,AMP,,497-12414-1-ND,511-TSV912IQ2T 4 | 1,CMP,,TC75W57FKTE85LFCT-ND,757-TC75W57FKTE85LF 5 | 2,"C8,C9",220pF,490-1435-1-ND,77-VJ0603A221GXAPBC 6 | 2,"R6,R7",8.2K,541-8.20KHCT-ND,71-CRCW0603-8.2K-E3 7 | 5,"R3,R4,R5,R8,R9",10K,541-10.0KHCT-ND,71-CRCW0603-10K-E3 8 | 2,"C1,C7",10nF,GCM188R71E103KA37D-ND,77-VJ0603Y103JXXCBC 9 | 1,U1,,768-1157-ND,895-FT240XQ-T 10 | 2,"C3,C6",0.1uF,490-1524-1-ND,77-VJ0603Y104JXXAC 11 | 1,L1,,1276-6355-1-ND,810-MPZ1608S601A 12 | 1,C2,4.7uF,490-3302-1-ND,603-CC603ZRY5V6BB475 13 | 2,"C4,C5",47pF,490-1419-1-ND,77-VJ0603A470JXACBC 14 | 2,"R1,R2",27 Ohms,541-27.0HCT-ND,71-CRCW0603-27-E3 15 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers-eagle-import.dcm: -------------------------------------------------------------------------------- 1 | EESchema-DOCLIB Version 2.0 2 | # 3 | #End Doc Library 4 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/0603-CAP.kicad_mod: -------------------------------------------------------------------------------- 1 | (module 0603-CAP (layer F.Cu) (tedit 0) 2 | (fp_text reference C7 (at 0 -0.635) (layer F.SilkS) 3 | (effects (font (size 0.38608 0.38608) (thickness 0.030886)) (justify left bottom)) 4 | ) 5 | (fp_text value 10nF (at 0 0) (layer F.SilkS) hide 6 | (effects (font (size 1.27 1.27) (thickness 0.15))) 7 | ) 8 | (fp_line (start -1.5 -0.85) (end 1.5 -0.85) (layer Dwgs.User) (width 0.0508)) 9 | (fp_line (start 1.5 -0.85) (end 1.5 0.85) (layer Dwgs.User) (width 0.0508)) 10 | (fp_line (start 1.5 0.85) (end -1.5 0.85) (layer Dwgs.User) (width 0.0508)) 11 | (fp_line (start -1.5 0.85) (end -1.5 -0.85) (layer Dwgs.User) (width 0.0508)) 12 | (fp_line (start -0.356 -0.432) (end 0.356 -0.432) (layer F.Fab) (width 0.1016)) 13 | (fp_line (start -0.356 0.419) (end 0.356 0.419) (layer F.Fab) (width 0.1016)) 14 | (fp_line (start 0 -0.0305) (end 0 0.0305) (layer F.SilkS) (width 0.4064)) 15 | (fp_poly (pts (xy -0.8382 0.4699) (xy -0.3381 0.4699) (xy -0.3381 -0.4801) (xy -0.8382 -0.4801)) (layer F.Fab) (width 0)) 16 | (fp_poly (pts (xy 0.3302 0.4699) (xy 0.8303 0.4699) (xy 0.8303 -0.4801) (xy 0.3302 -0.4801)) (layer F.Fab) (width 0)) 17 | (fp_poly (pts (xy -0.1999 0.3) (xy 0.1999 0.3) (xy 0.1999 -0.3) (xy -0.1999 -0.3)) (layer F.Adhes) (width 0)) 18 | (pad 1 smd rect (at -0.85 0) (size 1.1 1) (layers F.Cu F.Paste F.Mask)) 19 | (pad 2 smd rect (at 0.85 0) (size 1.1 1) (layers F.Cu F.Paste F.Mask)) 20 | ) 21 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/0603-IND.kicad_mod: -------------------------------------------------------------------------------- 1 | (module 0603-IND (layer F.Cu) (tedit 0) 2 | (fp_text reference L1 (at 0 -0.635) (layer F.SilkS) 3 | (effects (font (size 0.38608 0.38608) (thickness 0.032512)) (justify bottom)) 4 | ) 5 | (fp_text value FERRITE-BEAD0603-IND (at 0 0) (layer F.SilkS) hide 6 | (effects (font (size 1.27 1.27) (thickness 0.15))) 7 | ) 8 | (fp_line (start -1.5 -0.85) (end 1.5 -0.85) (layer Dwgs.User) (width 0.0508)) 9 | (fp_line (start 1.5 -0.85) (end 1.5 0.85) (layer Dwgs.User) (width 0.0508)) 10 | (fp_line (start 1.5 0.85) (end -1.5 0.85) (layer Dwgs.User) (width 0.0508)) 11 | (fp_line (start -1.5 0.85) (end -1.5 -0.85) (layer Dwgs.User) (width 0.0508)) 12 | (fp_line (start -0.356 -0.432) (end 0.356 -0.432) (layer F.Fab) (width 0.1016)) 13 | (fp_line (start -0.356 0.419) (end 0.356 0.419) (layer F.Fab) (width 0.1016)) 14 | (fp_line (start 0 -0.0305) (end 0 0.0305) (layer F.SilkS) (width 0.4064)) 15 | (fp_poly (pts (xy -0.8382 0.4699) (xy -0.3381 0.4699) (xy -0.3381 -0.4801) (xy -0.8382 -0.4801)) (layer F.Fab) (width 0)) 16 | (fp_poly (pts (xy 0.3302 0.4699) (xy 0.8303 0.4699) (xy 0.8303 -0.4801) (xy 0.3302 -0.4801)) (layer F.Fab) (width 0)) 17 | (fp_poly (pts (xy -0.1999 0.3) (xy 0.1999 0.3) (xy 0.1999 -0.3) (xy -0.1999 -0.3)) (layer F.Adhes) (width 0)) 18 | (pad 1 smd rect (at -0.85 0) (size 1.1 1) (layers F.Cu F.Paste F.Mask)) 19 | (pad 2 smd rect (at 0.85 0) (size 1.1 1) (layers F.Cu F.Paste F.Mask)) 20 | ) 21 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/0603-RES.kicad_mod: -------------------------------------------------------------------------------- 1 | (module 0603-RES (layer F.Cu) (tedit 0) 2 | (fp_text reference R9 (at 0 -0.635) (layer F.SilkS) 3 | (effects (font (size 0.38608 0.38608) (thickness 0.032512)) (justify right top)) 4 | ) 5 | (fp_text value 10K (at 0 0) (layer F.SilkS) hide 6 | (effects (font (size 1.27 1.27) (thickness 0.15)) (justify right top)) 7 | ) 8 | (fp_line (start -1.5 -0.85) (end 1.5 -0.85) (layer Dwgs.User) (width 0.0508)) 9 | (fp_line (start 1.5 -0.85) (end 1.5 0.85) (layer Dwgs.User) (width 0.0508)) 10 | (fp_line (start 1.5 0.85) (end -1.5 0.85) (layer Dwgs.User) (width 0.0508)) 11 | (fp_line (start -1.5 0.85) (end -1.5 -0.85) (layer Dwgs.User) (width 0.0508)) 12 | (fp_line (start -0.356 -0.432) (end 0.356 -0.432) (layer F.Fab) (width 0.1016)) 13 | (fp_line (start -0.356 0.419) (end 0.356 0.419) (layer F.Fab) (width 0.1016)) 14 | (fp_poly (pts (xy -0.8382 0.4699) (xy -0.3381 0.4699) (xy -0.3381 -0.4801) (xy -0.8382 -0.4801)) (layer F.Fab) (width 0)) 15 | (fp_poly (pts (xy 0.3302 0.4699) (xy 0.8303 0.4699) (xy 0.8303 -0.4801) (xy 0.3302 -0.4801)) (layer F.Fab) (width 0)) 16 | (fp_poly (pts (xy -0.1999 0.3) (xy 0.1999 0.3) (xy 0.1999 -0.3) (xy -0.1999 -0.3)) (layer F.Adhes) (width 0)) 17 | (fp_poly (pts (xy -0.2032 0.381) (xy 0.2032 0.381) (xy 0.2032 -0.381) (xy -0.2032 -0.381)) (layer F.SilkS) (width 0)) 18 | (pad 1 smd rect (at -0.85 0) (size 1.1 1) (layers F.Cu F.Paste F.Mask)) 19 | (pad 2 smd rect (at 0.85 0) (size 1.1 1) (layers F.Cu F.Paste F.Mask)) 20 | ) 21 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/DFN8-2X3.kicad_mod: -------------------------------------------------------------------------------- 1 | (module DFN8-2X3 (layer F.Cu) (tedit 0) 2 | (descr "DCB Package 8-Lead Plastic DFN (2mm × 2mm)

\nSource: http://www.linear.com/pc/downloadDocument.do?navId=H0,C1,C1003,C1042,C1032,C1063,P26952,D16357") 3 | (fp_text reference AMP1 (at -1.27 0 90) (layer F.SilkS) 4 | (effects (font (size 0.38608 0.38608) (thickness 0.032512)) (justify bottom)) 5 | ) 6 | (fp_text value TSV912IQ2T (at 0 0) (layer F.SilkS) hide 7 | (effects (font (size 1.27 1.27) (thickness 0.15))) 8 | ) 9 | (fp_line (start -1.0922 0.9) (end -1.0922 -0.9) (layer F.SilkS) (width 0.2032)) 10 | (fp_line (start -1.1 -1.1) (end 1.1 -1.1) (layer F.Fab) (width 0.2032)) 11 | (fp_line (start 1.0922 -0.9) (end 1.0922 0.9) (layer F.SilkS) (width 0.2032)) 12 | (fp_line (start 1.1 1.1) (end -1.1 1.1) (layer F.Fab) (width 0.2032)) 13 | (fp_poly (pts (xy -0.777 0.517) (xy -0.227 0.517) (xy -0.227 0.392) (xy -0.777 0.392)) (layer F.SilkS) (width 0)) 14 | (pad EXP smd rect (at 0 0) (size 1.6 0.45) (layers F.Cu F.Paste F.Mask)) 15 | (pad 1 smd rect (at -0.75 1.025) (size 0.25 0.7) (layers F.Cu F.Paste F.Mask)) 16 | (pad 2 smd rect (at -0.25 1.025) (size 0.25 0.7) (layers F.Cu F.Paste F.Mask)) 17 | (pad 3 smd rect (at 0.25 1.025) (size 0.25 0.7) (layers F.Cu F.Paste F.Mask)) 18 | (pad 4 smd rect (at 0.75 1.025 180) (size 0.25 0.7) (layers F.Cu F.Paste F.Mask)) 19 | (pad 5 smd rect (at 0.75 -1.025 180) (size 0.25 0.7) (layers F.Cu F.Paste F.Mask)) 20 | (pad 6 smd rect (at 0.25 -1.025 180) (size 0.25 0.7) (layers F.Cu F.Paste F.Mask)) 21 | (pad 7 smd rect (at -0.25 -1.025 180) (size 0.25 0.7) (layers F.Cu F.Paste F.Mask)) 22 | (pad 8 smd rect (at -0.75 -1.025 180) (size 0.25 0.7) (layers F.Cu F.Paste F.Mask)) 23 | ) 24 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/MICRO-FIDUCIAL.kicad_mod: -------------------------------------------------------------------------------- 1 | (module MICRO-FIDUCIAL (layer F.Cu) (tedit 0) 2 | (fp_text reference FID3 (at 0 0) (layer F.SilkS) hide 3 | (effects (font (size 1.27 1.27) (thickness 0.15))) 4 | ) 5 | (fp_text value FIDUCIALUFIDUCIAL (at 0 0) (layer F.SilkS) hide 6 | (effects (font (size 1.27 1.27) (thickness 0.15))) 7 | ) 8 | (pad 1 smd circle (at 0 0) (size 0.635 0.635) (layers F.Cu F.Paste F.Mask)) 9 | ) 10 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/QFN24-4X4.kicad_mod: -------------------------------------------------------------------------------- 1 | (module QFN24-4X4 (layer F.Cu) (tedit 0) 2 | (descr "UF Package 24-Lead (4mm × 4mm) Plastic QFN

\nSource: http://cds.linear.com/docs/Datasheet/5598f.pdf") 3 | (fp_text reference USB1 (at 0 -2.54 -180) (layer F.SilkS) 4 | (effects (font (size 0.57912 0.57912) (thickness 0.046329)) (justify right top)) 5 | ) 6 | (fp_text value FT240XQ (at 0 0) (layer F.SilkS) hide 7 | (effects (font (size 1.27 1.27) (thickness 0.15)) (justify right top)) 8 | ) 9 | (fp_line (start -1.9 1.9) (end 1.9 1.9) (layer F.Fab) (width 0.2032)) 10 | (fp_line (start 1.9 1.9) (end 1.9 -1.9) (layer F.Fab) (width 0.2032)) 11 | (fp_line (start 1.9 -1.9) (end -1.9 -1.9) (layer F.Fab) (width 0.2032)) 12 | (fp_line (start -1.9 -1.9) (end -1.9 1.9) (layer F.Fab) (width 0.2032)) 13 | (fp_circle (center -1.345 -1.345) (end -1.19 -1.345) (layer F.Fab) (width 0)) 14 | (fp_poly (pts (xy -1.95 -1.525) (xy -1.525 -1.525) (xy -1.525 -1.975) (xy -1.95 -1.975)) (layer F.SilkS) (width 0)) 15 | (fp_poly (pts (xy -1.3 1.3) (xy 1.3 1.3) (xy 1.3 -1.3) (xy -1.3 -1.3)) (layer F.Mask) (width 0)) 16 | (fp_poly (pts (xy -0.6 -0.2) (xy -0.2 -0.2) (xy -0.2 -0.6) (xy -0.6 -0.6)) (layer F.Paste) (width 0)) 17 | (fp_poly (pts (xy 0.2 -0.2) (xy 0.6 -0.2) (xy 0.6 -0.6) (xy 0.2 -0.6)) (layer F.Paste) (width 0)) 18 | (fp_poly (pts (xy -0.6 0.6) (xy -0.2 0.6) (xy -0.2 0.2) (xy -0.6 0.2)) (layer F.Paste) (width 0)) 19 | (fp_poly (pts (xy 0.2 0.6) (xy 0.6 0.6) (xy 0.6 0.2) (xy 0.2 0.2)) (layer F.Paste) (width 0)) 20 | (pad 1 smd rect (at -1.9 -1.25) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 21 | (pad 2 smd rect (at -1.9 -0.75) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 22 | (pad 3 smd rect (at -1.9 -0.25) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 23 | (pad 4 smd rect (at -1.9 0.25) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 24 | (pad 5 smd rect (at -1.9 0.75) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 25 | (pad 6 smd rect (at -1.9 1.25) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 26 | (pad 7 smd rect (at -1.25 1.9 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 27 | (pad 8 smd rect (at -0.75 1.9 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 28 | (pad 9 smd rect (at -0.25 1.9 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 29 | (pad 10 smd rect (at 0.25 1.9 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 30 | (pad 11 smd rect (at 0.75 1.9 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 31 | (pad 12 smd rect (at 1.25 1.9 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 32 | (pad 13 smd rect (at 1.9 1.25 180) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 33 | (pad 14 smd rect (at 1.9 0.75 180) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 34 | (pad 15 smd rect (at 1.9 0.25 180) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 35 | (pad 16 smd rect (at 1.9 -0.25 180) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 36 | (pad 17 smd rect (at 1.9 -0.75 180) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 37 | (pad 18 smd rect (at 1.9 -1.25 180) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 38 | (pad 19 smd rect (at 1.25 -1.9 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 39 | (pad 20 smd rect (at 0.75 -1.9 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 40 | (pad 21 smd rect (at 0.25 -1.9 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 41 | (pad 22 smd rect (at -0.25 -1.9 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 42 | (pad 23 smd rect (at -0.75 -1.9 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 43 | (pad 24 smd rect (at -1.25 -1.9 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 44 | (pad EXP smd rect (at 0 0) (size 1.5 1.5) (layers F.Cu F.Paste F.Mask)) 45 | ) 46 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/SC70-5L.kicad_mod: -------------------------------------------------------------------------------- 1 | (module SC70-5L (layer F.Cu) (tedit 0) 2 | (descr "SC-70 Package") 3 | (fp_text reference SW2 (at -0.47625 0) (layer F.SilkS) 4 | (effects (font (size 0.28956 0.28956) (thickness 0.024384)) (justify left)) 5 | ) 6 | (fp_text value MC74VHC1G66DFT1G (at 0 0) (layer F.SilkS) hide 7 | (effects (font (size 1.27 1.27) (thickness 0.15))) 8 | ) 9 | (fp_line (start 1.1 0.5) (end -1.1 0.5) (layer F.Fab) (width 0.2032)) 10 | (fp_line (start -1.1 0.5) (end -1.1 -0.5) (layer F.SilkS) (width 0.2032)) 11 | (fp_line (start -1.1 -0.5) (end 1.1 -0.5) (layer F.Fab) (width 0.2032)) 12 | (fp_line (start 1.1 -0.5) (end 1.1 0.5) (layer F.SilkS) (width 0.2032)) 13 | (fp_circle (center -0.65 0.2) (end -0.5 0.2) (layer F.SilkS) (width 0)) 14 | (fp_poly (pts (xy 0.5 -0.6) (xy 0.8 -0.6) (xy 0.8 -1.1) (xy 0.5 -1.1)) (layer F.Fab) (width 0)) 15 | (fp_poly (pts (xy -0.8 -0.6) (xy -0.5 -0.6) (xy -0.5 -1.1) (xy -0.8 -1.1)) (layer F.Fab) (width 0)) 16 | (fp_poly (pts (xy -0.8 1.1) (xy -0.5 1.1) (xy -0.5 0.6) (xy -0.8 0.6)) (layer F.Fab) (width 0)) 17 | (fp_poly (pts (xy -0.15 1.1) (xy 0.15 1.1) (xy 0.15 0.6) (xy -0.15 0.6)) (layer F.Fab) (width 0)) 18 | (fp_poly (pts (xy 0.5 1.1) (xy 0.8 1.1) (xy 0.8 0.6) (xy 0.5 0.6)) (layer F.Fab) (width 0)) 19 | (pad 4 smd rect (at 0.65 -0.85) (size 0.35 0.8) (layers F.Cu F.Paste F.Mask)) 20 | (pad 5 smd rect (at -0.65 -0.85) (size 0.35 0.8) (layers F.Cu F.Paste F.Mask)) 21 | (pad 1 smd rect (at -0.65 0.85) (size 0.35 0.8) (layers F.Cu F.Paste F.Mask)) 22 | (pad 2 smd rect (at 0 0.85) (size 0.35 0.8) (layers F.Cu F.Paste F.Mask)) 23 | (pad 3 smd rect (at 0.65 0.85) (size 0.35 0.8) (layers F.Cu F.Paste F.Mask)) 24 | ) 25 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/SSOP8-P-0.50A.kicad_mod: -------------------------------------------------------------------------------- 1 | (module SSOP8-P-0.50A (layer F.Cu) (tedit 0) 2 | (fp_text reference COMP1 (at 0 -1.9304) (layer F.SilkS) 3 | (effects (font (size 0.38608 0.38608) (thickness 0.032512)) (justify bottom)) 4 | ) 5 | (fp_text value TC75W57FK (at 0 0) (layer F.SilkS) hide 6 | (effects (font (size 1.27 1.27) (thickness 0.15))) 7 | ) 8 | (fp_line (start -1.1 -1.2) (end -1.1 1.2) (layer F.SilkS) (width 0.127)) 9 | (fp_line (start 1.1 -1.2) (end 1.1 1.2) (layer F.SilkS) (width 0.127)) 10 | (fp_circle (center -0.8 0.7) (end -0.7 0.7) (layer F.SilkS) (width 0.127)) 11 | (pad 1 smd rect (at -0.75 1.35 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 12 | (pad 2 smd rect (at -0.25 1.35 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 13 | (pad 3 smd rect (at 0.25 1.35 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 14 | (pad 4 smd rect (at 0.75 1.35 90) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 15 | (pad 5 smd rect (at 0.75 -1.35 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 16 | (pad 6 smd rect (at 0.25 -1.35 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 17 | (pad 7 smd rect (at -0.25 -1.35 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 18 | (pad 8 smd rect (at -0.75 -1.35 270) (size 0.7 0.25) (layers F.Cu F.Paste F.Mask)) 19 | ) 20 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pretty/USB-A-RAWPINS.kicad_mod: -------------------------------------------------------------------------------- 1 | (module USB-A-RAWPINS (layer F.Cu) (tedit 0) 2 | (fp_text reference X1 (at 0 0) (layer F.SilkS) hide 3 | (effects (font (size 1.27 1.27) (thickness 0.15))) 4 | ) 5 | (fp_text value USBRAWPINS (at 0 0) (layer F.SilkS) hide 6 | (effects (font (size 1.27 1.27) (thickness 0.15))) 7 | ) 8 | (fp_line (start -5 -6) (end 3.7 -6) (layer F.Fab) (width 0.127)) 9 | (fp_line (start 3.7 -6) (end 3.7 6) (layer F.Fab) (width 0.127)) 10 | (fp_line (start 3.7 6) (end -5 6) (layer F.Fab) (width 0.127)) 11 | (fp_line (start -5 6) (end -5 -6) (layer F.Fab) (width 0.127)) 12 | (fp_text user >Name (at -1.27 -5.08) (layer F.SilkS) 13 | (effects (font (size 0.38608 0.38608) (thickness 0.032512)) (justify left bottom)) 14 | ) 15 | (fp_text user >Value (at -1.27 5.08) (layer F.SilkS) 16 | (effects (font (size 0.38608 0.38608) (thickness 0.032512)) (justify left bottom)) 17 | ) 18 | (pad 5V smd rect (at -0.2 3.5) (size 7.5 1.36) (layers F.Cu F.Paste F.Mask)) 19 | (pad USB_M smd rect (at 0.3 1) (size 6.5 1.36) (layers F.Cu F.Paste F.Mask)) 20 | (pad USB_P smd rect (at 0.3 -1) (size 6.5 1.36) (layers F.Cu F.Paste F.Mask)) 21 | (pad GND smd rect (at -0.2 -3.5) (size 7.5 1.36) (layers F.Cu F.Paste F.Mask)) 22 | ) 23 | -------------------------------------------------------------------------------- /kicad/infnoise_goldfingers.pro: -------------------------------------------------------------------------------- 1 | update=22/05/2015 07:44:53 2 | version=1 3 | last_client=kicad 4 | [general] 5 | version=1 6 | RootSch= 7 | BoardNm= 8 | [pcbnew] 9 | version=1 10 | LastNetListRead= 11 | UseCmpFile=1 12 | PadDrill=0.600000000000 13 | PadDrillOvalY=0.600000000000 14 | PadSizeH=1.500000000000 15 | PadSizeV=1.500000000000 16 | PcbTextSizeV=1.500000000000 17 | PcbTextSizeH=1.500000000000 18 | PcbTextThickness=0.300000000000 19 | ModuleTextSizeV=1.000000000000 20 | ModuleTextSizeH=1.000000000000 21 | ModuleTextSizeThickness=0.150000000000 22 | SolderMaskClearance=0.000000000000 23 | SolderMaskMinWidth=0.000000000000 24 | DrawSegmentWidth=0.200000000000 25 | BoardOutlineThickness=0.100000000000 26 | ModuleOutlineThickness=0.150000000000 27 | [cvpcb] 28 | version=1 29 | NetIExt=net 30 | [eeschema] 31 | version=1 32 | LibDir= 33 | [eeschema/libraries] 34 | -------------------------------------------------------------------------------- /kicad/sym-lib-table: -------------------------------------------------------------------------------- 1 | (sym_lib_table 2 | (lib (name infnoise_goldfingers-eagle-import)(type Legacy)(uri ${KIPRJMOD}/infnoise_goldfingers-eagle-import.lib)(options "")(descr "")) 3 | ) 4 | -------------------------------------------------------------------------------- /software/.gitignore: -------------------------------------------------------------------------------- 1 | infnoise 2 | *.a 3 | *.o 4 | *.so 5 | -------------------------------------------------------------------------------- /software/Keccak/KeccakF-1600-interface.h: -------------------------------------------------------------------------------- 1 | /* 2 | The Keccak sponge function, designed by Guido Bertoni, Joan Daemen, 3 | Michaël Peeters and Gilles Van Assche. For more information, feedback or 4 | questions, please refer to our website: http://keccak.noekeon.org/ 5 | 6 | Implementation by the designers, 7 | hereby denoted as "the implementer". 8 | 9 | To the extent possible under law, the implementer has waived all copyright 10 | and related or neighboring rights to the source code in this file. 11 | http://creativecommons.org/publicdomain/zero/1.0/ 12 | */ 13 | 14 | #ifndef _KeccakPermutationInterface_h_ 15 | #define _KeccakPermutationInterface_h_ 16 | 17 | 18 | #define KeccakPermutationSize 1600 19 | #define KeccakPermutationSizeInBytes (KeccakPermutationSize/8) 20 | 21 | void KeccakInitialize(void); 22 | void KeccakInitializeState(unsigned char *state); 23 | void KeccakPermutation(unsigned char *state); 24 | void KeccakAbsorb(unsigned char *state, const unsigned char *data, unsigned int laneCount); 25 | void KeccakExtract(const unsigned char *state, unsigned char *data, unsigned int laneCount); 26 | 27 | #endif 28 | -------------------------------------------------------------------------------- /software/Makefile.darwin: -------------------------------------------------------------------------------- 1 | GIT_VERSION ?= $(shell git --no-pager describe --tags --always) 2 | GIT_COMMIT ?= $(shell git rev-parse --verify HEAD) 3 | GIT_DATE ?= $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only)) 4 | 5 | PREFIX = $(DESTDIR)/usr/local 6 | FTDILOC = /usr/local/Cellar/libftdi/1.4/include/libftdi1/ 7 | 8 | CFLAGS = -Wall -Wextra -Werror -std=c99 -O3 -fPIC -I Keccak -I $(FTDILOC) \ 9 | -DGIT_VERSION=\"$(GIT_VERSION)\"\ 10 | -DGIT_COMMIT=\"$(GIT_COMMIT)\"\ 11 | -DGIT_DATE=\"$(GIT_DATE)\"\ 12 | -DMACOS 13 | 14 | FTDI= -lftdi1 15 | 16 | all: libinfnoise.a libinfnoise.dylib infnoise 17 | 18 | clean: 19 | rm -f *.o *.a infnoise 20 | 21 | infnoise: libinfnoise.a infnoise.o daemon.o 22 | $(CC) $(CFLAGS) -o infnoise infnoise.o daemon.o libinfnoise.a $(FTDI) -lm -L. -linfnoise 23 | 24 | %.o: %.c infnoise.h libinfnoise.h 25 | $(CC) -c -o $@ $< $(CFLAGS) 26 | 27 | KeccakF-1600-reference.o: Keccak/KeccakF-1600-reference.c Keccak/KeccakF-1600-interface.h Keccak/brg_endian.h 28 | $(CC) -c -o $@ $< $(CFLAGS) 29 | 30 | # static lib compiled into infnoise binary 31 | libinfnoise.o: libinfnoise.c libinfnoise.h libinfnoise_private.h healthcheck.c 32 | $(CC) $(CFLAGS) -c libinfnoise.c 33 | 34 | libinfnoise.a: libinfnoise.o healthcheck.o KeccakF-1600-reference.o 35 | 36 | ar rcs libinfnoise.a libinfnoise.o healthcheck.o KeccakF-1600-reference.o 37 | ranlib libinfnoise.a 38 | 39 | # shared lib 40 | libinfnoise.dylib: libinfnoise.o healthcheck.o KeccakF-1600-reference.o 41 | $(CC) $(CFLAGS) -fvisibility=hidden -o libinfnoise.dylib libinfnoise.o healthcheck.o KeccakF-1600-reference.o -Wl $(FTDI) -lm -dynamiclib 42 | 43 | libs: libinfnoise.a 44 | 45 | clean: 46 | $(RM) infnoise *.o *.a *.gch *.dylib libinfnoise-example 47 | 48 | install-lib: libinfnoise.dylib 49 | install -d $(PREFIX)/include 50 | install -m 0644 libinfnoise.h $(PREFIX)/include 51 | install -d $(PREFIX)/lib 52 | install -m 0644 libinfnoise.dylib $(PREFIX)/lib 53 | 54 | install: infnoise 55 | install -d $(PREFIX)/bin 56 | install -m 0755 infnoise $(PREFIX)/bin/ 57 | install -d $(PREFIX)/lib/udev/rules.d/ 58 | install -m 0644 init_scripts/75-infnoise.rules $(PREFIX)/lib/udev/rules.d/ 59 | install -d $(PREFIX)/lib/systemd/system 60 | install -m 0644 init_scripts/infnoise.service $(PREFIX)/lib/systemd/system 61 | 62 | postinstall: 63 | systemctl restart systemd-udevd 64 | systemctl enable infnoise 65 | -------------------------------------------------------------------------------- /software/Makefile.freebsd: -------------------------------------------------------------------------------- 1 | GIT_VERSION ?= $(shell git --no-pager describe --tags --always) 2 | GIT_COMMIT ?= $(shell git rev-parse --verify HEAD) 3 | GIT_DATE ?= $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only)) 4 | 5 | PREFIX = $(DESTDIR)/usr/local 6 | 7 | # Against: libftdi1 from ports/pkg 8 | # 9 | FTDILOCI = /usr/local/include/libftdi1 10 | FTDILOCL = /usr/local/lib 11 | FTDI= -lftdi1 12 | 13 | CFLAGS = -Wall -Wextra -Werror -std=c99 -O3 -fPIC -I Keccak -I $(FTDILOCI) \ 14 | -DGIT_VERSION=\"$(GIT_VERSION)\"\ 15 | -DGIT_COMMIT=\"$(GIT_COMMIT)\"\ 16 | -DGIT_DATE=\"$(GIT_DATE)\"\ 17 | 18 | RM=rm 19 | 20 | all: libinfnoise.a libinfnoise.so infnoise 21 | 22 | infnoise: libinfnoise.a infnoise.o daemon.o 23 | $(CC) $(CFLAGS) -o infnoise infnoise.o daemon.o libinfnoise.a $(FTDI) -lm -L. -L $(FTDILOCL) 24 | 25 | %.o: %.c infnoise.h libinfnoise.h 26 | $(CC) -c -o $@ $< $(CFLAGS) 27 | 28 | KeccakF-1600-reference.o: Keccak/KeccakF-1600-reference.c Keccak/KeccakF-1600-interface.h Keccak/brg_endian.h 29 | $(CC) -c -o $@ $< $(CFLAGS) 30 | 31 | # static lib compiled into infnoise binary 32 | libinfnoise.o: libinfnoise.c libinfnoise.h libinfnoise_private.h healthcheck.c 33 | $(CC) $(CFLAGS) -c libinfnoise.c 34 | 35 | libinfnoise.a: libinfnoise.o healthcheck.o KeccakF-1600-reference.o 36 | ar rcs libinfnoise.a libinfnoise.o healthcheck.o KeccakF-1600-reference.o 37 | ranlib libinfnoise.a 38 | 39 | # shared lib 40 | libinfnoise.so: libinfnoise.o healthcheck.o KeccakF-1600-reference.o 41 | $(CC) $(CFLAGS) -fvisibility=hidden -o libinfnoise.so libinfnoise.o healthcheck.o KeccakF-1600-reference.o -L $(FTDILOCL) -Wl $(FTDI) -lm -shared 42 | 43 | libs: libinfnoise.a 44 | 45 | clean: 46 | $(RM) -f infnoise *.o *.a *.gch *.so libinfnoise-example 47 | 48 | install-lib: libinfnoise.so 49 | install -d $(PREFIX)/include 50 | install -m 0644 libinfnoise.h $(PREFIX)/include 51 | install -d $(PREFIX)/lib 52 | install -m 0644 libinfnoise.so $(PREFIX)/lib 53 | ldconfig $(PREFIX)/lib 54 | 55 | install: infnoise 56 | install -d $(PREFIX)/sbin 57 | install -m 0755 infnoise $(PREFIX)/sbin/ 58 | install -d $(PREFIX)/lib/udev/rules.d/ 59 | install -m 0644 init_scripts/75-infnoise.rules $(PREFIX)/lib/udev/rules.d/ 60 | install -d $(PREFIX)/lib/systemd/system 61 | install -m 0644 init_scripts/infnoise.service $(PREFIX)/lib/systemd/system 62 | 63 | postinstall: 64 | systemctl restart systemd-udevd 65 | systemctl enable infnoise 66 | -------------------------------------------------------------------------------- /software/Makefile.linux: -------------------------------------------------------------------------------- 1 | GIT_VERSION ?= $(shell git --no-pager describe --tags --always) 2 | GIT_COMMIT ?= $(shell git rev-parse --verify HEAD) 3 | GIT_DATE ?= $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only)) 4 | 5 | PREFIX = $(DESTDIR)/usr/local 6 | 7 | CFLAGS = -Wall -Wextra -Werror -std=c99 -O3 -fPIC -I Keccak -I /usr/include/libftdi1 \ 8 | -DGIT_VERSION=\"$(GIT_VERSION)\"\ 9 | -DGIT_COMMIT=\"$(GIT_COMMIT)\"\ 10 | -DGIT_DATE=\"$(GIT_DATE)\"\ 11 | -DLINUX 12 | 13 | FTDI = $(shell $(CC) -o /dev/null -x c /dev/null -shared -lftdi 2>/dev/null && echo -lftdi || echo -lftdi1) 14 | 15 | all: libinfnoise.a libinfnoise.so infnoise 16 | 17 | infnoise: libinfnoise.a infnoise.o daemon.o 18 | $(CC) $(CFLAGS) -o infnoise infnoise.o daemon.o libinfnoise.a $(FTDI) -lm -lrt -L. 19 | 20 | %.o: %.c infnoise.h libinfnoise.h 21 | $(CC) -c -o $@ $< $(CFLAGS) 22 | 23 | KeccakF-1600-reference.o: Keccak/KeccakF-1600-reference.c Keccak/KeccakF-1600-interface.h Keccak/brg_endian.h 24 | $(CC) -c -o $@ $< $(CFLAGS) 25 | 26 | # static lib compiled into infnoise binary 27 | libinfnoise.o: libinfnoise.c libinfnoise.h libinfnoise_private.h healthcheck.c 28 | $(CC) $(CFLAGS) -c libinfnoise.c 29 | 30 | libinfnoise.a: libinfnoise.o healthcheck.o KeccakF-1600-reference.o writeentropy.o 31 | ar rcs libinfnoise.a libinfnoise.o healthcheck.o KeccakF-1600-reference.o writeentropy.o 32 | ranlib libinfnoise.a 33 | 34 | # shared lib 35 | libinfnoise.so: libinfnoise.o healthcheck.o KeccakF-1600-reference.o writeentropy.o 36 | $(CC) $(CFLAGS) -fvisibility=hidden -o libinfnoise.so libinfnoise.o healthcheck.o KeccakF-1600-reference.o writeentropy.o -Wl,--version-script=libinfnoise.version $(FTDI) -lm -shared 37 | 38 | libs: libinfnoise.a 39 | 40 | clean: 41 | $(RM) infnoise *.o *.a *.gch *.so libinfnoise-example 42 | 43 | install-lib: libinfnoise.so 44 | install -d $(PREFIX)/include 45 | install -m 0644 libinfnoise.h $(PREFIX)/include 46 | install -d $(PREFIX)/lib 47 | install -m 0644 libinfnoise.so $(PREFIX)/lib 48 | ldconfig $(PREFIX)/lib 49 | 50 | install: infnoise 51 | install -d $(PREFIX)/sbin 52 | install -m 0755 infnoise $(PREFIX)/sbin/ 53 | install -d $(PREFIX)/lib/udev/rules.d/ 54 | install -m 0644 init_scripts/75-infnoise.rules $(PREFIX)/lib/udev/rules.d/ 55 | install -d $(PREFIX)/lib/systemd/system 56 | install -m 0644 init_scripts/infnoise.service $(PREFIX)/lib/systemd/system 57 | 58 | postinstall: 59 | systemctl restart systemd-udevd 60 | systemctl enable infnoise 61 | -------------------------------------------------------------------------------- /software/Makefile.macos: -------------------------------------------------------------------------------- 1 | SHELL = /bin/bash 2 | 3 | GIT_VERSION ?= $(shell git --no-pager describe --tags --always) 4 | GIT_COMMIT ?= $(shell git rev-parse --verify HEAD) 5 | GIT_DATE ?= $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only)) 6 | 7 | PREFIX = $(DESTDIR)/usr/local 8 | 9 | # Against 'libftdi0' from MacOS X ports or brew 10 | # 11 | FTDILOCI = $(shell brew --prefix libftdi || echo /opt/local)/include/libftdi1 12 | FTDILOCL = $(shell brew --prefix libftdi || echo /opt/local)/lib 13 | FTDI= -lftdi1 14 | 15 | CFLAGS = -Wall -Wextra -Werror -std=c99 -O3 -fPIC -I Keccak -I $(FTDILOCI) \ 16 | -DGIT_VERSION=\"$(GIT_VERSION)\"\ 17 | -DGIT_COMMIT=\"$(GIT_COMMIT)\"\ 18 | -DGIT_DATE=\"$(GIT_DATE)\"\ 19 | 20 | RM=rm 21 | 22 | all: libinfnoise.a libinfnoise.so infnoise tools.stamp 23 | 24 | infnoise: libinfnoise.a infnoise.o daemon.o 25 | $(CC) $(CFLAGS) -o infnoise infnoise.o daemon.o libinfnoise.a $(FTDI) -lm -L. -L $(FTDILOCL) 26 | 27 | %.o: %.c infnoise.h libinfnoise.h 28 | $(CC) -c -o $@ $< $(CFLAGS) 29 | 30 | KeccakF-1600-reference.o: Keccak/KeccakF-1600-reference.c Keccak/KeccakF-1600-interface.h Keccak/brg_endian.h 31 | $(CC) -c -o $@ $< $(CFLAGS) 32 | 33 | # static lib compiled into infnoise binary 34 | libinfnoise.o: libinfnoise.c libinfnoise.h libinfnoise_private.h healthcheck.c 35 | $(CC) $(CFLAGS) -c libinfnoise.c 36 | 37 | libinfnoise.a: libinfnoise.o healthcheck.o KeccakF-1600-reference.o 38 | 39 | ar rcs libinfnoise.a libinfnoise.o healthcheck.o KeccakF-1600-reference.o 40 | ranlib libinfnoise.a 41 | 42 | # shared lib 43 | libinfnoise.so: libinfnoise.o healthcheck.o KeccakF-1600-reference.o 44 | $(CC) $(CFLAGS) -fvisibility=hidden -o libinfnoise.so libinfnoise.o healthcheck.o KeccakF-1600-reference.o -L $(FTDILOCL) -Wl $(FTDI) -lm -shared 45 | 46 | libs: libinfnoise.a 47 | 48 | tools.stamp: 49 | $(MAKE) -C tools all 50 | touch tools.stamp 51 | 52 | clean: 53 | $(RM) -f infnoise *.o *.a *.gch *.so libinfnoise-example tools.stamp 54 | $(MAKE) -C tools clean 55 | 56 | install-lib: libinfnoise.so 57 | install -d $(PREFIX)/include 58 | install -m 0644 libinfnoise.h $(PREFIX)/include 59 | install -d $(PREFIX)/lib 60 | install -m 0644 libinfnoise.so $(PREFIX)/lib 61 | 62 | install: infnoise 63 | install -d $(PREFIX)/sbin 64 | install -m 0755 infnoise $(PREFIX)/sbin/ 65 | install -d $(PREFIX)/lib/udev/rules.d/ 66 | install -m 0644 init_scripts/75-infnoise.rules $(PREFIX)/lib/udev/rules.d/ 67 | install -d $(PREFIX)/lib/systemd/system 68 | install -m 0644 init_scripts/infnoise.service $(PREFIX)/lib/systemd/system 69 | 70 | install-tools: install tools.stamp 71 | install -d $(PREFIX)/bin 72 | install -m 0755 tools/bin2hex tools/dice tools/entcheck tools/findlongest tools/flipbits tools/healthcheck tools/hex2bin tools/passgen $(PREFIX)/bin/ -------------------------------------------------------------------------------- /software/VisualStudio/ftdi/README.md: -------------------------------------------------------------------------------- 1 | # FTDI driver required 2 | 3 | Download FTDI Windows Drivers from [FTDI D2XX Drivers page](http://www.ftdichip.com/Drivers/D2XX.htm). 4 | 5 | Using the latest `CDM v2.12.28 WHQL Certified.zip` driver archive, extract it to the `ftdi` folder: 6 | 7 | The directory structure should be as follows: 8 | ``` 9 | ftdi 10 | +--- README.md (existing) 11 | +--- amd64 12 | +--- i386 13 | +--- Static 14 | +--- amd64 15 | +--- i386 16 | ``` 17 | -------------------------------------------------------------------------------- /software/VisualStudio/infnoise.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.29009.5 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "infnoise", "infnoise.vcxproj", "{33979899-189C-4091-BB6F-39988417AB0C}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Win32 = Debug|Win32 11 | Debug|x64 = Debug|x64 12 | Release|Win32 = Release|Win32 13 | Release|x64 = Release|x64 14 | EndGlobalSection 15 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 16 | {33979899-189C-4091-BB6F-39988417AB0C}.Debug|Win32.ActiveCfg = Debug|Win32 17 | {33979899-189C-4091-BB6F-39988417AB0C}.Debug|Win32.Build.0 = Debug|Win32 18 | {33979899-189C-4091-BB6F-39988417AB0C}.Debug|x64.ActiveCfg = Debug|x64 19 | {33979899-189C-4091-BB6F-39988417AB0C}.Debug|x64.Build.0 = Debug|x64 20 | {33979899-189C-4091-BB6F-39988417AB0C}.Release|Win32.ActiveCfg = Release|Win32 21 | {33979899-189C-4091-BB6F-39988417AB0C}.Release|Win32.Build.0 = Release|Win32 22 | {33979899-189C-4091-BB6F-39988417AB0C}.Release|x64.ActiveCfg = Release|x64 23 | {33979899-189C-4091-BB6F-39988417AB0C}.Release|x64.Build.0 = Release|x64 24 | EndGlobalSection 25 | GlobalSection(SolutionProperties) = preSolution 26 | HideSolutionNode = FALSE 27 | EndGlobalSection 28 | GlobalSection(ExtensibilityGlobals) = postSolution 29 | SolutionGuid = {7C454E86-78CE-458F-BC76-7D2EDA28E66C} 30 | EndGlobalSection 31 | EndGlobal 32 | -------------------------------------------------------------------------------- /software/VisualStudio/infnoise.vcxproj.filters: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | {93995380-89BD-4b04-88EB-625FBE52EBFB} 10 | h;hh;hpp;hxx;hm;inl;inc;xsd 11 | 12 | 13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} 14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms 15 | 16 | 17 | {92d858ca-f62c-4035-b874-4391ac4a3de8} 18 | 19 | 20 | 21 | 22 | Source Files 23 | 24 | 25 | Source Files 26 | 27 | 28 | Source Files 29 | 30 | 31 | 32 | 33 | FTDI Libraries 34 | 35 | 36 | Header Files 37 | 38 | 39 | Header Files 40 | 41 | 42 | Header Files 43 | 44 | 45 | Header Files 46 | 47 | 48 | Header Files 49 | 50 | 51 | 52 | 53 | FTDI Libraries 54 | 55 | 56 | 57 | 58 | FTDI Libraries 59 | 60 | 61 | -------------------------------------------------------------------------------- /software/VisualStudio/infnoise.vcxproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /software/build-scripts/INSTALL.arch: -------------------------------------------------------------------------------- 1 | post_install() { 2 | systemctl enable infnoise 3 | systemctl restart systemd-udevd 4 | } 5 | 6 | pre_remove() { 7 | systemctl disable infnoise 8 | systemctl restart systemd-udevd 9 | } 10 | -------------------------------------------------------------------------------- /software/build-scripts/PKGBUILD.arch: -------------------------------------------------------------------------------- 1 | # Maintainer: Manuel Domke 2 | 3 | _pkgname=infnoise 4 | 5 | pkgname=${_pkgname} 6 | pkgver=0.2.6.r86.g453234b 7 | pkgdesc="Infinite Noise TRNG - The world's easiest TRNG to get right" 8 | license=('custom:CC0') 9 | url='https://github.com/13-37-org/infnoise' 10 | depends=('libftdi-compat') 11 | makedepends=("git") 12 | source=('git+https://github.com/13-37-org/infnoise') 13 | sha256sums=("SKIP") 14 | install='INSTALL' 15 | 16 | pkgver() { 17 | cd "${_pkgname}" 18 | git describe --long --tags | sed 's/-/.r/;s/-/./' 19 | } 20 | 21 | build() { 22 | cd "${srcdir}/infnoise/software/" 23 | make -f Makefile.linux 24 | } 25 | 26 | package() { 27 | install -Dvm755 "${srcdir}/infnoise/software/infnoise" "${pkgdir}/usr/bin/infnoise" 28 | install -Dvm644 "${srcdir}/infnoise/software/libinfnoise.a" "${pkgdir}/usr/lib/libinfnoise.a" 29 | install -Dvm755 "${srcdir}/infnoise/software/libinfnoise.so" "${pkgdir}/usr/lib/libinfnoise.so" 30 | install -Dvm644 "${srcdir}/infnoise/software/init_scripts/75-infnoise.rules" "${pkgdir}/etc/udev/rules.d/75-infnoise.rules" 31 | install -Dvm644 "${srcdir}/infnoise/software/init_scripts/infnoise.conf.systemd" "${pkgdir}/etc/infnoise.conf" 32 | install -Dvm644 "${srcdir}/infnoise/software/init_scripts/infnoise.service.bin" "${pkgdir}/usr/lib/systemd/system/infnoise.service" 33 | } 34 | -------------------------------------------------------------------------------- /software/build-scripts/README.md: -------------------------------------------------------------------------------- 1 | The scripts need to be run from the software directory like this: 2 | 3 | ```$ build-scripts/build.sh x86``` 4 | 5 | and can create packages of the following types: 6 | - DEB (Debian, Ubuntu, Raspbian) 7 | - RPM (CentOS, Fedora) 8 | - ArchLinux 9 | 10 | The packages are signed and made available as Github releases 11 | and via the apt repository described in software/README. 12 | 13 | During the build the GitHub release and version information are compiled into the binary. 14 | 15 | ``` 16 | $ infnoise --version 17 | GIT VERSION - 0.2.2 18 | GIT COMMIT - b428787161f7c759c70c081621ffe43f24ca73b1 19 | GIT DATE - 2018-03-01T23:43:26+01:00 20 | BUILD DATE - 2018-03-01T23:50:33+01:00 21 | ``` 22 | -------------------------------------------------------------------------------- /software/build-scripts/build-archlinux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -ex 2 | 3 | VERSION=`git --no-pager describe --tags --always | cut -d'-' -f1` 4 | PKGREL=`git --no-pager describe --tags --always | cut -d'-' -f2` 5 | 6 | GITREPO=`git config --get remote.origin.url` 7 | 8 | if [ $VERSION == $PKGREL ]; then # this is a release 9 | PKGREL=0 10 | fi 11 | 12 | SIGNPACKAGE=1 13 | 14 | while test $# -gt 0 15 | do 16 | case "$1" in 17 | --notsigned) SIGNPACKAGE=0 18 | ;; 19 | esac 20 | shift 21 | done 22 | 23 | # x86_64 24 | mkdir -p x86_64 25 | cd x86_64 26 | 27 | cp ../PKGBUILD.arch PKGBUILD 28 | cp ../INSTALL.arch INSTALL 29 | 30 | sed -i "s|.*source.*=.*(.*).*|source=('git+$GITREPO')|g" PKGBUILD 31 | #echo "pkgver=$VERSION.$PKGREL" >> PKGBUILD 32 | echo "pkgrel=1" >> PKGBUILD 33 | echo "arch=('x86_64')" >> PKGBUILD 34 | 35 | makepkg -f 36 | 37 | if [ $SIGNPACKAGE -eq 1 ]; then 38 | PKGEXT='.pkg.tar.xz' makepkg --packagelist | xargs -L1 gpg --sign 39 | fi 40 | -------------------------------------------------------------------------------- /software/build-scripts/build-rpm.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -ex 2 | 3 | VERSION=`git --no-pager describe --tags --always | cut -d'-' -f1` 4 | RELEASE=`git --no-pager describe --tags --always | cut -d'-' -f2` 5 | 6 | if [ $VERSION == $RELEASE ]; then # this is a release 7 | RELEASE=0 8 | fi 9 | 10 | ARCH=$2 11 | 12 | PATH=$PATH:/sbin/ 13 | 14 | mkdir -p SOURCES 15 | tar -czf SOURCES/infnoise-$VERSION.tar.gz . --exclude="SOURCES" 16 | mkdir -p BUILD SPECS RPMS SRPMS 17 | 18 | cp build-scripts/infnoise.spec build-scripts/infnoise-tools.spec SPECS 19 | sed -i -- 's/__VERSION__/'$VERSION'/g' SPECS/infnoise.spec 20 | sed -i -- 's/__RELEASE__/'$RELEASE'/g' SPECS/infnoise.spec 21 | 22 | sed -i -- 's/__VERSION__/'$VERSION'/g' SPECS/infnoise-tools.spec 23 | sed -i -- 's/__RELEASE__/'$RELEASE'/g' SPECS/infnoise-tools.spec 24 | 25 | pwd 26 | 27 | rpmbuild --define "_topdir `pwd`" -ba SPECS/infnoise.spec 28 | 29 | pwd 30 | 31 | rpmbuild --define "_topdir `pwd`" -ba SPECS/infnoise-tools.spec 32 | -------------------------------------------------------------------------------- /software/build-scripts/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh -ex 2 | 3 | ARCH=$1 4 | VERSION=`git --no-pager describe --tags --always` 5 | 6 | PATH=$PATH:/sbin/ 7 | 8 | make -f Makefile.linux clean 9 | make -f Makefile.linux 10 | 11 | rm -rf build 12 | mkdir -p build/DEBIAN 13 | cp build-scripts/control.debian.infnoise build/DEBIAN/control 14 | cp build-scripts/infnoise.postinst build/DEBIAN/postinst 15 | chmod 775 build/DEBIAN/postinst 16 | echo "Version: $VERSION" >> build/DEBIAN/control 17 | echo "Architecture: $ARCH" >> build/DEBIAN/control 18 | 19 | mkdir -p build/usr/sbin/ 20 | mkdir -p build/etc/udev/rules.d/ 21 | mkdir -p build/lib/systemd/system/ 22 | 23 | cp infnoise build/usr/sbin/ 24 | cp init_scripts/infnoise.conf.systemd build/etc/infnoise.conf 25 | cp init_scripts/75-infnoise.rules build/etc/udev/rules.d/75-infnoise.rules 26 | cp init_scripts/infnoise.service.sbin build/lib/systemd/system/infnoise.service 27 | 28 | if [ ! -e build/usr/sbin/infnoise ] ; then 29 | echo "$2 binary missing" 30 | exit 1; 31 | fi 32 | 33 | fakeroot dpkg-deb -Zxz -b build/ infnoise_${VERSION}_${ARCH}.deb 34 | 35 | ### build infnoise-tools ### 36 | rm -rf build 37 | 38 | cd tools 39 | mkdir -p build/usr/bin/ 40 | 41 | make -f Makefile 42 | 43 | cp passgen build/usr/bin/infnoise-passgen 44 | cp dice build/usr/bin/infnoise-dice 45 | cp entcheck build/usr/bin/infnoise-entcheck 46 | cp healthcheck build/usr/bin/infnoise-healthcheck 47 | cp hex2bin build/usr/bin/infnoise-hex2bin 48 | cp bin2hex build/usr/bin/infnoise-bin2hex 49 | cp findlongest build/usr/bin/infnoise-findlongest 50 | cp flipbits build/usr/bin/infnoise-flipbits 51 | 52 | mkdir -p build/DEBIAN 53 | cp ../build-scripts/control.debian.tools build/DEBIAN/control 54 | echo "Version: $VERSION" >> build/DEBIAN/control 55 | echo "Architecture: $ARCH" >> build/DEBIAN/control 56 | 57 | fakeroot dpkg-deb -Zxz -b build/ infnoise-tools_${VERSION}_${ARCH}.deb 58 | 59 | rm -rf build 60 | cd .. 61 | 62 | ### build libinfnoise ### 63 | rm -rf build 64 | 65 | mkdir -p build/usr/lib 66 | mkdir -p build/usr/include 67 | 68 | make -f Makefile.linux libinfnoise.so 69 | 70 | cp libinfnoise.so build/usr/lib/ 71 | cp libinfnoise.h build/usr/include 72 | 73 | mkdir -p build/DEBIAN 74 | cp build-scripts/control.debian.lib build/DEBIAN/control 75 | echo "Version: $VERSION" >> build/DEBIAN/control 76 | echo "Architecture: $ARCH" >> build/DEBIAN/control 77 | 78 | fakeroot dpkg-deb -Zxz -b build/ libinfnoise_${VERSION}_${ARCH}.deb 79 | 80 | rm -rf build 81 | -------------------------------------------------------------------------------- /software/build-scripts/control.debian.infnoise: -------------------------------------------------------------------------------- 1 | Package: infnoise 2 | Essential: no 3 | Section: security 4 | Priority: optional 5 | Depends: libftdi1 6 | Maintainer: Manuel Domke 7 | Installed-Size: 12K 8 | Description: Infinite Noise TRNG driver 9 | -------------------------------------------------------------------------------- /software/build-scripts/control.debian.lib: -------------------------------------------------------------------------------- 1 | Package: libinfnoise 2 | Essential: no 3 | Section: security 4 | Depends: libftdi1 5 | Priority: optional 6 | Maintainer: Manuel Domke 7 | Installed-Size: 12K 8 | Description: Infinite Noise TRNG library 9 | -------------------------------------------------------------------------------- /software/build-scripts/control.debian.tools: -------------------------------------------------------------------------------- 1 | Package: infnoise-tools 2 | Essential: no 3 | Section: security 4 | Depends: infnoise 5 | Priority: optional 6 | Maintainer: Manuel Domke 7 | Installed-Size: 12K 8 | Description: Infinite Noise TRNG tools 9 | -------------------------------------------------------------------------------- /software/build-scripts/infnoise-tools.spec: -------------------------------------------------------------------------------- 1 | Name: infnoise-tools 2 | Version: __VERSION__ 3 | Release: __RELEASE__ 4 | Summary: Infinite Noise TRNG 5 | Group: Applications/Security 6 | License: CC0 7 | URL: https://github.com/13-37-org/infnoise 8 | Vendor: 13-37.org 9 | Source: infnoise-%{version}.tar.gz 10 | Prefix: %{_prefix} 11 | Packager: Manuel Domke 12 | BuildRoot: %{_tmppath}/%{name}-root 13 | 14 | %description 15 | 16 | %prep 17 | tar -xzf ../SOURCES/infnoise-%{version}.tar.gz 18 | 19 | %build 20 | cd tools 21 | make 22 | 23 | %install 24 | #make DESTDIR=$RPM_BUILD_ROOT install 25 | install -Dvm755 "tools/passgen" "$RPM_BUILD_ROOT/usr/bin/infnoise-passgen" 26 | install -Dvm755 "tools/dice" "$RPM_BUILD_ROOT/usr/bin/infnoise-dice" 27 | install -Dvm755 "tools/healthcheck" "$RPM_BUILD_ROOT/usr/bin/infnoise-entcheck" 28 | install -Dvm755 "tools/entcheck" "$RPM_BUILD_ROOT/usr/bin/infnoise-healthcheck" 29 | install -Dvm755 "tools/hex2bin" "$RPM_BUILD_ROOT/usr/bin/infnoise-hex2bin" 30 | install -Dvm755 "tools/bin2hex" "$RPM_BUILD_ROOT/usr/bin/infnoise-bin2hex" 31 | install -Dvm755 "tools/findlongest" "$RPM_BUILD_ROOT/usr/bin/infnoise-findlongest" 32 | install -Dvm755 "tools/flipbits" "$RPM_BUILD_ROOT/usr/bin/infnoise-flipbits" 33 | 34 | %clean 35 | [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT 36 | 37 | %files 38 | %defattr(-,root,root) 39 | %{_bindir}/infnoise-passgen 40 | %{_bindir}/infnoise-dice 41 | %{_bindir}/infnoise-entcheck 42 | %{_bindir}/infnoise-hex2bin 43 | %{_bindir}/infnoise-bin2hex 44 | %{_bindir}/infnoise-findlongest 45 | %{_bindir}/infnoise-flipbits 46 | %{_bindir}/infnoise-healthcheck 47 | -------------------------------------------------------------------------------- /software/build-scripts/infnoise.postinst: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | systemctl --system daemon-reload 4 | systemctl enable infnoise 5 | 6 | service udev reload 7 | -------------------------------------------------------------------------------- /software/build-scripts/infnoise.spec: -------------------------------------------------------------------------------- 1 | Name: infnoise 2 | Version: __VERSION__ 3 | Release: __RELEASE__ 4 | Summary: Infinite Noise TRNG 5 | Group: Applications/Security 6 | License: CC0 7 | URL: https://github.com/manuel-domke/infnoise 8 | Vendor: 13-37.org 9 | Source: infnoise-%{version}.tar.gz 10 | Prefix: %{_prefix} 11 | Packager: Manuel Domke 12 | BuildRoot: %{_tmppath}/%{name}-root 13 | 14 | %description 15 | 16 | %prep 17 | tar -xzf ../SOURCES/infnoise-%{version}.tar.gz 18 | 19 | %build 20 | make -f Makefile.linux 21 | 22 | %install 23 | #make DESTDIR=$RPM_BUILD_ROOT install 24 | install -Dvm755 "infnoise" "$RPM_BUILD_ROOT/usr/bin/infnoise" 25 | install -Dvm644 "init_scripts/infnoise.conf.systemd" "$RPM_BUILD_ROOT/etc/infnoise.conf" 26 | install -Dvm644 "init_scripts/75-infnoise.rules" "$RPM_BUILD_ROOT/usr/lib/udev/rules.d/75-infnoise.rules" 27 | install -Dvm644 "init_scripts/infnoise.service.bin" "$RPM_BUILD_ROOT/usr/lib/systemd/system/infnoise.service" 28 | 29 | %post 30 | systemctl daemon-reload 31 | systemctl enable infnoise.service 32 | systemctl daemon-reload 33 | 34 | %preun 35 | systemctl stop infnoise.service >/dev/null 2>&1 36 | systemctl disable infnoise.service 37 | systemctl daemon-reload 38 | 39 | %clean 40 | [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT 41 | 42 | %files 43 | %defattr(-,root,root) 44 | %{_bindir}/infnoise 45 | /etc/infnoise.conf 46 | %{_prefix}/lib/udev/rules.d/75-infnoise.rules 47 | %{_prefix}/lib/systemd/system/infnoise.service 48 | -------------------------------------------------------------------------------- /software/daemon.c: -------------------------------------------------------------------------------- 1 | // Functions used when running in the background 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #include "infnoise.h" 10 | 11 | // Write PID in a file 12 | static bool writePid(int32_t pid, char *fileName) { 13 | FILE *pidFile = fopen(fileName, "w"); 14 | if(pidFile == NULL) { 15 | return false; 16 | } 17 | int ret = fprintf(pidFile, "%d\n", pid); 18 | fclose(pidFile); 19 | return (ret >= 0); 20 | } 21 | 22 | void startDaemon(struct opt_struct* opts) { 23 | if(!opts->daemon) { 24 | // No backgrounding, optionally write current PID 25 | if(opts->pidFileName != NULL) { 26 | writePid(getpid(), opts->pidFileName); 27 | } 28 | return; 29 | } 30 | int32_t pid = fork(); 31 | if(pid < 0) { 32 | fputs("fork() failed\n", stderr); 33 | exit(1); 34 | } 35 | if(pid > 0) { 36 | // Parent 37 | exit(opts->pidFileName != NULL 38 | && !writePid(pid, opts->pidFileName)); 39 | } 40 | // Child 41 | } 42 | 43 | -------------------------------------------------------------------------------- /software/examples/README.md: -------------------------------------------------------------------------------- 1 | # Usage examples for Infinite Noise 2 | 3 | ## Integrate the binary to python 4 | 5 | See the python examples `serial-numbers.py` and `randomserver.py` to see how you could integrate it with python. 6 | 7 | #### serial-numbers.py 8 | An extended version of this script was used to generate the serial numbers of all Infinite Noise's made by 13-37.org. The numbers generated by this simpler one are not guaranteed to be unique, thats why I use the UNIQUE constraint of a database when storing them. 9 | 10 | This simple version just prints the serials to stdout. Call like this: 11 | 12 | $ ./serial-numbers.py -c 3 -l 8 13 | 0A8BBA15 14 | 0341F762 15 | 813DC0BD 16 | 17 | #### randomserver.py 18 | 19 | A simple webserver based on the web.py framework to serve random data via a REST interface. 20 | An improved version is hosted on [rng.13-37.org](https://rng.13-37.org). 21 | 22 | ## libinfnoise 23 | 24 | Under libinfnoise/examples you'll find two examples on how to integrate libinfnoise, which consist of the following functions: 25 | 26 | // returns a struct of infnoise_devlist_node listing all connected FTDI FT240 devices by their USB descriptors 27 | devlist_node listUSBDevices(char **message); 28 | 29 | // initialize the Infinite Noise TRNG - must be called once before readData() works 30 | bool initInfnoise(struct infnoise_context *context, char *serial, bool keccak, bool debug); 31 | 32 | // Reads some bytes from the TRNG and stores them in the "result" byte array. 33 | // The array has to be of sufficient size. Please refer to the example programs. 34 | // (64 byte for normal operation or 128byte for multiplier mode) 35 | uint32_t readData(struct infnoise_context *context, uint8_t *result, bool raw, uint32_t outputMultiplier); 36 | 37 | The infnoise_context struct is also part of the interface. See [libinfnoise.h](../libinfnoise.h) for it's definition and the interface documentation. 38 | -------------------------------------------------------------------------------- /software/examples/libinfnoise/Makefile: -------------------------------------------------------------------------------- 1 | GIT_VERSION := $(shell git --no-pager describe --tags --always) 2 | GIT_COMMIT := $(shell git rev-parse --verify HEAD) 3 | GIT_DATE := $(firstword $(shell git --no-pager show --date=iso-strict --format="%ad" --name-only)) 4 | 5 | PREFIX = $(DESTDIR)/usr/local 6 | 7 | CFLAGS = -Wall -Wextra -Werror -std=c99 -O3 -fPIC -I Keccak -I /usr/include/libftdi1 \ 8 | -DGIT_VERSION=\"$(GIT_VERSION)\"\ 9 | -DGIT_COMMIT=\"$(GIT_COMMIT)\"\ 10 | -DGIT_DATE=\"$(GIT_DATE)\"\ 11 | 12 | LDFLAGS= -shared 13 | 14 | FTDI := $(shell libftdi-config --libs) 15 | 16 | all: libinfnoise-example-simple libinfnoise-example-complex 17 | 18 | libinfnoise-example-simple: example-simple.c 19 | $(CC) $(CFLAGS) -o libinfnoise-example-simple example-simple.c $(FTDI) -lm -lrt -linfnoise 20 | 21 | libinfnoise-example-complex: example-complex.c 22 | $(CC) $(CFLAGS) -o libinfnoise-example-complex example-complex.c $(FTDI) -lm -lrt -linfnoise 23 | 24 | clean: 25 | $(RM) libinfnoise-example* *.o 26 | 27 | -------------------------------------------------------------------------------- /software/examples/libinfnoise/example-complex.c: -------------------------------------------------------------------------------- 1 | /* 2 | This is a more advanced example to use libinfnoise with raw, whitened and/or multiplied output. 3 | */ 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | int main() 10 | { 11 | // parameters 12 | char *serial=NULL; // can be set to a specific serial, NULL uses the first found device 13 | bool initKeccak = true; // initialize Keccak sponge (used for whitening) 14 | uint32_t multiplier = 2u; // multiplier for whitening 15 | bool debug = true; // debug mode (health monitor writes to stderr) 16 | 17 | // initialize hardware and health monitor 18 | struct infnoise_context context; 19 | 20 | if (!initInfnoise(&context, serial, initKeccak, debug)) { 21 | fprintf(stdout, "Error: %s\n", context.message); 22 | return 1; // ERROR 23 | } 24 | 25 | uint32_t resultSize; 26 | if (multiplier <= 2 || initKeccak == false) { 27 | resultSize = 64u; 28 | } else { 29 | resultSize = 128u; 30 | } 31 | 32 | // read and print in a loop (until 1M is read) 33 | uint64_t totalBytesWritten = 0u; 34 | while (totalBytesWritten < 1000000) { 35 | uint8_t result[resultSize]; 36 | 37 | // readRawData returns the number of bytes written to result array 38 | uint64_t bytesWritten = readData(&context, result, !initKeccak, multiplier); 39 | 40 | // check for errors 41 | // note: bytesWritten is also 0 in this case, but an errorFlag is needed as 42 | // bytesWritten can also be 0 when data hasn't passed the health monitor. 43 | if (context.errorFlag) { 44 | fprintf(stderr, "Error: %s\n", context.message); 45 | return -1; 46 | } 47 | totalBytesWritten += bytesWritten; 48 | fprintf(stderr, "infnoise bytes read: %lu\n", (unsigned long) totalBytesWritten); 49 | 50 | // print as many bytes as readData told us 51 | fwrite(result, 1, bytesWritten, stdout); 52 | } 53 | return 0; 54 | } 55 | -------------------------------------------------------------------------------- /software/examples/libinfnoise/example-simple.c: -------------------------------------------------------------------------------- 1 | /* 2 | This is a simple example to use libinfnoise with whitened and multiplied output. 3 | */ 4 | 5 | #include 6 | #include 7 | #include 8 | 9 | int main() 10 | { 11 | // parameters 12 | char *serial=NULL; // can be set to a specific serial, NULL uses the first found device 13 | bool initKeccak = true; // initialize Keccak sponge (used for whitening) 14 | uint32_t multiplier = 1u; // multiplier for whitening 15 | bool debug = false; // debug mode (health monitor writes to stderr) 16 | 17 | // initialize hardware and health monitor 18 | struct infnoise_context context; 19 | if (!initInfnoise(&context, serial, initKeccak, debug)) { 20 | fprintf(stderr, "Error: %s\n", context.message); 21 | return 1; // ERROR 22 | } 23 | 24 | // fixed result size of 512 bit (64byte) 25 | uint8_t resultSize = 64u; 26 | 27 | // read and print in a loop (until 1MB is read) 28 | uint64_t totalBytesWritten = 0u; 29 | while (totalBytesWritten < 1000000) { 30 | uint8_t result[resultSize]; 31 | 32 | context.errorFlag = false; 33 | // readRawData returns the number of bytes written to result array 34 | uint64_t bytesWritten = readData(&context, result, !initKeccak, multiplier); 35 | 36 | // check for errors 37 | // note: bytesWritten is also 0 in this case, but an errorFlag is needed as 38 | // bytesWritten can also be 0 when data hasn't passed the health monitor. 39 | // (which happens sometimes in normal operation - and is expected behaviour) 40 | if (context.errorFlag) { 41 | fprintf(stderr, "Error: %s\n", context.message); 42 | return -1; 43 | } 44 | 45 | // print as many bytes as readData told us 46 | fwrite(result, 1, bytesWritten, stdout); 47 | 48 | // sum up 49 | totalBytesWritten += bytesWritten; 50 | fprintf(stderr, "bytes read: %lu\n", (unsigned long) totalBytesWritten); 51 | 52 | } 53 | return 0; 54 | } 55 | -------------------------------------------------------------------------------- /software/examples/random-server.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import shlex 4 | import subprocess 5 | from threading import Thread 6 | import time 7 | import web 8 | 9 | urls = ( 10 | '/', 'help', 11 | '/get', 'GetRandomData', 12 | # '/reg', 'Register', 13 | '/status', 'GetPoolStatus' 14 | ) 15 | 16 | RESPONSE_SIZE=8192 17 | 18 | MIN_POOL_SIZE=1 # in MB 19 | MAX_POOL_SIZE=32 # in MB 20 | 21 | class help: 22 | def GET(self): 23 | message= "" 24 | message+= "Infinite Noise webservice" 25 | message+= "

Usage:

" 26 | message+= "" 27 | message+= "" 28 | message+= "" 29 | # print "/regtodo" 30 | message+= "
requesthelp
/statusshow current buffer status
/getget " + str(RESPONSE_SIZE) + "bytes (binary format)
" 31 | message+= "" 32 | return message 33 | 34 | class GetRandomData: 35 | def GET(self): 36 | return POOL.getData() 37 | 38 | class GetPoolStatus: 39 | def GET(self): 40 | return POOL.getStatus() 41 | 42 | class RandPool(object): 43 | minPoolSize = (MIN_POOL_SIZE * 1024 * 1024) / RESPONSE_SIZE 44 | maxPoolSize = (MAX_POOL_SIZE * 1024 * 1024) / RESPONSE_SIZE 45 | poolFillmark = -1 46 | randomPool = list() 47 | process = None 48 | do_run = True 49 | 50 | def __init__(self): 51 | command = "sudo /usr/sbin/infnoise --multiplier 10" 52 | self.process = subprocess.Popen(shlex.split(command), stdout=subprocess.PIPE) 53 | for i in range(0, self.minPoolSize): 54 | self.randomPool.append(self.process.stdout.read(RESPONSE_SIZE)) 55 | self.poolFillmark+= 1 56 | thread2 = Thread(target=self.monitorPool) 57 | thread2.start() 58 | 59 | def monitorPool(self): 60 | while getattr(self, "do_run", True): 61 | if self.poolFillmark < self.maxPoolSize: # keep pool at 100% 62 | print(str(self.poolFillmark)+ "/" + str(self.maxPoolSize)) 63 | self.__refill_pool__() 64 | time.sleep(1) 65 | print("Stopping as you wish.") 66 | self.process.kill() 67 | 68 | def __refill_pool__(self): 69 | print("refilling pool - current level: " + str(self.poolFillmark)) 70 | for i in range(self.poolFillmark, self.maxPoolSize): 71 | self.randomPool.append(self.process.stdout.read(RESPONSE_SIZE)) 72 | self.poolFillmark += 1 73 | self.randomPool.reverse() 74 | print("refilled pool - new level: " + str(self.poolFillmark)) 75 | 76 | def getData(self): 77 | if self.poolFillmark <= 0: 78 | web.ctx.status = '503 Service currently unavailable - Out of entropy error' 79 | return "0" 80 | value = self.randomPool[self.poolFillmark] 81 | self.randomPool[self.poolFillmark] = None 82 | self.poolFillmark -= 1 83 | return value 84 | 85 | def getStatus(self): 86 | return str(self.poolFillmark) + "/" + str(self.maxPoolSize) 87 | 88 | POOL = RandPool() 89 | 90 | if __name__ == '__main__': 91 | app = web.application(urls, globals()) 92 | app.run() 93 | POOL.do_run = False 94 | 95 | -------------------------------------------------------------------------------- /software/examples/serial-numbers.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import subprocess 4 | import argparse 5 | 6 | parser = argparse.ArgumentParser(description='Generate random serial numbers') 7 | parser.add_argument('-l', dest='length', action='store', default=8, 8 | help='length of each serial number', type=int) 9 | parser.add_argument('-c', dest='count', action='store', default=10, 10 | help='length of each serial number', type=int) 11 | 12 | def main(): 13 | args = parser.parse_args() # parse arguments 14 | unique_serials_generated = 0 # counter for serials inserted successfully. 15 | while unique_serials_generated < args.count: # loop until enough unique serials are created (because some could fail) 16 | serials_list = readHexStrings(args.count - unique_serials_generated, args.length) # read $count hex-strings of fixed $length 17 | for serial in serials_list: 18 | if ("\n" in serial) or (" " in serial): 19 | continue # dont use serials with newlines or spaces 20 | unique_serials_generated += 1 # counter for serials 21 | serial = serial.upper() 22 | print(serial) 23 | 24 | def readHexStrings(count, length): 25 | list = [] 26 | infnoise_proc = subprocess.Popen(["infnoise"], stdout=subprocess.PIPE) # run infinite noise driver and 27 | bin2hex_proc = subprocess.Popen(["infnoise-bin2hex"], stdin=infnoise_proc.stdout, # feed its stdout to the bin2hex utility, 28 | stdout=subprocess.PIPE) # you could also skip this and do the bin2hex conversion in python 29 | while len(list) < count and infnoise_proc.poll() == None: 30 | list.append(bin2hex_proc.stdout.read(length)) 31 | infnoise_proc.terminate() 32 | bin2hex_proc.terminate() 33 | return list 34 | 35 | if __name__ == '__main__': 36 | main() 37 | -------------------------------------------------------------------------------- /software/healthcheck.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH HEALTHCHECK 1 "June 25 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | healthcheck \- health check 6 | .SH SYNOPSIS 7 | .B healthcheck 8 | .SH DESCRIPTION 9 | .B healthcheck 10 | performs a detailed health check on the values generated by the 11 | system's random number generator. 12 | .PP 13 | It attempts to guess the next bit based on the bits read so far, and 14 | adjusts the measured entropy based on the deviation from the guess. 15 | .PP 16 | Once enough data has been gathered, it outputs a detailed report 17 | showing the results for each value seen in the stream. 18 | .SH OPTIONS 19 | This program has no options. 20 | .SH SEE ALSO 21 | .BR infnoise (8). 22 | -------------------------------------------------------------------------------- /software/healthcheck.h: -------------------------------------------------------------------------------- 1 | bool inmHealthCheckStart(uint8_t N, double K, bool debug); 2 | void inmHealthCheckStop(void); 3 | bool inmHealthCheckAddBit(bool bit, bool even); 4 | bool inmHealthCheckOkToUseData(void); 5 | double inmHealthCheckEstimateK(void); 6 | double inmHealthCheckEstimateEntropyPerBit(void); 7 | 8 | // Returns number of bytes of entropy added so far 9 | uint32_t inmGetEntropyLevel(void); 10 | void inmClearEntropyLevel(void); 11 | void inmWriteEntropyToPool(uint8_t bytes, uint32_t length, uint32_t entropy); 12 | -------------------------------------------------------------------------------- /software/infnoise.8: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH INFNOISE 8 "June 25 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | infnoise \- Infinite Noise TRNG driver 6 | .SH SYNOPSIS 7 | .B infnoise \-\-help 8 | .br 9 | .B infnoise \-\-version 10 | .br 11 | .B infnoise \-\-list\-devices 12 | .br 13 | .B infnoise 14 | .RB [ \-\-debug ] 15 | .RB [ \-\-dev\-random ] 16 | .RB [ \-\-raw ] 17 | .RB [ \-\-multiplier 18 | .RI < value >] 19 | .RB [ \-\-no\-output ] 20 | .RB [ \-\-pidfile 21 | .RI < file >] 22 | .RB [ \-\-daemon ] 23 | .RB [ \-\-serial 24 | .RI < serial >] 25 | .SH DESCRIPTION 26 | .B infnoise 27 | provides access to the Infinite Noise True Random Number Generator and 28 | allows the data it generates to be fed into the system's random number 29 | generator. 30 | .PP 31 | .B infnoise \-\-help 32 | shows a short summary of the options. 33 | .PP 34 | .B infnoise \-\-version 35 | displays the program's version information. 36 | .PP 37 | .B infnoise \-\-list\-devices 38 | lists all the supported TRNG devices present on the system. 39 | .PP 40 | .B infnoise 41 | reads random data from a TRNG and outputs filtered random data to its 42 | standard output. The various options control the program's behaviour. 43 | .SH OPTIONS 44 | .TP 45 | .B \-\-debug 46 | measures the quality of the data obtained from the TRNG. It is 47 | typically used with \-\-no\-output as a sanity test. 48 | .TP 49 | .B \-\-dev\-random 50 | adds the filtered data to the system's entropy pool instead of sending 51 | it to its standard output. 52 | .TP 53 | .B \-\-raw 54 | disables output whitening. 55 | .TP 56 | .BR \-\-multiplier <\fIvalue\fP> 57 | writes 256 bits × 58 | .I value 59 | for every 512 bits written to the Keccak sponge; the default of 0 60 | means to write all the available entropy, without multiplying it. 61 | .TP 62 | .B \-\-no\-output 63 | disables output of random data. 64 | .TP 65 | .BR \-\-pidfile <\fIfile\fP> 66 | stores the process' identifier in 67 | .IR file . 68 | .TP 69 | .B \-\-daemon 70 | starts the program as a daemon. 71 | .TP 72 | .BR \-\-serial <\fIserial\fP> 73 | uses the device matching the specified 74 | .IR serial . 75 | -------------------------------------------------------------------------------- /software/infnoise.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__FreeBSD__) 5 | #include 6 | #elif !defined(_WIN32) 7 | #include 8 | #endif 9 | 10 | // Structure for parsed command line options 11 | struct opt_struct { 12 | uint32_t outputMultiplier; // We output all the entropy when outputMultiplier == 0 13 | uint32_t feedFreq; // poll-intervall to feed /dev/random 14 | bool daemon; // Run as daemon? 15 | bool debug; // Print debugging info? 16 | bool devRandom; // Feed /dev/random? 17 | bool forceReseed; // Force reseed when feeding /dev/random? 18 | bool noOutput; // Supress output? 19 | bool listDevices; // List possible USB-devices? 20 | bool help; // Show help 21 | bool none; // set to true when no valid arguments where detected 22 | bool raw; // No whitening? 23 | bool version; // Show version 24 | char *pidFileName; // Name of optional PID-file 25 | char *serial; // Name of selected device 26 | }; 27 | 28 | 29 | void inmWriteEntropyStart(uint32_t bufLen, bool debug); 30 | void inmWriteEntropyEnd(); 31 | void inmWriteEntropyToPool(uint8_t *bytes, uint32_t length, uint32_t entropy); 32 | void inmForceKernelRngReseed(); 33 | void inmWaitForPoolToHaveRoom(uint32_t feedFreq); 34 | 35 | void startDaemon(struct opt_struct *opts); 36 | -------------------------------------------------------------------------------- /software/init_scripts/75-infnoise.rules: -------------------------------------------------------------------------------- 1 | SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{MTP_NO_PROBE}="1", TAG+="systemd", SYMLINK+="infnoise", GROUP="dialout", MODE="0664" 2 | ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ENV{ID_MM_DEVICE_IGNORE}="1", ENV{MTP_NO_PROBE}="1", TAG+="systemd", ENV{SYSTEMD_WANTS}="infnoise.service" 3 | -------------------------------------------------------------------------------- /software/init_scripts/README.md: -------------------------------------------------------------------------------- 1 | # Init scripts 2 | 3 | Scripts in this folder are for use in systems where the Infnoise hardware is always present and the user wishes to run `infnoise` automatically as a system service with `--dev-random` enabled. 4 | 5 | Should someone create distribution packages for infnoise in future, hopefully these will help! 6 | 7 | ## RPM, DEB and ArchLinux packages 8 | The prebuilt packages availble for .rpm and .deb based distros described in the [README](../README.md) are built using a combination of a systemd unit and udev rules 9 | which start the service when the Infinite Noise TRNG is connected and also stops it immediately on disconnect. 10 | 11 | ## Contents 12 | 13 | - `infnoise.gentoo.openrc`: OpenRC, tested in Gentoo, untested in Alpine Linux, FreeBSD, TrueOS 14 | - `infnoise.openrc`: OpenRC, ? 15 | - `infnoise.conf`: Upstart, tested in Ubuntu 14.04, 16.04 (requires upstart install) 16 | - `infnoise.service`: Systemd, works for CentOS, Ubuntu, Debian, ArchLinux 17 | - `infnoise.service.bin`: Same as infnoise.service, binary path = /usr/bin/ - uses config file from /etc/infnoise.conf 18 | - `infnoise.service.sbin`: Same as infnoise.service, binary path = /usr/sbin/ - uses config file from /etc/infnoise.conf 19 | - `infnoise.conf.systemd`: Config file for the systemd service, to set multiplier and serial number of device 20 | - `75-infnoise.rules`: udev rule to be used together with the systemd service 21 | -------------------------------------------------------------------------------- /software/init_scripts/infnoise.conf: -------------------------------------------------------------------------------- 1 | # infnoise 2 | # 3 | # Feed entropy pool using the Infinite Noise TRNG 4 | 5 | description "Infinite Noise" 6 | 7 | start on filesystem or runlevel [2345] 8 | stop on runlevel [!2345] 9 | 10 | respawn 11 | respawn limit 10 5 12 | 13 | exec /usr/local/sbin/infnoise --dev-random 14 | -------------------------------------------------------------------------------- /software/init_scripts/infnoise.conf.systemd: -------------------------------------------------------------------------------- 1 | # systemd configuration file for the Infinite Noise TRNG 2 | 3 | #INFNOISE_MULTIPLIER=10 4 | # keccak multiplier, default = 1 5 | 6 | #INFNOISE_SERIAL=DO0032ZA 7 | # serial number of device, default: "" 8 | # use infnoise --list-devices to find out your serial number 9 | 10 | #INFNOISE_DEBUG=true 11 | # debug mode, default: false 12 | # debug logging to syslog 13 | -------------------------------------------------------------------------------- /software/init_scripts/infnoise.gentoo.openrc: -------------------------------------------------------------------------------- 1 | #!/sbin/openrc-run 2 | 3 | description="infnoise - Feed entropy pool using the Infinite Noise TRNG" 4 | pidfile="/var/run/infnoise.pid" 5 | command="/usr/local/sbin/infnoise" 6 | command_args="--dev-random" 7 | start_stop_daemon_args="--make-pidfile --background" 8 | 9 | depend() { 10 | before urandom 11 | provide random 12 | } 13 | -------------------------------------------------------------------------------- /software/init_scripts/infnoise.openrc: -------------------------------------------------------------------------------- 1 | #!/sbin/openrc-run 2 | 3 | PIDFILE=/run/infnoise.pid 4 | 5 | depend() { 6 | need udev-settle localmount 7 | provide trng # Support need/use trng in other scripts 8 | } 9 | 10 | start() { 11 | ebegin "Starting infnoise" 12 | /usr/local/sbin/infnoise --dev-random --daemon --pidfile $PIDFILE 13 | eend $? 14 | } 15 | 16 | stop() { 17 | ebegin "Stopping infnoise" 18 | kill `cat $PIDFILE` 19 | RC=$? 20 | rm -f $PIDFILE 21 | eend $RC 22 | } 23 | -------------------------------------------------------------------------------- /software/init_scripts/infnoise.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Wayward Geek InfNoise TRNG driver 3 | BindsTo=dev-infnoise.device 4 | After=dev-infnoise.device 5 | 6 | [Service] 7 | Type=forking 8 | WorkingDirectory=/tmp 9 | ExecStart=/usr/local/sbin/infnoise --dev-random --daemon --pidfile /var/run/infnoise.pid 10 | User=root 11 | Group=root 12 | Restart=always 13 | 14 | [Install] 15 | WantedBy=multi-user.target 16 | -------------------------------------------------------------------------------- /software/init_scripts/infnoise.service.8: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH INFNOISE.SERVICE 1 "June 25 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | infnoise.service \- systemd service for infnoise 6 | .SH SYNOPSIS 7 | .B systemctl 8 | .BR start | status | restart | stop 9 | .B infnoise 10 | .SH DESCRIPTION 11 | .B infnoise.service 12 | allows systemd to manage the 13 | .B infnoise 14 | daemon. 15 | .SH FILES 16 | .TP 17 | .B /etc/infnoise.conf 18 | service configuration file 19 | .TP 20 | .B /var/run/infnoise.pid 21 | service process identifier 22 | .SH SEE ALSO 23 | .BR infnoise (8). 24 | -------------------------------------------------------------------------------- /software/init_scripts/infnoise.service.bin: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Wayward Geek InfNoise TRNG driver 3 | BindsTo=dev-infnoise.device 4 | After=dev-infnoise.device 5 | 6 | [Service] 7 | EnvironmentFile=/etc/infnoise.conf 8 | Type=forking 9 | WorkingDirectory=/tmp 10 | ExecStart=/usr/bin/infnoise --dev-random --daemon --pidfile /var/run/infnoise.pid 11 | User=root 12 | Group=root 13 | Restart=always 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /software/init_scripts/infnoise.service.sbin: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Wayward Geek InfNoise TRNG driver 3 | BindsTo=dev-infnoise.device 4 | After=dev-infnoise.device 5 | 6 | [Service] 7 | EnvironmentFile=/etc/infnoise.conf 8 | Type=forking 9 | WorkingDirectory=/tmp 10 | ExecStart=/usr/sbin/infnoise --dev-random --daemon --pidfile /var/run/infnoise.pid 11 | User=root 12 | Group=root 13 | Restart=always 14 | 15 | [Install] 16 | WantedBy=multi-user.target 17 | -------------------------------------------------------------------------------- /software/libinfnoise.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__FreeBSD__) 5 | #include 6 | #elif !defined(_WIN32) 7 | #include 8 | #endif 9 | #if !defined(_WIN32) 10 | #include 11 | #endif 12 | #include 13 | 14 | // The FT240X has a 512 byte buffer. Must be multiple of 64 15 | // We also write this in one go to the Keccak sponge, which is at most 1600 bits 16 | #define BUFLEN 512u 17 | 18 | #ifdef __cplusplus 19 | extern "C" { 20 | #endif 21 | 22 | #if !defined(_WIN32) 23 | struct infnoise_context { 24 | struct ftdi_context ftdic; 25 | uint32_t entropyThisTime; 26 | const char *message; 27 | bool errorFlag; 28 | //uint8_t keccakState[KeccakPermutationSizeInBytes]; 29 | 30 | // used in multiplier mode to keep track of bytes to be put out 31 | uint32_t keccakBytesGiven; 32 | }; 33 | 34 | typedef struct _infnoise_devlist_node_t infnoise_devlist_node_t; 35 | struct _infnoise_devlist_node_t { 36 | char manufacturer[128]; 37 | char description[128]; 38 | char serial[128]; 39 | infnoise_devlist_node_t *next; 40 | }; 41 | 42 | /* 43 | * returns a struct of infnoise_devlist_node listing all connected FTDI FT240 devices by their USB descriptors 44 | * 45 | * parameters: 46 | * - message: pointer for error message 47 | * 48 | * returns: NULL when none found or infnoise_devlist_node 49 | */ 50 | infnoise_devlist_node_t* listUSBDevices(const char **message); 51 | 52 | /* 53 | * initialize the Infinite Noise TRNG - must be called once before readData() works 54 | * 55 | * parameters: 56 | * - context: pointer to infnoise_context struct 57 | * - serial: optional serial number of the device (NULL) 58 | * - keccak: initialize Keccak sponge (required to use readData with raw=false) 59 | * - debug: debug flag 60 | * returns: boolean success indicator (0=success) 61 | */ 62 | bool initInfnoise(struct infnoise_context *context, char *serial, bool keccak, bool debug); 63 | 64 | 65 | /* 66 | * deinitialize the Infinite Noise TRNG 67 | * 68 | * parameters: 69 | * - context: pointer to infnoise_context struct 70 | */ 71 | void deinitInfnoise(struct infnoise_context *context); 72 | 73 | /* 74 | * Reads some bytes from the TRNG and stores them in the "result" byte array. 75 | * The array has to be of sufficient size. Please refer to the example programs. 76 | * (64 byte for normal operation or 128byte for multiplier mode) 77 | * 78 | * After every read operation, the infnoise_context's errorFlag must be checked, 79 | * and the data from this call has to be discarded when it returns true! 80 | * 81 | * Detailed error messages can then be found in context->message. 82 | * 83 | * parameters: 84 | * - context: infnoise_context struct with device pointer and state variables 85 | * - result: pointer to byte array to store the result 86 | * - raw: boolean flag for raw or whitened output 87 | * - outputMultiplier: only used for whitened output 88 | * 89 | * returns: number of bytes written to the byte-array 90 | */ 91 | uint32_t readData(struct infnoise_context *context, uint8_t *result, bool raw, uint32_t outputMultiplier); 92 | 93 | #ifdef __cplusplus 94 | } 95 | #endif 96 | 97 | #endif 98 | -------------------------------------------------------------------------------- /software/libinfnoise.version: -------------------------------------------------------------------------------- 1 | libinfnoise { 2 | global: listUSBDevices; initInfnoise; deinitInfnoise; readRawData; readData; # explicitly list symbols to be exported 3 | local: *; # hide everything else 4 | }; 5 | 6 | -------------------------------------------------------------------------------- /software/libinfnoise_private.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__DragonFly__) || defined(__APPLE__) || defined(__FreeBSD__) 5 | #include 6 | #elif !defined(_WIN32) 7 | #include 8 | #endif 9 | #if !defined(_WIN32) 10 | #include 11 | #endif 12 | #include 13 | #include "libinfnoise.h" 14 | 15 | #define INFNOISE_VENDOR_ID 0x0403 16 | #define INFNOISE_PRODUCT_ID 0x6015 17 | 18 | // Required accuracy of estimated vs measured entropy in health monitor 19 | #define INM_ACCURACY 1.03 20 | 21 | // This is how many previous bits are used to predict the next bit from the INM 22 | #define PREDICTION_BITS 14u 23 | 24 | // This is the maximum time we allow to pass to perform the I/O operations, since long 25 | // delays can reduce entropy from the INM. 26 | #define MAX_MICROSEC_FOR_SAMPLES 5000u 27 | 28 | // This is the gain of each of the two op-amp stages in the INM 29 | #define DESIGN_K 1.84 30 | 31 | #define BITMODE_SYNCBB 0x4 32 | 33 | // This defines which pins on the FT240X are used 34 | #define COMP1 1u 35 | #define COMP2 4u 36 | #define SWEN1 2u 37 | #define SWEN2 0u 38 | 39 | // The remaining 8 bits are driven with 0 .. 15 to help track the cause of misfires 40 | #define ADDR0 3u 41 | #define ADDR1 5u 42 | #define ADDR2 6u 43 | #define ADDR3 7u 44 | 45 | // All data bus bits of the FT240X are outputs, except COMP1 and COMP2 46 | #define MASK (0xffu & ~(1u << COMP1) & ~(1u << COMP2)) 47 | 48 | bool inmHealthCheckStart(uint8_t N, double K, bool debug); 49 | void inmHealthCheckStop(void); 50 | bool inmHealthCheckAddBit(bool evenBit, bool oddBit, bool even); 51 | bool inmHealthCheckOkToUseData(void); 52 | double inmHealthCheckEstimateK(void); 53 | double inmHealthCheckEstimateEntropyPerBit(void); 54 | uint32_t inmGetEntropyLevel(void); 55 | void inmClearEntropyLevel(void); 56 | bool inmEntropyOnTarget(uint32_t entropy, uint32_t bits); 57 | 58 | void inmDumpStats(void); 59 | 60 | extern double inmK, inmExpectedEntropyPerBit; 61 | 62 | #if !defined(_WIN32) 63 | 64 | bool initializeUSB(struct ftdi_context *ftdic, const char **message,char *serial); 65 | 66 | struct timespec; 67 | double diffTime(struct timespec *start, struct timespec *end); 68 | uint32_t extractBytes(uint8_t *bytes, uint32_t length, uint8_t *inBuf, const char **message, bool *errorFlag); 69 | 70 | bool outputBytes(uint8_t *bytes, uint32_t length, uint32_t entropy, bool writeDevRandom, const char **message); 71 | 72 | #endif 73 | -------------------------------------------------------------------------------- /software/tests/README: -------------------------------------------------------------------------------- 1 | bats tests for the binary driver. 2 | -------------------------------------------------------------------------------- /software/tests/infnoise.bats: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bats 2 | 3 | load 'test_helper/bats-support/load' 4 | load 'test_helper/bats-assert/load' 5 | 6 | # Tests for the infnoise binary 7 | 8 | @test "test --raw output for expected entropy" { 9 | # capture some data 10 | TMP_FILE=`mktemp -u $BATS_TMPDIR/infnoise-test-XXXXXXX` 11 | timeout 5s ./infnoise --raw > $TMP_FILE || true 12 | 13 | # run ent 14 | run ent $TMP_FILE 15 | 16 | assert_line --index 0 --regexp '^Entropy = 7.2[5-9][0-9]+ bits per byte.$' 17 | 18 | # cleanup 19 | rm $TMP_FILE 20 | } 21 | 22 | @test "test whitened output for expected entropy" { 23 | # capture some data 24 | TMP_FILE=`mktemp -u $BATS_TMPDIR/infnoise-test-XXXXXXX` 25 | timeout 5s ./infnoise > $TMP_FILE || true 26 | 27 | # run ent 28 | run ent $TMP_FILE 29 | 30 | # check ent's result 31 | assert_line --index 0 --regexp '^Entropy = 7.99[0-9]+ bits per byte.$' 32 | 33 | # cleanup 34 | rm $TMP_FILE 35 | } 36 | 37 | @test "test whitened output (multiplier=10) for expected entropy" { 38 | # capture some data 39 | TMP_FILE=`mktemp -u $BATS_TMPDIR/infnoise-test-XXXXXXX` 40 | timeout 5s ./infnoise --multiplier 10 > $TMP_FILE || true 41 | 42 | # run ent 43 | run ent $TMP_FILE 44 | 45 | assert_line --index 0 --regexp '^Entropy = 7.99[0-9]+ bits per byte.$' 46 | 47 | # cleanup 48 | rm $TMP_FILE 49 | } 50 | 51 | @test "test --no-output --debug" { 52 | # capture some data 53 | TMP_FILE=`mktemp -u $BATS_TMPDIR/infnoise-test-XXXXXXX` 54 | run timeout 5s ./infnoise --no-output --debug 55 | 56 | echo $output 57 | [ "$status" -eq 124 ] 58 | 59 | assert_line --index 0 --regexp '^Generated 1048576 bits. OK to use data. Estimated entropy per bit: 0\.[0-8][6-8][0-9]+, estimated K: 1\.8[1-5][0-9]+$' 60 | assert_line --index 1 --regexp '^num1s:50.[0-9]+%, even misfires:0.[0-1][0-9]+%, odd misfires:0.[0-1][0-9]+%$' 61 | } 62 | 63 | @test "test --list-devices" { 64 | run ./infnoise --list-devices 65 | echo $output 66 | [ "$status" -eq 0 ] 67 | 68 | # FTDI serial: 69 | assert_line --index 1 --regexp '^Manufacturer: FTDI, Description: FT240X USB FIFO, Serial: [0-9A-Z]+$' 70 | 71 | # 13-37.org serial: 72 | assert_line --index 0 --regexp '^Manufacturer: 13-37.org, Description: Infinite Noise TRNG, Serial: [0-9A-F]+$' 73 | } 74 | 75 | @test "test --serial with not connected serial (results in error)" { 76 | run ./infnoise --serial 4711 77 | echo $output 78 | [ "$status" -eq 1 ] 79 | [ "${lines[0]}" = "Can't find Infinite Noise Multiplier. Try running as super user?" ] 80 | } 81 | 82 | @test "test --help" { 83 | run ./infnoise --help 84 | echo $output 85 | [ "$status" -eq 0 ] 86 | [ "${lines[0]}" = "Usage: infnoise [options]" ] 87 | } 88 | -------------------------------------------------------------------------------- /software/tools/.gitignore: -------------------------------------------------------------------------------- 1 | bin2hex 2 | dice 3 | entcheck 4 | findlongest 5 | flipbits 6 | healthcheck 7 | hex2bin 8 | passgen 9 | -------------------------------------------------------------------------------- /software/tools/Makefile: -------------------------------------------------------------------------------- 1 | CFLAGS=-Wall -Wextra -Werror -std=c99 -O3 -I $(shell brew --prefix libftdi || echo /usr)/include/libftdi1 2 | UNAME_S := $(shell uname -s) 3 | ifeq ($(UNAME_S),Darwin) 4 | LIBRT= 5 | else 6 | LIBRT=-lrt 7 | endif 8 | 9 | all: passgen healthcheck findlongest entcheck hex2bin bin2hex flipbits dice 10 | 11 | passgen: passgen.c 12 | $(CC) $(CFLAGS) -o passgen passgen.c -lm 13 | 14 | healthcheck: ../healthcheck.c 15 | $(CC) $(CFLAGS) -D TEST_HEALTHCHECK -o healthcheck ../healthcheck.c -lm $(LIBRT) 16 | 17 | entcheck: entcheck.c 18 | $(CC) $(CFLAGS) -o entcheck entcheck.c -lm $(LIBRT) 19 | 20 | findlongest: findlongest.c 21 | $(CC) $(CFLAGS) -o findlongest findlongest.c 22 | 23 | hex2bin: hex2bin.c 24 | $(CC) $(CFLAGS) -o hex2bin hex2bin.c 25 | 26 | bin2hex: bin2hex.c 27 | $(CC) $(CFLAGS) -o bin2hex bin2hex.c 28 | 29 | flipbits: flipbits.c 30 | $(CC) $(CFLAGS) -o flipbits flipbits.c 31 | 32 | dice: dice.c 33 | $(CC) $(CFLAGS) -o dice dice.c 34 | 35 | clean: 36 | $(RM) passgen healthcheck findlongest entcheck hex2bin bin2hex flipbits dice 37 | -------------------------------------------------------------------------------- /software/tools/README.md: -------------------------------------------------------------------------------- 1 | ## Infinite Tools 2 | 3 | ### passgen 4 | 5 | ### healtcheck 6 | 7 | ### dice 8 | 9 | ### findlongest 10 | 11 | ### hex2bin 12 | 13 | ### bin2hex 14 | 15 | ### flipbits 16 | 17 | ### entcheck 18 | -------------------------------------------------------------------------------- /software/tools/bin2hex.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH BIN2HEX 1 "June 22 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | bin2hex \- display binary content as hexadecimal 6 | .SH SYNOPSIS 7 | .B bin2hex 8 | .SH DESCRIPTION 9 | .B bin2hex 10 | reads from its standard input, and outputs the value of each byte it 11 | reads as a hexadecimal pair. 12 | .PP 13 | .SH OPTIONS 14 | This program has no options. 15 | .SH SEE ALSO 16 | .BR infnoise (8). 17 | -------------------------------------------------------------------------------- /software/tools/bin2hex.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int main() { 4 | int value = getchar(); 5 | int count = 0; 6 | while(value != EOF) { 7 | printf("%02x", value); 8 | value = getchar(); 9 | if(++count == 64) { 10 | putchar('\n'); 11 | } 12 | } 13 | putchar('\n'); 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /software/tools/dice.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH DICE 1 "June 22 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | dice \- roll dice 6 | .SH SYNOPSIS 7 | .B dice 8 | .RI < file > 9 | .RI < dice > 10 | .RI < sides > 11 | .SH DESCRIPTION 12 | .B dice 13 | simulates a dice roll, using data from 14 | .I file 15 | to roll 16 | .I dice 17 | dice with 18 | .I sides 19 | sides each. 20 | .PP 21 | A common value for 22 | .I file 23 | is 24 | .BR /dev/random . 25 | .PP 26 | .SH OPTIONS 27 | This program has no options. 28 | .SH SEE ALSO 29 | .BR infnoise (8). 30 | -------------------------------------------------------------------------------- /software/tools/dice.c: -------------------------------------------------------------------------------- 1 | // This is a simple program to read from a binary file of random bits and generate 2 | // dice rolls. 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | // Role a single die. 9 | static void rollDie(uint32_t sides, FILE *file) { 10 | uint32_t randVal; 11 | do { 12 | uint32_t numBytes = 0u; 13 | randVal = 0u; 14 | while (1u << (8u*numBytes) <= sides) { 15 | numBytes++; 16 | int c = getc(file); 17 | if (c == EOF) { 18 | printf("Ran out of random data\n"); 19 | exit(1); 20 | } 21 | randVal = (randVal << 8u) | getc(file); 22 | } 23 | } while(randVal >= sides); 24 | printf(" %u", randVal + 1u); 25 | } 26 | 27 | int main(int argc, char **argv) { 28 | if (argc != 4) { 29 | printf("Usage: dice randFile numDice numSides\n"); 30 | return 1; 31 | } 32 | FILE *file = fopen(argv[1], "r"); 33 | uint32_t dice = atoi(argv[2]); 34 | uint32_t sides = atoi(argv[3]); 35 | uint32_t i; 36 | printf("Rolling %u %u-sided dice:", dice, sides); 37 | for (i = 0u; i < dice; i++) { 38 | rollDie(sides, file); 39 | } 40 | printf("\n"); 41 | fclose(file); 42 | return 0; 43 | } 44 | -------------------------------------------------------------------------------- /software/tools/entcheck.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH ENTCHECK 1 "June 22 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | entcheck \- estimates the entropy of a stream 6 | .SH SYNOPSIS 7 | .B entcheck 8 | .RB [ \-N 9 | .RI < bits >] 10 | .RB [ \-s 11 | .RI < streams >] 12 | .SH DESCRIPTION 13 | .B entcheck 14 | estimates the entropy of its standard input. 15 | It uses the previous 16 | .I bits 17 | bits (16 by default) to predict the next bit, and estimates the 18 | entropy based on the level of surprise, that is to say the base-2 19 | logarithm of the probability of seeing the given string of bits. 20 | .PP 21 | In some scenarios, such as the output of an 8-bit DAC, some bits are 22 | special: entropy then needs to be predicted per bit over the width of 23 | the input data. The 24 | .B \-s 25 | option sets the width of the input data in this case. 26 | .PP 27 | .SH OPTIONS 28 | .TP 29 | .BR \-N " <\fIbits\fP>" 30 | specifies the number of 31 | .I bits 32 | to use to predict the next bit. 33 | .TP 34 | .BR \-s " <\fIstreams\fP>" 35 | specifies the number of streams to use. 36 | .SH SEE ALSO 37 | .BR infnoise (8). 38 | -------------------------------------------------------------------------------- /software/tools/findlongest.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH FINDLONGEST 1 "June 25 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | findlongest \- finds the longest repeating sequence 6 | .SH SYNOPSIS 7 | .B findlongest \-\-test 8 | .br 9 | .B findlongest 10 | .RI < file > 11 | .SH DESCRIPTION 12 | .B findlongest 13 | finds the longest repeating sequence of bits in the given 14 | .IR file , 15 | up to 34 16 | bits in length. 17 | .PP 18 | .SH OPTIONS 19 | .TP 20 | .B \-\-test 21 | generates random data (using 22 | .BR rand (3)) 23 | instead of reading data from a file. 24 | .SH SEE ALSO 25 | .BR infnoise (8). 26 | -------------------------------------------------------------------------------- /software/tools/findlongest.c: -------------------------------------------------------------------------------- 1 | // Find the longest repeated binary sequence in a file. 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | #define MAX_STRING_SIZE 34u 10 | 11 | // Generate random data for use in testing. 12 | static bool *generateRandomData(uint32_t size) { 13 | bool *data = calloc(size, sizeof(bool)); 14 | srand(time(NULL)); 15 | uint32_t i; 16 | for(i = 0u; i < size; ) { 17 | uint32_t randVal = rand(); 18 | uint32_t j; 19 | for(j = 0u; j < 16u; j++) { 20 | if(randVal & 1u) { 21 | data[i] = true; 22 | } 23 | i++; 24 | randVal >>= 1u; 25 | } 26 | } 27 | return data; 28 | } 29 | 30 | static bool *readDataFromFile(char *fileName, uint64_t *length) { 31 | printf("Reading data\n"); 32 | FILE *file = fopen(fileName, "r"); 33 | if(file == NULL) { 34 | fprintf(stderr, "Unable to open file %s\n", fileName); 35 | exit(1); 36 | } 37 | uint64_t pos = 0u; 38 | uint64_t size = 16384u; 39 | bool *data = calloc(size, sizeof(bool)); 40 | int c = getc(file); 41 | while(c != EOF) { 42 | if(pos*8u + 8u >= size) { 43 | size <<= 1u; 44 | data = realloc(data, size); 45 | } 46 | uint8_t v = c; 47 | uint32_t i; 48 | for(i = 0u; i < 8u; i++) { 49 | if(v & 1u){ 50 | data[8u*pos + 7u - i] = true; 51 | } 52 | v >>= 1u; 53 | } 54 | pos++; 55 | c = getc(file); 56 | } 57 | fclose(file); 58 | *length = pos*8u; 59 | printf("Read %llu bits\n", (long long)(*length)); 60 | return data; 61 | } 62 | 63 | // Find out if the string has a repeated sub-string of the given length. 64 | static bool hasSubstringOfLength(uint32_t substringLen, bool *data, uint32_t dataLen, uint8_t *stringsSeen) { 65 | memset(stringsSeen, 0, 1u << (substringLen-3)); 66 | uint64_t value = 0u; 67 | uint32_t i; 68 | for(i = 0u; i < substringLen; i++) { 69 | value = (value << 1u) | data[i]; 70 | } 71 | for(i = substringLen; i < dataLen; i++) { 72 | if(stringsSeen[value >> 3u] & (1u << (value & 0x7u))) { 73 | printf("Found duplicate substring of length %u at %u(%x.%u): %llx\n", substringLen, 74 | i, i >> 3u, i & 0x7u, (long long)value); 75 | return true; 76 | } 77 | stringsSeen[value >> 3u] |= 1u << (value & 0x7u); 78 | value = ((value << 1u) | data[i]) & (((uint64_t)1u << substringLen)-1u); 79 | } 80 | return false; 81 | } 82 | 83 | int main(int argc, char **argv) { 84 | bool test = false; 85 | if(argc != 2) { 86 | fprintf(stderr, "Usage: findlongest file\n" 87 | " findlongest --test\n"); 88 | return 1; 89 | } 90 | if(!strcmp(argv[1], "--test")) { 91 | test = true; 92 | } 93 | uint64_t dataLen; 94 | bool *data; 95 | if(test) { 96 | dataLen = 1u << 24u; 97 | data = generateRandomData(dataLen); 98 | } else { 99 | data = readDataFromFile(argv[1], &dataLen); 100 | } 101 | uint8_t *stringsSeen = calloc((uint64_t)1 << (MAX_STRING_SIZE-4u), sizeof(uint8_t)); 102 | uint32_t len; 103 | for(len = 4u; len <= MAX_STRING_SIZE; len++) { 104 | if(!hasSubstringOfLength(len, data, dataLen, stringsSeen)) { 105 | printf("Maximum substring is %u long\n", len-1u); 106 | return 0; 107 | } 108 | } 109 | printf("Maximum substring is at least %u long\n", MAX_STRING_SIZE); 110 | return 0; 111 | } 112 | -------------------------------------------------------------------------------- /software/tools/flipbits.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH FLIPBITS 1 "June 24 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | flipbits \- flip bits 6 | .SH SYNOPSIS 7 | .B flipbits 8 | .RI [ width ] 9 | .SH DESCRIPTION 10 | .B infnoise-flipbits 11 | flips the bits in its input data (from standard input), 12 | .I width 13 | bits at a time (8 by default), and outputs the result to standard 14 | output. 15 | .PP 16 | .SH OPTIONS 17 | This program has no options. 18 | .SH SEE ALSO 19 | .BR infnoise (8). 20 | -------------------------------------------------------------------------------- /software/tools/flipbits.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | static uint8_t availableInBits = 0u; 7 | static uint8_t availableOutBits = 0u; 8 | static uint8_t currentInByte = 0u; 9 | static uint8_t currentOutByte = 0u; 10 | 11 | // Read a width-bits value from the input. 12 | static uint64_t readVal(uint8_t width, bool *endOfInput) { 13 | *endOfInput = false; 14 | uint64_t value = 0u; 15 | uint8_t mask = 1u << (availableInBits-1u); 16 | while(width--) { 17 | value <<= 1u; 18 | if(availableInBits == 0u) { 19 | int c = getchar(); 20 | if(c == EOF) { 21 | *endOfInput = true; 22 | return value; 23 | } 24 | currentInByte = c; 25 | availableInBits = 8u; 26 | mask = 1u << 7u; 27 | } 28 | if(currentInByte & mask) { 29 | value |= 1u; 30 | } 31 | mask >>= 1u; 32 | availableInBits--; 33 | } 34 | return value; 35 | } 36 | 37 | // Write out the value in reverse order. 38 | static void writeValReverse(uint64_t value, uint8_t width) { 39 | while(width--) { 40 | currentOutByte <<= 1u; 41 | currentOutByte |= value & 1u; 42 | value >>= 1u; 43 | availableOutBits++; 44 | if(availableOutBits == 8u) { 45 | putchar(currentOutByte); 46 | availableOutBits = 0u; 47 | } 48 | } 49 | } 50 | 51 | int main(int argc, char **argv) { 52 | uint8_t width = 8u; 53 | if(argc == 2) { 54 | width = atoi(argv[1]); 55 | } 56 | if(width == 0u || width > 64u || argc > 2) { 57 | fprintf(stderr, "Usage: flipbits [width]\n"); 58 | return 1; 59 | } 60 | bool endOfInput; 61 | uint64_t value = readVal(width, &endOfInput); 62 | while(!endOfInput) { 63 | writeValReverse(value, width); 64 | value = readVal(width, &endOfInput); 65 | } 66 | return 0; 67 | } 68 | -------------------------------------------------------------------------------- /software/tools/hex2bin.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH HEX2BIN 1 "June 22 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | hex2bin \- convert hexadecimal to the encoded values 6 | .SH SYNOPSIS 7 | .B hex2bin 8 | .SH DESCRIPTION 9 | .B hex2bin 10 | reads from its standard input, ignoring any byte which isn’t a valid 11 | hexadecimal digit, and combines any two successive hexadecimal digits 12 | into the corresponding byte, which it outputs to its standard output. 13 | Only complete bytes are output, so an odd number of hexadecimal digits 14 | as input will drop the last digit. 15 | .PP 16 | .SH OPTIONS 17 | This program has no options. 18 | .SH SEE ALSO 19 | .BR infnoise (8). 20 | -------------------------------------------------------------------------------- /software/tools/hex2bin.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | int isHexDigit(int c) { 5 | return isdigit(c) || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'); 6 | } 7 | 8 | int readChar(void) { 9 | int c = getchar(); 10 | while(c != EOF && !isHexDigit(c)) { 11 | c = getchar(); 12 | } 13 | return c; 14 | } 15 | 16 | int getDigit(char c) { 17 | c = tolower(c); 18 | if(c >= 'a' && c <= 'f') { 19 | return 10 + c - 'a'; 20 | } 21 | return c - '0'; 22 | } 23 | 24 | int main() { 25 | int upper = readChar(); 26 | int lower = readChar(); 27 | while(upper != EOF && lower != EOF) { 28 | int upperDigit = getDigit(upper); 29 | int lowerDigit = getDigit(lower); 30 | putchar((upperDigit << 4) | lowerDigit); 31 | upper = readChar(); 32 | lower = readChar(); 33 | } 34 | return 0; 35 | } 36 | -------------------------------------------------------------------------------- /software/tools/passgen.1: -------------------------------------------------------------------------------- 1 | .\" Hey, EMACS: -*- nroff -*- 2 | .TH PASSGEN 1 "June 25 2018" 3 | .\" Please adjust this date whenever revising the manpage. 4 | .SH NAME 5 | passgen \- generates passwords by rolling dice 6 | .SH SYNOPSIS 7 | .B passgen 8 | .RI < file > 9 | .RI < size > 10 | .SH DESCRIPTION 11 | .B passgen 12 | generates an alphabetic password by rolling a 26-sided die, fed from 13 | .IR file , 14 | .I size 15 | times. 16 | .SH OPTIONS 17 | This program has no options. 18 | .SH SEE ALSO 19 | .BR infnoise (8). 20 | -------------------------------------------------------------------------------- /software/tools/passgen.c: -------------------------------------------------------------------------------- 1 | // This is a simple program to read from a binary file of random bits and generate 2 | // dice rolls. 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | 9 | // Role a single die. 10 | static uint32_t rollDie(uint32_t sides, FILE *file) { 11 | uint32_t randVal; 12 | do { 13 | uint32_t numBytes = 0u; 14 | randVal = 0u; 15 | while (1u << (8u*numBytes) <= sides) { 16 | numBytes++; 17 | int c = getc(file); 18 | if (c == EOF) { 19 | printf("Ran out of random data\n"); 20 | exit(1); 21 | } 22 | randVal = (randVal << 8u) | getc(file); 23 | } 24 | } while(randVal >= sides); 25 | return randVal; 26 | } 27 | 28 | int main(int argc, char **argv) { 29 | if (argc != 3) { 30 | printf("Usage: passgen randFile numKeys\n"); 31 | return 1; 32 | } 33 | FILE *file = fopen(argv[1], "r"); 34 | uint32_t keys = atoi(argv[2]); 35 | uint32_t i; 36 | printf("password:"); 37 | for (i = 0u; i < keys; i++) { 38 | uint32_t randVal = rollDie(32u, file); 39 | putchar('a' + randVal); 40 | } 41 | printf("\nThis password has %.2f bits of entropy\n", log(pow(32.0, keys))/log(2)); 42 | fclose(file); 43 | return 0; 44 | } 45 | -------------------------------------------------------------------------------- /software/writeentropy.c: -------------------------------------------------------------------------------- 1 | // This writes entropy to the Linux /dev/random pool using ioctl, so that entropy increases. 2 | 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include "libinfnoise.h" 13 | 14 | #define SIZE_PROC_FILENAME "/proc/sys/kernel/random/poolsize" 15 | #define FILL_PROC_FILENAME "/proc/sys/kernel/random/write_wakeup_threshold" 16 | 17 | static struct pollfd pfd; 18 | static uint32_t inmFillWatermark; 19 | static struct rand_pool_info *inmPoolInfo; 20 | 21 | // Find the entropy pool size. 22 | static uint32_t readNumberFromFile(char *fileName) { 23 | FILE *file = fopen(fileName, "r"); 24 | if(file == NULL) { 25 | fprintf(stderr, "Unable to open %s\n", fileName); 26 | exit(1); 27 | } 28 | uint32_t value = 0u; 29 | int32_t c; 30 | while( (c = getc(file)) != EOF 31 | && '0' <= c && c <= '9' ) { 32 | value *= 10; 33 | value += c - '0'; 34 | } 35 | fclose(file); 36 | return value; 37 | } 38 | 39 | // Open /dev/random 40 | void inmWriteEntropyStart(uint32_t bufLen, bool debug) { 41 | pfd.events = POLLOUT; 42 | //pfd.fd = open("/dev/random", O_WRONLY); 43 | pfd.fd = open("/dev/random", O_RDWR); 44 | if(pfd.fd < 0) { 45 | fprintf(stderr, "Unable to open /dev/random\n"); 46 | exit(1); 47 | } 48 | inmPoolInfo = calloc(1, sizeof(struct rand_pool_info) + bufLen); 49 | if(inmPoolInfo == NULL) { 50 | fprintf(stderr, "Unable to allocate memory\n"); 51 | exit(1); 52 | } 53 | inmFillWatermark = readNumberFromFile(FILL_PROC_FILENAME); 54 | if(debug) { 55 | printf("Entropy pool size:%u, fill watermark:%u\n", readNumberFromFile(SIZE_PROC_FILENAME), inmFillWatermark); 56 | } 57 | } 58 | 59 | void inmWriteEntropyEnd() { 60 | free( inmPoolInfo ); 61 | } 62 | 63 | // recent Linux kernels seldomly reseed from the input pool (60s), 64 | // this call can be used to force faster reseeds 65 | void inmForceKernelRngReseed() { 66 | #ifdef RNDRESEEDCRNG 67 | // printf("force CRNG reseed\n"); 68 | if(ioctl(pfd.fd, RNDRESEEDCRNG) < 0 && errno != EINVAL) { 69 | fprintf(stderr, "RNDRESEEDCRNG on /dev/random failed.\n"); 70 | } 71 | #else 72 | fprintf(stderr, "/dev/random does not support RNDRESEEDCRNG\n"); 73 | #endif 74 | } 75 | 76 | // Block until either the entropy pool has room, or 1 minute has passed. 77 | void inmWaitForPoolToHaveRoom(uint32_t feed_frequency) { 78 | int ent_count; 79 | if (ioctl(pfd.fd, RNDGETENTCNT, &ent_count) == 0 && (uint32_t)ent_count < inmFillWatermark) { 80 | return; 81 | } 82 | poll(&pfd, 1, 1000u * feed_frequency); // waits until /dev/random is in usage 83 | } 84 | 85 | // Add the bytes to the entropy pool. This can be unwhitenened, but the estimated bits of 86 | // entropy needs to be accurate or pessimistic. Return false if the Linux entropy pool is 87 | // full after writing. 88 | void inmWriteEntropyToPool(uint8_t *bytes, uint32_t length, uint32_t entropy) { 89 | inmPoolInfo->entropy_count = entropy; 90 | inmPoolInfo->buf_size = length; 91 | memcpy(inmPoolInfo->buf, bytes, length); 92 | //printf("Writing %u bytes with %u bits of entropy to /dev/random\n", length, entropy); 93 | ioctl(pfd.fd, RNDADDENTROPY, inmPoolInfo); 94 | } 95 | -------------------------------------------------------------------------------- /tests/README.md: -------------------------------------------------------------------------------- 1 | # Entropy tests for the Infinite Noise TRNG 2 | 3 | ## Test results 4 | 5 | These test results were produced with 250MiB 6 | (2.000.000.000 bits) of random numbers from the device, 7 | resulting in 100.000 FIPS blocks with 20.000 bit each - and took two weeks. 8 | 9 | ### Output speed 10 | |Multiplier/Mode|raw|whitened (SHA-3)|/dev/random| 11 | |----|----|----|----| 12 | | 0 | 50 KiB/s | 42,5 KiB/s | 0,3 KiB/s | 13 | | 1 | - | 25 KiB/s | 14,0 KiB/s | 14 | | 10 | - | 250 KiB/s | 23 KiB/s | 15 | | 100 | - | 2,25 MiB/s | 20,9 KiB/s | 16 | | 1000 | - | 17,2 MiB/s | 14,0 KiB/s | 17 | | 10000 | - | 68,3 MiB/s | 4,21 KiB/s | 18 | 19 | (*) with an Intel i7-4558U CPU @ 2.80GHz. 20 | 21 | ### FIPS Tests 22 | 23 | | Multiplier/Mode | raw | failed blocks (SHA-3) | failed blocks /dev/random | 24 | |-----------------|------|--------------|--------------| 25 | | 0 | 99999| 70 (0,07 %) | 81 (0,08 %) | 26 | | 1 | - | 78 (0,08 %) | 73 (0,07 %) | 27 | | 10 | - | 87 (0,09 %) | 89 (0,09 %) | 28 | | 100 | - | 87 (0,09 %) | 95 (0,1 %) | 29 | | 1000 | - | 78 (0,08 %) | 73 (0,07 %) | 30 | | 10000 | - | 74 (0,07 %) | 86 (0,09 %) | 31 | 32 | * The percentage of failed FIPS blocks should always remain below 0,1%. 33 | 34 | ## Run your own tests 35 | 36 | ### Requirements 37 | 38 | Make sure you have the following tools installed: 39 | 40 | - rng-tools (make sure to stop rngd during the test and uninstall/disable afterwards) 41 | - ent 42 | - dieharder 43 | - pv 44 | - python (numpy, matplotlib) 45 | - infnoise driver 46 | 47 | In the header of the script, you can define the test parameters: 48 | ``` 49 | declare -a TEST_KBYTES=('25000') 50 | declare -a TEST_MULTIPLIERS=('0' '1' '10' '100' '1000' '10000') 51 | ``` 52 | A full test run like this with 25MiB takes almost 2 days, mostly because of /dev/random 53 | tests with a multiplier of zero. 54 | 55 | This is why by default it performs a reduced run which takes only 1-2 hours. 56 | 57 | Tests are run for each combination of these parameters and can be started by running runtests.sh: 58 | ``` 59 | $ git clone https://github.com/manuel-domke/infnoise 60 | $ cd tests 61 | $ sudo ./runtests.sh 62 | ``` 63 | The output directories will be created automatically. 64 | 65 | ## Files and Directories: 66 | Directory structure created by a test run: 67 | 68 | - results: 69 | - ---dieharder.txt 70 | - ---ent.txt 71 | - ---rngtest.txt 72 | - plots: 73 | - --K.out-colormap.png: square distribution 74 | - --K.out-scatterplot.png: scatter plots 75 | - data: 76 | - --K.log: log output of the infnoise utility 77 | - --K-pv.log: log output of pv 78 | - --K.out: random data produced in the test run 79 | 80 | In the already existing results folder you'll find results for major driver [releases] (https://github.com/13-37-org/infnoise/releases). 81 | -------------------------------------------------------------------------------- /tests/plots/README: -------------------------------------------------------------------------------- 1 | Thanks to Cor van Wandelen for writing these two programs, colormap.py and scatterplot.py. 2 | He used these to create these png files from his inifinite noise TRNG. 3 | 4 | To recreate similar plots, you can use data in the samples directory, and these commands: 5 | 6 | $ cp ../samples/infnoise_raw.bin infnoise.bin 7 | $ python colormap.py 8 | $ python scatterplot.py 9 | 10 | I created the raw data files with: 11 | 12 | $ sudo ../software/infnoise --debug --raw > infnoise_raw.bin 13 | -------------------------------------------------------------------------------- /tests/plots/colormap.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import numpy as np 4 | import matplotlib.pyplot as plt 5 | import sys 6 | from matplotlib import cm 7 | 8 | if sys.argv[1]: 9 | filename=sys.argv[1] 10 | else: 11 | filename='infnoise.bin' 12 | 13 | nx = 1000 14 | ny = 1000 15 | 16 | data = np.fromfile(open(filename,'rb'), dtype=np.uint8, count=nx*nx) 17 | data.resize(nx,ny) 18 | 19 | plt.xlim(0, nx) 20 | plt.ylim(0, ny) 21 | 22 | plt.xlabel('samples') 23 | plt.ylabel('samples') 24 | plt.title('TRNG ' + filename) 25 | 26 | #cax = plt.imshow(data, interpolation='nearest', cmap=cm.coolwarm) 27 | cax = plt.imshow(data, interpolation='nearest', cmap=cm.afmhot) 28 | cbar = plt.colorbar(cax, ticks=[255, 127, 0]) 29 | cbar.ax.set_yticklabels(['255', '127', '0']) 30 | 31 | plt.savefig(filename + '-colormap.png') 32 | plt.show() 33 | -------------------------------------------------------------------------------- /tests/plots/infnoise-raw-notraw-scatter.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/plots/infnoise-raw-notraw-scatter.gif -------------------------------------------------------------------------------- /tests/plots/infnoise-raw.bin-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/plots/infnoise-raw.bin-colormap.png -------------------------------------------------------------------------------- /tests/plots/infnoise-raw.bin-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/plots/infnoise-raw.bin-scatter.png -------------------------------------------------------------------------------- /tests/plots/infnoise.bin-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/plots/infnoise.bin-colormap.png -------------------------------------------------------------------------------- /tests/plots/infnoise.bin-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/plots/infnoise.bin-scatter.png -------------------------------------------------------------------------------- /tests/plots/scatterplot.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | import matplotlib.pyplot as plt 4 | import numpy as np 5 | import sys 6 | 7 | if sys.argv[1]: 8 | filename=sys.argv[1] 9 | else: 10 | filename='infnoise.bin' 11 | 12 | 13 | bp = np.dtype([('byte1',np.uint8),('byte2',np.uint8)]) # 'struct' byte pairs 14 | 15 | Z = np.fromfile(filename, dtype=bp, count=2000) # read 2000 byte pairs from binary file 16 | 17 | x, y = zip(*Z) # unpack Z pairs into lists 18 | 19 | plt.grid(True) 20 | 21 | plt.xlim(0, 255) 22 | plt.ylim(0, 255) 23 | 24 | plt.xlabel('bytes') 25 | plt.ylabel('bytes') 26 | plt.title('TRNG ' + filename) 27 | 28 | plt.scatter(x[:1000],y[:1000]) 29 | 30 | plt.savefig(filename + '-scatter.png') 31 | plt.show() 32 | 33 | 34 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-0-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 260.32, and randomly 7 | would exceed this value 39.60 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4934 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141516722 (error 0.00 percent). 11 | Serial correlation coefficient is -0.000065 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-0-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99918 9 | rngtest: FIPS 140-2 failures: 81 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 11 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 8 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 28 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 35 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.728; avg=20854.476; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=44.985; avg=86.765; max=90.396)Mibits/s 17 | rngtest: Program run time: 22091558 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-1-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 257.88, and randomly 7 | would exceed this value 43.79 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5056 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141346994 (error 0.01 percent). 11 | Serial correlation coefficient is -0.000046 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-1-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99926 9 | rngtest: FIPS 140-2 failures: 73 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 12 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 9 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 25 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 27 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1538461538.462; avg=35641372919.414; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=36.469; avg=86.639; max=90.396)Mibits/s 17 | rngtest: Program run time: 22080788 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-10-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 260.81, and randomly 7 | would exceed this value 38.79 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5016 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141634994 (error 0.00 percent). 11 | Serial correlation coefficient is -0.000053 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-10-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99910 9 | rngtest: FIPS 140-2 failures: 89 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 11 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 14 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 27 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 37 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1666666666.667; avg=35700540868.603; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=21.798; avg=86.956; max=90.396)Mibits/s 17 | rngtest: Program run time: 22000123 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-100-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 252.62, and randomly 7 | would exceed this value 53.04 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5057 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141542642 (error 0.00 percent). 11 | Serial correlation coefficient is 0.000026 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-100-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99904 9 | rngtest: FIPS 140-2 failures: 95 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 11 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 5 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 39 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 40 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1666666666.667; avg=36566048084.834; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=38.925; avg=82.628; max=86.698)Mibits/s 17 | rngtest: Program run time: 23147916 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-1000-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 287.01, and randomly 7 | would exceed this value 8.21 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5018 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141645650 (error 0.00 percent). 11 | Serial correlation coefficient is -0.000022 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-1000-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99926 9 | rngtest: FIPS 140-2 failures: 73 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 10 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 6 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 28 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 29 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.693; avg=34.166; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=17.060; avg=86.617; max=89.969)Mibits/s 17 | rngtest: Program run time: 22084660 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-10000-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 281.25, and randomly 7 | would exceed this value 12.43 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4999 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141682706 (error 0.00 percent). 11 | Serial correlation coefficient is -0.000058 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/devrandom-10000-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99913 9 | rngtest: FIPS 140-2 failures: 86 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 17 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 8 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 37 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 26 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=486062.167; avg=3337327041.296; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=21.335; avg=85.495; max=89.969)Mibits/s 17 | rngtest: Program run time: 22925368 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-1-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-1-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-1-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-1-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-10-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-10-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-10-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-10-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-100-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-100-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-100-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-100-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-1000-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-1000-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-1000-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-1000-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-10000-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-10000-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/devrandom-10000-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/devrandom-10000-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/raw-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/raw-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/raw-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/raw-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-0-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-0-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-0-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-0-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-1-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-1-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-1-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-1-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-10-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-10-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-10-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-10-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-100-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-100-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-100-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-100-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-1000-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-1000-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-1000-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-1000-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-10000-250000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-10000-250000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/plots/whitened-10000-250000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_250000K/plots/whitened-10000-250000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/raw-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.293417 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 8 percent. 5 | 6 | Chi square distribution for 250000000 samples is 176075240.01, and randomly 7 | would exceed this value less than 0.01 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 128.3398 (127.5 = random). 10 | Monte Carlo value for Pi is 3.405045654 (error 8.39 percent). 11 | Serial correlation coefficient is -0.001746 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/raw-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 0 9 | rngtest: FIPS 140-2 failures: 99999 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 0 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 99999 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 99999 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 0 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 1 15 | rngtest: input channel speed: (min=1.863; avg=35.641; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=37.844; avg=87.367; max=91.699)Mibits/s 17 | rngtest: Program run time: 21894849 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-0-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 290.33, and randomly 7 | would exceed this value 6.34 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5052 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141632882 (error 0.00 percent). 11 | Serial correlation coefficient is -0.000021 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-0-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99929 9 | rngtest: FIPS 140-2 failures: 70 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 13 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 11 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 21 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 25 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.330; avg=35.343; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=47.803; avg=86.961; max=90.396)Mibits/s 17 | rngtest: Program run time: 21995500 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-1-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 287.93, and randomly 7 | would exceed this value 7.65 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5059 (127.5 = random). 10 | Monte Carlo value for Pi is 3.142009394 (error 0.01 percent). 11 | Serial correlation coefficient is -0.000009 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-1-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99921 9 | rngtest: FIPS 140-2 failures: 78 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 9 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 13 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 30 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 26 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.330; avg=35.614; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=41.018; avg=86.610; max=90.396)Mibits/s 17 | rngtest: Program run time: 22084507 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-10-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 230.46, and randomly 7 | would exceed this value 86.30 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5017 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141836690 (error 0.01 percent). 11 | Serial correlation coefficient is -0.000059 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-10-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99912 9 | rngtest: FIPS 140-2 failures: 87 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 13 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 9 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 34 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 31 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=414.641; avg=36896.537; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=39.903; avg=86.573; max=89.969)Mibits/s 17 | rngtest: Program run time: 22093093 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-100-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 220.51, and randomly 7 | would exceed this value 94.20 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5046 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141290162 (error 0.01 percent). 11 | Serial correlation coefficient is 0.000002 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-100-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99912 9 | rngtest: FIPS 140-2 failures: 87 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 10 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 9 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 32 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 36 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.433; avg=37.022; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=19.724; avg=86.697; max=90.396)Mibits/s 17 | rngtest: Program run time: 22060337 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-1000-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 236.88, and randomly 7 | would exceed this value 78.60 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4959 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141648914 (error 0.00 percent). 11 | Serial correlation coefficient is -0.000055 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-1000-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99921 9 | rngtest: FIPS 140-2 failures: 78 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 8 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 10 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 27 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 34 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=82.569; avg=36852.337; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=30.324; avg=82.479; max=86.698)Mibits/s 17 | rngtest: Program run time: 23186842 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-10000-250000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999999 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 250000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 250000000 samples is 275.12, and randomly 7 | would exceed this value 18.46 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5036 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141173714 (error 0.01 percent). 11 | Serial correlation coefficient is -0.000067 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_250000K/whitened-10000-250000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 2000000000 8 | rngtest: FIPS 140-2 successes: 99925 9 | rngtest: FIPS 140-2 failures: 74 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 8 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 12 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 30 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 26 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1538461538.462; avg=42461518863.718; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=53.880; avg=87.079; max=90.396)Mibits/s 17 | rngtest: Program run time: 21959969 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-0-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 272.53, and randomly 7 | would exceed this value 21.52 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5030 (127.5 = random). 10 | Monte Carlo value for Pi is 3.140968823 (error 0.02 percent). 11 | Serial correlation coefficient is 0.000289 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-0-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9988 9 | rngtest: FIPS 140-2 failures: 11 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 2 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 1 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 7 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.693; avg=34.989; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=40.239; avg=84.965; max=89.547)Mibits/s 17 | rngtest: Program run time: 2251035 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-1-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 276.97, and randomly 7 | would exceed this value 16.47 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5147 (127.5 = random). 10 | Monte Carlo value for Pi is 3.140340022 (error 0.04 percent). 11 | Serial correlation coefficient is -0.000028 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-1-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9986 9 | rngtest: FIPS 140-2 failures: 13 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 2 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 1 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 7 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 3 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=281690140.845; avg=17728723404.255; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=48.410; avg=87.485; max=90.396)Mibits/s 17 | rngtest: Program run time: 2192877 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-10-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999994 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 216.16, and randomly 7 | would exceed this value 96.29 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5120 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141322103 (error 0.01 percent). 11 | Serial correlation coefficient is -0.000174 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-10-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9991 9 | rngtest: FIPS 140-2 failures: 8 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 0 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 4 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 4 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=130.640; avg=21292.374; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=29.434; avg=78.140; max=80.820)Mibits/s 17 | rngtest: Program run time: 2451315 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-100-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999993 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 255.75, and randomly 7 | would exceed this value 47.50 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5310 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141701303 (error 0.00 percent). 11 | Serial correlation coefficient is -0.000105 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-100-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9993 9 | rngtest: FIPS 140-2 failures: 6 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 2 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 2 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 2 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1666666666.667; avg=27031630170.316; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=29.480; avg=87.888; max=90.396)Mibits/s 17 | rngtest: Program run time: 2178675 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-1000-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 260.53, and randomly 7 | would exceed this value 39.26 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4658 (127.5 = random). 10 | Monte Carlo value for Pi is 3.142020023 (error 0.01 percent). 11 | Serial correlation coefficient is -0.000437 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-1000-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9986 9 | rngtest: FIPS 140-2 failures: 13 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 2 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 2 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 6 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 3 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=200000000.000; avg=17777580229.354; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=16.894; avg=87.330; max=90.826)Mibits/s 17 | rngtest: Program run time: 2196726 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-10000-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999993 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 229.92, and randomly 7 | would exceed this value 86.85 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5100 (127.5 = random). 10 | Monte Carlo value for Pi is 3.140952503 (error 0.02 percent). 11 | Serial correlation coefficient is 0.000277 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/devrandom-10000-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9991 9 | rngtest: FIPS 140-2 failures: 8 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 2 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 1 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 2 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 3 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=43.153; avg=6573.686; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=964.268; avg=50785.518; max=92565.166)Kibits/s 17 | rngtest: Program run time: 3877095 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-1-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-1-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-1-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-1-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-10-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-10-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-10-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-10-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-100-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-100-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-100-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-100-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-1000-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-1000-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-1000-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-1000-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-10000-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-10000-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/devrandom-10000-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/devrandom-10000-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/raw-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/raw-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/raw-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/raw-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-0-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-0-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-0-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-0-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-1-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-1-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-1-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-1-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-10-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-10-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-10-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-10-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-100-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-100-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-100-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-100-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-1000-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-1000-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-1000-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-1000-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-10000-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-10000-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/plots/white-10000-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.2.6/results_25000K/plots/white-10000-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/raw-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.301405 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 8 percent. 5 | 6 | Chi square distribution for 25000000 samples is 17622621.04, and randomly 7 | would exceed this value less than 0.01 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 129.3205 (127.5 = random). 10 | Monte Carlo value for Pi is 3.384906782 (error 7.74 percent). 11 | Serial correlation coefficient is -0.002320 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/raw-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 0 9 | rngtest: FIPS 140-2 failures: 9999 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 9999 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 9999 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 0 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.693; avg=23.555; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=22.545; avg=93.983; max=98.317)Mibits/s 17 | rngtest: Program run time: 2038584 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-0-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999993 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 258.47, and randomly 7 | would exceed this value 42.76 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5165 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141060983 (error 0.02 percent). 11 | Serial correlation coefficient is 0.000434 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-0-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9989 9 | rngtest: FIPS 140-2 failures: 10 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 1 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 3 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 5 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=2000000000.000; avg=36386462882.096; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=31.064; avg=84.465; max=89.969)Mibits/s 17 | rngtest: Program run time: 2264450 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-1-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 280.26, and randomly 7 | would exceed this value 13.29 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4955 (127.5 = random). 10 | Monte Carlo value for Pi is 3.143060663 (error 0.05 percent). 11 | Serial correlation coefficient is -0.000139 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-1-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9993 9 | rngtest: FIPS 140-2 failures: 6 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 1 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 1 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 3 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=241.437; avg=15873.141; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=10.776; avg=87.158; max=90.396)Mibits/s 17 | rngtest: Program run time: 2201949 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-10-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999993 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 259.65, and randomly 7 | would exceed this value 40.74 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5080 (127.5 = random). 10 | Monte Carlo value for Pi is 3.142139063 (error 0.02 percent). 11 | Serial correlation coefficient is 0.000241 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-10-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9993 9 | rngtest: FIPS 140-2 failures: 6 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 0 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 3 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 1 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 2 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1818181818.182; avg=24713297083.539; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=23.317; avg=84.482; max=87.493)Mibits/s 17 | rngtest: Program run time: 2266941 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-100-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999994 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 213.98, and randomly 7 | would exceed this value 97.09 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5035 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141415223 (error 0.01 percent). 11 | Serial correlation coefficient is 0.000097 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-100-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9999 9 | rngtest: FIPS 140-2 failures: 0 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 0 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 0 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 0 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.433; avg=23.005; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=20.205; avg=86.915; max=90.396)Mibits/s 17 | rngtest: Program run time: 2203810 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-1000-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999993 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 249.00, and randomly 7 | would exceed this value 59.42 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5075 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141808823 (error 0.01 percent). 11 | Serial correlation coefficient is 0.000176 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-1000-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9993 9 | rngtest: FIPS 140-2 failures: 6 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 2 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 0 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 4 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=657.706; avg=25163.714; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=25.296; avg=87.807; max=90.396)Mibits/s 17 | rngtest: Program run time: 2180902 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-10000-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 265.85, and randomly 7 | would exceed this value 30.74 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5086 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141429623 (error 0.01 percent). 11 | Serial correlation coefficient is 0.000011 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.2.6/results_25000K/white-10000-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9985 9 | rngtest: FIPS 140-2 failures: 14 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 2 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 1 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 4 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 7 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1000000000.000; avg=26886259747.244; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=24.205; avg=87.759; max=90.396)Mibits/s 17 | rngtest: Program run time: 2181947 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-1-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 264.53, and randomly 7 | would exceed this value 32.77 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5009 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141490103 (error 0.00 percent). 11 | Serial correlation coefficient is 0.000042 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-1-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9994 9 | rngtest: FIPS 140-2 failures: 5 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 0 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 3 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 1 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 1 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=2.167; avg=8615.639; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=23.317; avg=87.687; max=94.893)Mibits/s 17 | rngtest: Program run time: 2198534 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-10-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 260.70, and randomly 7 | would exceed this value 38.98 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5104 (127.5 = random). 10 | Monte Carlo value for Pi is 3.140553142 (error 0.03 percent). 11 | Serial correlation coefficient is 0.000177 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-10-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9993 9 | rngtest: FIPS 140-2 failures: 6 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 0 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 1 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 3 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 2 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1003.868; avg=16761.803; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=19.054; avg=72.169; max=86.698)Mibits/s 17 | rngtest: Program run time: 2655272 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-100-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999993 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 252.04, and randomly 7 | would exceed this value 54.06 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5012 (127.5 = random). 10 | Monte Carlo value for Pi is 3.140954423 (error 0.02 percent). 11 | Serial correlation coefficient is -0.000148 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-100-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9986 9 | rngtest: FIPS 140-2 failures: 13 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 2 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 2 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 6 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 3 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=2857142857.143; avg=18058515441.575; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=19.443; avg=57.316; max=80.820)Mibits/s 17 | rngtest: Program run time: 3339920 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-1000-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999991 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 297.32, and randomly 7 | would exceed this value 3.53 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4874 (127.5 = random). 10 | Monte Carlo value for Pi is 3.142398263 (error 0.03 percent). 11 | Serial correlation coefficient is 0.000066 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-1000-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9996 9 | rngtest: FIPS 140-2 failures: 3 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 0 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 1 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 2 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=2.070; avg=16.408; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=24.611; avg=56.798; max=60.169)Mibits/s 17 | rngtest: Program run time: 3370564 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-10000-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 286.14, and randomly 7 | would exceed this value 8.76 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4837 (127.5 = random). 10 | Monte Carlo value for Pi is 3.142566263 (error 0.03 percent). 11 | Serial correlation coefficient is -0.000162 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/devrandom-10000-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9993 9 | rngtest: FIPS 140-2 failures: 6 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 2 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 2 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 1 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 1 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=2.328; avg=17.063; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=31.319; avg=56.937; max=62.129)Mibits/s 17 | rngtest: Program run time: 3361973 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-1-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-1-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-1-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-1-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-10-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-10-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-10-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-10-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-100-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-100-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-100-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-100-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-1000-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-1000-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-1000-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-1000-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-10000-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-10000-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/devrandom-10000-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/devrandom-10000-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/raw-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/raw-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/raw-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/raw-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-0-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-0-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-0-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-0-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-1-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-1-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-1-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-1-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-10-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-10-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-10-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-10-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-100-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-100-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-100-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-100-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-1000-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-1000-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-1000-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-1000-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-10000-25000K.out-colormap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-10000-25000K.out-colormap.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/plots/whitened-10000-25000K.out-scatter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/results/v0.3.0/plots/whitened-10000-25000K.out-scatter.png -------------------------------------------------------------------------------- /tests/results/v0.3.0/raw-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.299576 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 8 percent. 5 | 6 | Chi square distribution for 25000000 samples is 17517376.04, and randomly 7 | would exceed this value less than 0.01 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 129.1371 (127.5 = random). 10 | Monte Carlo value for Pi is 3.384415262 (error 7.73 percent). 11 | Serial correlation coefficient is -0.003078 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/raw-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 0 9 | rngtest: FIPS 140-2 failures: 9999 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 9999 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 9999 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 0 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.738; avg=5884.111; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=947.843; avg=46292.961; max=71543.040)Kibits/s 17 | rngtest: Program run time: 4253455 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-0-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 289.31, and randomly 7 | would exceed this value 6.87 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5184 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141425783 (error 0.01 percent). 11 | Serial correlation coefficient is -0.000388 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-0-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9993 9 | rngtest: FIPS 140-2 failures: 6 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 0 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 5 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=2.709; avg=7323.955; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=602.333; avg=26470.514; max=65761.785)Kibits/s 17 | rngtest: Program run time: 7405460 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-1-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999994 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 223.96, and randomly 7 | would exceed this value 92.00 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5025 (127.5 = random). 10 | Monte Carlo value for Pi is 3.140479222 (error 0.04 percent). 11 | Serial correlation coefficient is 0.000155 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-1-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9991 9 | rngtest: FIPS 140-2 failures: 8 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 1 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 4 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 2 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1176470588.235; avg=18595871303.701; max=0.000)bits/s 16 | rngtest: FIPS tests speed: (min=13.100; avg=82.896; max=89.128)Mibits/s 17 | rngtest: Program run time: 2312683 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-10-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999989 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 364.61, and randomly 7 | would exceed this value less than 0.01 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4934 (127.5 = random). 10 | Monte Carlo value for Pi is 3.141804023 (error 0.01 percent). 11 | Serial correlation coefficient is 0.000061 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-10-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9932 9 | rngtest: FIPS 140-2 failures: 67 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 4 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 37 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 28 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 1 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=99.861; avg=9734.868; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=1.727; avg=56.771; max=71.170)Mibits/s 17 | rngtest: Program run time: 3380993 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-100-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999993 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 255.53, and randomly 7 | would exceed this value 47.88 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4977 (127.5 = random). 10 | Monte Carlo value for Pi is 3.140759543 (error 0.03 percent). 11 | Serial correlation coefficient is -0.000192 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-100-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9990 9 | rngtest: FIPS 140-2 failures: 9 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 2 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 6 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=1.693; avg=14.754; max=18.626)Gibits/s 16 | rngtest: FIPS tests speed: (min=32.273; avg=59.612; max=62.536)Mibits/s 17 | rngtest: Program run time: 3213287 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-1000-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 261.66, and randomly 7 | would exceed this value 37.38 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.5000 (127.5 = random). 10 | Monte Carlo value for Pi is 3.142448183 (error 0.03 percent). 11 | Serial correlation coefficient is 0.000095 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-1000-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9990 9 | rngtest: FIPS 140-2 failures: 9 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 1 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 4 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 3 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=794.729; avg=16831.329; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=1.006; avg=64.151; max=84.024)Mibits/s 17 | rngtest: Program run time: 2985587 microseconds 18 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-10000-25000K-ent.txt: -------------------------------------------------------------------------------- 1 | Entropy = 7.999992 bits per byte. 2 | 3 | Optimum compression would reduce the size 4 | of this 25000000 byte file by 0 percent. 5 | 6 | Chi square distribution for 25000000 samples is 282.97, and randomly 7 | would exceed this value 11.03 percent of the times. 8 | 9 | Arithmetic mean value of data bytes is 127.4986 (127.5 = random). 10 | Monte Carlo value for Pi is 3.142210103 (error 0.02 percent). 11 | Serial correlation coefficient is 0.000120 (totally uncorrelated = 0.0). 12 | -------------------------------------------------------------------------------- /tests/results/v0.3.0/whitened-10000-25000K-rngtest.txt: -------------------------------------------------------------------------------- 1 | rngtest 5 2 | Copyright (c) 2004 by Henrique de Moraes Holschuh 3 | This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 4 | 5 | rngtest: starting FIPS tests... 6 | rngtest: entropy source drained 7 | rngtest: bits received from input: 200000000 8 | rngtest: FIPS 140-2 successes: 9993 9 | rngtest: FIPS 140-2 failures: 6 10 | rngtest: FIPS 140-2(2001-10-10) Monobit: 1 11 | rngtest: FIPS 140-2(2001-10-10) Poker: 0 12 | rngtest: FIPS 140-2(2001-10-10) Runs: 1 13 | rngtest: FIPS 140-2(2001-10-10) Long run: 4 14 | rngtest: FIPS 140-2(2001-10-10) Continuous run: 0 15 | rngtest: input channel speed: (min=794.729; avg=15395.204; max=19073.486)Mibits/s 16 | rngtest: FIPS tests speed: (min=1.544; avg=56.336; max=59.791)Mibits/s 17 | rngtest: Program run time: 3399245 microseconds 18 | -------------------------------------------------------------------------------- /tests/runtests.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | service infnoise stop 4 | service rng-tools stop 5 | 6 | echo "4096" > /proc/sys/kernel/random/write_wakeup_threshold 7 | 8 | declare -a TEST_KBYTES=('2500') 9 | declare -a TEST_MULTIPLIERS=('1' '10' '100' '1000' '10000') # be careful with multiplier of 0 - tests with /dev/random take over a day. 10 | 11 | RNGTEST=1 12 | ENT=1 13 | DIEHARDER=0 14 | GRAPHS=1 15 | 16 | function checkCommand { 17 | $1 $2 >/dev/null 18 | if [ $? -ne 0 ]; then 19 | echo "$1 not installed. Exiting.." 20 | exit 1 21 | fi 22 | } 23 | 24 | function checkPythonModule { 25 | python -c "import $1" >/dev/null 26 | if [ $? -ne 0 ]; then 27 | echo "python module $1 not installed. Exiting.." 28 | exit 1 29 | fi 30 | } 31 | 32 | function makePlots { 33 | python plots/colormap.py $1 & 34 | python plots/scatterplot.py $1 & 35 | sleep 3 36 | mv $1-colormap.png results/plots/ 37 | mv $1-scatter.png results/plots/ 38 | } 39 | 40 | checkCommand "pv" "-h" 41 | checkCommand "infnoise" "-h" 42 | if [ $RNGTEST -eq 1 ] ; then 43 | checkCommand "rngtest" "--help" 44 | fi 45 | if [ $ENT -eq 1 ] ; then 46 | checkCommand "ent" "-u" 47 | fi 48 | if [ $DIEHARDER -eq 1 ] ; then 49 | checkCommand "dieharder" 50 | fi 51 | if [ $GRAPHS -eq 1 ] ; then 52 | checkCommand "python" "-h" 53 | checkPythonModule "numpy" 54 | checkPythonModule "matplotlib" 55 | fi 56 | 57 | mkdir -p results/data 58 | mkdir -p results/plots 59 | 60 | for kbytes in "${TEST_KBYTES[@]}" 61 | do 62 | # raw stream tests 63 | echo "starting RAW output tests with:" 64 | echo "Bytes: $kbytes K ($(($kbytes*8000)) bits)" 65 | infnoise --debug --raw 2> results/data/raw-$kbytes\K.log | pv -fW 2>results/data/raw-$kbytes\K-pv.log | dd count=$kbytes bs=1000 iflag=fullblock of=results/data/raw-$kbytes\K.out 2>/dev/null 66 | if [ $RNGTEST -eq 1 ] ; then 67 | rngtest < results/data/raw-$kbytes\K.out 2> results/raw-$kbytes\K-rngtest.txt 68 | fi 69 | if [ $ENT -eq 1 ] ; then 70 | ent results/data/raw-$kbytes\K.out > results/raw-$kbytes\K-ent.txt 71 | fi 72 | if [ $GRAPHS -eq 1 ] ; then 73 | makePlots results/data/raw-$kbytes\K.out 74 | fi 75 | if [ $DIEHARDER -eq 1 ] ; then 76 | dieharder -a -f results/data/raw-$kbytes\K.out > results/raw-$kbytes\K-dieharder.txt 77 | fi 78 | echo "---" 79 | 80 | for multiplier in "${TEST_MULTIPLIERS[@]}" 81 | do 82 | # whitened stream tests 83 | echo "starting whitened tests with: " 84 | echo "Bytes: $kbytes K ($(($kbytes*8000)) bits) multiplier: $multiplier" 85 | infnoise --debug --multiplier $multiplier 2> results/data/whitened-$multiplier-$kbytes\K.log | pv -fW 2> results/data/whitened-$multiplier-$kbytes\K-pv.log | dd count=$kbytes bs=1000 iflag=fullblock of=results/data/whitened-$multiplier-$kbytes\K.out 2>/dev/null 86 | if [ $RNGTEST -eq 1 ] ; then 87 | rngtest < results/data/whitened-$multiplier-$kbytes\K.out 2> results/whitened-$multiplier-$kbytes\K-rngtest.txt 88 | fi 89 | if [ $ENT -eq 1 ] ; then 90 | ent results/data/whitened-$multiplier-$kbytes\K.out > results/whitened-$multiplier-$kbytes\K-ent.txt 91 | fi 92 | if [ $GRAPHS -eq 1 ] ; then 93 | makePlots results/data/whitened-$multiplier-$kbytes\K.out 94 | fi 95 | if [ $DIEHARDER -eq 1 ] ; then 96 | dieharder -a -f results/data/whitened-$multiplier-$kbytes\K.out > results/whitened-$multiplier-$kbytes\K-dieharder.txt 97 | fi 98 | echo "---" 99 | 100 | # /dev/random tests 101 | echo "starting /dev/random tests with: " 102 | echo "Bytes: $kbytes K ($(($kbytes*8000)) bits) Multiplier: $multiplier" 103 | timeout 3s cat /dev/random >/dev/null # flush /dev/random pool 104 | echo -n "available entropy before test: " 105 | cat /proc/sys/kernel/random/entropy_avail 106 | infnoise --dev-random --multiplier $multiplier --debug 2> results/data/devrandom-$multiplier-$kbytes\K.log & 107 | sleep 3 108 | cat /dev/random | pv -fW 2> results/data/devrandom-$multiplier-$kbytes\K-pv.log | dd count=$kbytes bs=1000 iflag=fullblock of=results/data/devrandom-$multiplier-$kbytes\K.out 2>/dev/null 109 | killall infnoise 110 | if [ $RNGTEST -eq 1 ] ; then 111 | rngtest < results/data/devrandom-$multiplier-$kbytes\K.out 2> results/devrandom-$multiplier-$kbytes\K-rngtest.txt 112 | fi 113 | if [ $ENT -eq 1 ] ; then 114 | ent results/data/devrandom-$multiplier-$kbytes\K.out > results/devrandom-$multiplier-$kbytes\K-ent.txt 115 | fi 116 | if [ $GRAPHS -eq 1 ] ; then 117 | makePlots results/data/devrandom-$multiplier-$kbytes\K.out 118 | fi 119 | if [ $DIEHARDER -eq 1 ] ; then 120 | dieharder -a -f results/data/devrandom-$multiplier-$kbytes\K.out > results/devrandom-$multiplier-$kbytes\K-dieharder.txt 121 | fi 122 | echo "---" 123 | done 124 | done 125 | -------------------------------------------------------------------------------- /tests/samples/infnoise_raw.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/samples/infnoise_raw.bin -------------------------------------------------------------------------------- /tests/samples/infnoise_whitened.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/leetronics/infnoise/3ab37d11df4088d24b036823d27aa1f9a83a0769/tests/samples/infnoise_whitened.bin --------------------------------------------------------------------------------