Page 14 of Microsoft's TPM abstraction says that is allows for "stirring"
A call to BCryptGenRandom will fill the caller-provided buffer with random data. The maximum random number size is limited to 4,096 bytes per call. The provider may make several round trips to the TPM to fill the caller’s buffer and the call will block until the request is satisfied.
The provider also supports “stirring” the RNG in the TPM, by providing the flag BCRYPT_RNG_USE_ENTROPY_IN_BUFFER with the call BCryptGenRandom. If this flag is set, the provider will stir the entropy generator in the TPM with the data in the caller’s buffer. If the buffer is larger than 256 bytes, only the first 256 bytes will be used.
(note to reader, "bcrypt" referenced above has no relation to the hashing algorithm, it's a descriptor for a MSFT-technology)
- How is this in-buffer entrophy used, and why would someone want to improve on entropy?
I remember a previous question on SE that says that combining RNGs from two different sources (system provided + BouncyCastle) was ill advised and will result in a net decrease in security.
How is this "stirring of entropy" any different?