Patent ID: 9477443
Filing Date: 2016-10-25
CPC Classification: G06F

Claim Text:
1. A method for generating on-demand random numbers with multiple random noise sources and self-diagnostic logic, the method comprising the steps of: running a set of startup tests checking the health and quality of the random noise sources and the quality of the generated random values; if the startup tests pass, waiting to receive a request from the external system (ES); receiving and validating the request from the ES; sampling the random noise sources and converting electrical signals into independent random raw byte streams; running pre-processing tests, continuously monitoring the health of the random noise sources; if the pre-processing tests pass, producing a stream of low bias bytes by selecting the values from the independently generated random raw byte streams and applying a XOR (exclusive OR) logical operation between the selected bytes; applying to the produced random bytes a keyed or un-keyed conditioning function approved by the National Institute of Standards and Technology, as described by NIST DRAFT Special Publication 800-90B August 2012, document section 6.4.2; running post-processing ‘Repetition Count’ and ‘Adaptive Proportion’ health tests described by NIST DRAFT Special Publication 800-90B August 2012, document section 6.5; if the post-processing tests pass, sending the generated random bytes to the ES; and if the amount of bytes sent to the ES satisfies the initial request, sending a random number generator (RNG) status health byte and returning to the step of receiving a request from the ES.