I've devised a new RNG, which I call DUAL_LCG_DBRG It's keyed, so even by knowing the state of the RNG, it is not predictable. By employing massive amounts of non-linearity via low-level bit operations I have made it both secure and highly efficient on low-power devices.