
v4.6 [Jan 31, 2013]
Added the new (as of October 2012) NIST Secure Hash Algorithm SHA-3 [KECCAK] with digest lengths 224, 256, 384 and 512 bits to all the Message Digest Hash functions and their .NET equivalent methods in the Hash Class.
Added the stateful functions SHA3_Init, SHA3_AddBytes, SHA3_AddString and SHA3_HexDigest to compute the SHA-3 message digest of data passed in several chunks. The new equivalent .NET methods are Sha3.Init, Sha3.AddData (Byte[]), Sha3.AddData (String) and Sha3.HexDigest together with Sha3.Instance and Sha3.Dispose to create and dispose of the objects. The new SHA3_LengthInBytes function or Sha3.LengthInBytes property will return the byte-length of the hash output for an initialized SHA-3 context.
For the equivalent SHA-3 function to, say, SHA2_BytesHexHash, use the HASH function HASH_HexFromBytes with the relevant API_HASH_SHA3_nnn option.
Improved the speed of the SHA-512 and SHA-384 functions.
Added the HASH_HexFromBits function and Hash.HexFromBits method to compute the secure hash of a bit string (as opposed to the byte-oriented methods) using the SHA family of secure hash functions.
Added the new HMAC-SHA-3 family of HMAC Message Authentication Code functions using the new SHA-3 secure hash algorithm, together with their .NET equivalent methods in the Mac Class. This provided provisionally as of November 2012, subject to official release of a new standard or test vectors.
Added the RNG_TestDRBGVS function and Rng.TestDrbgvs method to carry out the relevant validation test in The NIST SP 800-90A Deterministic Random Bit Generator Validation System (DRBGVS) [DRBGVS].
Fixed an issue with the random number entropy accumulator which could cause problems when certain functions were called from a Windows dialog box.
Offers basic functionality such as reading and erasing diagnostic trouble codes