├── .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+= "request | help |
"
27 | message+= "/status | show current buffer status |
"
28 | message+= "/get | get " + str(RESPONSE_SIZE) + "bytes (binary format) |
"
29 | # print " | /reg
todo
"
30 | message+= "
"
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
--------------------------------------------------------------------------------