Class BlockingSecureRandomNIST


  • public class BlockingSecureRandomNIST
    extends BlockingSecureRandom
    Secure random number generator that is blocking after about 6.0 hours on idle devices due to lack of entropy. SecureRandom seeded according to NIST SP800-90A recommendations - SHA1PRNG algorithm - Algorithm seeded with 440 bits of secure random data - Skips first random number of bytes to mitigate against poor implementations Compliance to NIST SP800-90A offers quality assurance against an accepted standard. The aim here is not to offer the most perfect random source, but a source with well defined and understood characteristics, thus enabling selection of the most appropropriate method, given the intented purpose. This implementation supports security strength for NIST SP800-57 Part 1 Revision 5 (informally, generation of cryptographic keys for encryption of sensitive data).
    • Constructor Detail

      • BlockingSecureRandomNIST

        public BlockingSecureRandomNIST()
    • Method Detail

      • nextBytes

        public void nextBytes​(@NonNull
                              byte[] bytes)
        Description copied from class: RandomSource
        Get random bytes from the random source.
        Overrides:
        nextBytes in class BlockingSecureRandom
        Parameters:
        bytes - Fill byte array with random data.