摘要 |
A cryptographically secure random number generating system includes a random number generator for generating random numbers, an encryption engine, and a modulus offset unit. The random number generator has a valid output set consisting of M-1 random numbers, and an invalid output set including one invalid output value. The encryption engine is responsive to the random number and to the invalid output value, and operative to encrypt the random number to provide an encrypted random number, and further operative to encrypt the invalid output value to provide an encrypted invalid output value. The modulus offset unit includes: a sub-modulo for adding, in modulo M, the invalid output value to the encrypted random number to determine a sum; and a sub-modulo for subtracting, in modulo M, the encrypted invalid output value from the sum to determine a cryptographically secure random number.
|