Chapter 2 Algorithm Info Types 227
AI_SHA1Random
AI_SHA1Random
Purpose:
This AI allows you to generate a stream of pseudo-random numbers which are
guaranteed to have a very high degree of randomness. Random numbers are used in
deriving public and private keys, initialization vectors, and so on. This AI uses SHA1
as an underlying hashing function. The details of this algorithm are available from
RSA Laboratories' Bulletin #8 or online at http://www.rsasecurity.com/rsalabs/
bulletins/.
Other algorithms that can be used to generate pseudo-random numbers are
AI_MD2Random, AI_MD5Random, and AI_X962Random_V0.
Notes:
In this API, AI_SHA1Random is identical to AI_X962Random_V0 (Section 2.97); however,
this identification may change in future versions of Crypto-C. For forward
compatibility, we recommend that you do not use the name AI_SHA1Random in your
applications; use AI_X962Random_V0 instead.
AI_X962Random_V0 provides an implementation of SHA1 Random that is based on the
X9.62 standard; this is different from the implementation of SHA1 Random in RSA
Security Inc.'s Java cryptographic toolkit, RSA BSAFE Crypto-J . Future versions of
Crypto-C may implement AI_SHA1Random in a manner compatible with the
implementation provided via the “SHA1Random” value passed to the
JSAFE_SecureRandom class in Crypto-J.