US 11,755,287 B2
Random number generator
Jan Wassenberg, Langnau am Albis (CH); Robert Obryk, Zurich (CH); Jyrki Alakuijala, Wollerau (CH); and Emmanuel Mogenet, Bach (CH)
Assigned to Google LLC, Mountain View, CA (US)
Filed by Google LLC, Mountain View, CA (US)
Filed on Aug. 24, 2022, as Appl. No. 17/821,979.
Application 17/821,979 is a continuation of application No. 16/613,516, granted, now 11,449,311, previously published as PCT/US2017/060275, filed on Nov. 7, 2017.
Prior Publication US 2022/0405058 A1, Dec. 22, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 29/06 (2006.01); G06F 21/00 (2013.01); G06F 7/58 (2006.01); H04L 9/06 (2006.01); H04L 9/08 (2006.01)
CPC G06F 7/582 (2013.01) [H04L 9/0625 (2013.01); H04L 9/0631 (2013.01); H04L 9/0869 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer-implemented method when executed by data processing hardware causes the data processing hardware to perform operations comprising:
initializing a state of a pseudo-random number generator (PRNG), the state comprising a set of branches, the set of branches comprising:
an inner branch; and
one or more outer branches;
permuting the state of the PRNG by:
executing a round function using a plurality of round keys; and
shuffling each branch into a prescribed order; and
after permuting the state of the PRNG, determining that the state of the PRNG is full-bit diffused; and
after on determining that the state of the PRNG is full-bit diffused, generating an output of the PRNG based on an exclusive OR (XOR) of the inner branch of the permuted state with an inner branch of a previous state of the PRNG.