Use comment from md_rand.c (part 2, as well).
This commit is contained in:
parent
0b5cfe32e9
commit
3779469192
@ -123,19 +123,20 @@ function and xor).
|
|||||||
When bytes are extracted from the RNG, the following process is used.
|
When bytes are extracted from the RNG, the following process is used.
|
||||||
For each group of 8 bytes (or less), we do the following,
|
For each group of 8 bytes (or less), we do the following,
|
||||||
|
|
||||||
Input into the hash function, the top 8 bytes from 'md', the byte that
|
Input into the hash function the top 8 bytes from 'md', the bytes that
|
||||||
are to be overwritten by the random bytes and bytes from the 'state'
|
are to be overwritten by the random bytes, and bytes from the 'state'
|
||||||
(incrementing looping index). From this hash function output (which
|
(incrementing looping index). From this hash function output (which
|
||||||
is kept in 'md'), the top (upto) 8 bytes are returned to the caller
|
is kept in 'md'), the top (upto) 8 bytes are returned to the caller
|
||||||
and the bottom (upto) 8 bytes are xored into the 'state'.
|
and the bottom (upto) 8 bytes are xored into the 'state'.
|
||||||
|
|
||||||
Finally, after we have finished 'generation' random bytes for the
|
Finally, after we have finished 'num' random bytes for the caller,
|
||||||
called, 'count' (which is incremented) and 'md' are fed into the hash
|
'count' (which is incremented) and the local and global 'md' are fed
|
||||||
function and the results are kept in 'md'. I believe the above
|
into the hash function and the results are kept in the global 'md'.
|
||||||
addressed points 1 (use of SHA-1), 6 (by hashing into the 'state' the
|
|
||||||
'old' data from the caller that is about to be overwritten) and 7 (by
|
I believe the above addressed points 1 (use of SHA-1), 6 (by hashing
|
||||||
not using the 8 bytes given to the caller to update the 'state', but
|
into the 'state' the 'old' data from the caller that is about to be
|
||||||
they are used to update 'md').
|
overwritten) and 7 (by not using the 8 bytes given to the caller to
|
||||||
|
update the 'state', but they are used to update 'md').
|
||||||
|
|
||||||
So of the points raised, only 2 is not addressed (but see
|
So of the points raised, only 2 is not addressed (but see
|
||||||
L<RAND_add()>).
|
L<RAND_add()>).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user