Port of Threefish implementation from bc-java.
All block sizes (256/5124/1024) and unit tests.
Port SkeinDigest and SkeinMac from bc-java.
Skein digest and Mac in 256/512/1024 bit state sizes (and arbitrary byte level output size), with unit tests.
Port Memoable digest support from bc-java.
Port SM3 digest implementation and tests from bc-java.
Refactor digest tests to subclass DigestTest, the same as bc-java.
Port HMac optimisation using Memoable digests from bc-java.
Auto-initialize random if necessary
Use 1/n-1 record splitting instead of 0/n
Need to throw the new exceptions rather than leaving them to fall into the void
Always apply sign guard
Add ECFieldElement.GetEncoded() method
Use Negate() to simplify
Add methods for converting from BC RSAPrivateKeyStructure
A round of porting from Java TLS
More porting from Java TLS, mainly enum replacement
Clean up all the special handling for IDEA stuff, back to a single release assembly.
Factor out variation of MacUtilities.DoFinal
Port of PrfAlgorithm and ProtocolVersion from Java TLS
Use Platform.ToUpperInvariant
Make date format consistent with Java tests