You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+50-15Lines changed: 50 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,8 +4,6 @@ Cryptographic random bit generators (RBGs), also known as random number generato
4
4
5
5
## Disclaimer
6
6
7
-
Please note that this code package was published to assist in the evaluation of the entropy estimation methods provided in SP800-90B. As such, it is written to resemble the pseudocode in the specification, and is not necessarily optimized for performance.
8
-
9
7
NIST-developed software is provided by NIST as a public service. You may use, copy and distribute copies of the software in any medium, provided that you keep intact this entire notice. You may improve, modify and create derivative works of the software or any portion of the software, and you may distribute such modifications or works. Modified works should carry a notice stating that you changed the software and should note the date and nature of any such change. Please explicitly acknowledge the National Institute of Standards and Technology as the source of the software.
10
8
11
9
## Issues
@@ -18,43 +16,80 @@ This code package requires a C++11 compiler. The code uses OpenMP directives, so
18
16
19
17
The resulting binary is linked with bzlib and divsufsort, so these libraries (and their associated include files) must be installed and accessible to the compiler.
20
18
19
+
See [the wiki](https://github.com/usnistgov/SP800-90B_EntropyAssessment/wiki/Installing-libdivsufsort) for some distribution-specific instructions on installing divsufsort.
20
+
21
21
## Overview
22
22
23
-
*`bin/` has a bunch of randomly generated binary files for testing
23
+
*`bin/` has binary files for testing
24
24
*`cpp/` holds the new codebase
25
25
26
26
## How to run
27
27
28
-
The project is divided into two sections, IID tests and non-IID tests. They are intended to be separate. One provides an assurance that a dataset is IID [(independent and identically distributed)](https://en.wikipedia.org/wiki/Independent_and_identically_distributed_random_variables) and the other provides an estimate for min-entropy for any data provided.
28
+
The project is divided into two sections, IID tests and non-IID tests. They are intended to be separate. One provides an assurance that a dataset is IID [(independent and identically distributed)](https://en.wikipedia.org/wiki/Independent_and_identically_distributed_random_variables) and the other provides an estimate for min-entropy for any data provided. Please note that most commonly used entropy sources are not IID; see IG7.18 for the additional justification necessary to support any IID claim.
29
+
30
+
One can make all the binaries using:
31
+
32
+
make
33
+
34
+
After compiling, one can test that your compilation behaves as expected by using the self-test functionality:
35
+
cd selftest
36
+
./selftest
37
+
38
+
Any observed delta less than 1.0E-6 is considered a pass for the self test.
29
39
30
40
For IID tests use the Makefile to compile the program:
0 commit comments