We are using the imx6ul processor in an application where NIST certification for random number generation sources is required. For this, we capture ~140MB of random data from /dev/hwrng interface and fead it to the NIST statistical tests. The test parameters used were as follows.
./assess 1000000
Block Frequency block length 20000
Non-Overlapping Templates template length 9
Overlapping Template template length 9
Approximate Entropy block length 8
Serial block length 16
Linear Complexity block length 1000
Number of bit streams (sample size) (M) 1073
The minimum size of data tested is 128mb. So two test samples were created by taking the 1st 128mb and last 128mb of the captured 140mb of data from the processor. According to the final analysis reports, in the last data portion a NonOverlappingTemplate test scores below the minimum pass rate. So we captured several data samples and ran the test. The results are not consistent, some tests passed and some failed.
Why does this happen in the /dev/hwrng interface?
What are the implications of this result on the certification?
Is there any specific configuration for the CAAM RNG that we should use? We are using yocto linux-3.14.38 without any modifications.
PS:
imx6ul SRM says the RNG should be instantiated in test mode to obtain data for certification. Even in test mode some tests fail. Below are extracts from the failed test reports for /dev/hwrng:
------------------------------------------------------------------------------
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 P-VALUE PROPORTION STATISTICAL TEST
------------------------------------------------------------------------------
113 111 95 102 91 111 95 109 122 124 0.290066 1051/1073 * NonOverlappingTemplate
------------------------------------------------------------------------------
C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 P-VALUE PROPORTION STATISTICAL TEST
------------------------------------------------------------------------------
109 109 91 94 108 123 112 98 108 121 0.411806 1051/1073 * NonOverlappingTemplate##
Hello,
the following may be helpful :
https://community.nxp.com/thread/437691
Have a great day,
Yuri
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------