Wrapping Up 2.0
Many additional utility classes were also included, such at the SecurityElement, which is a simple implementation of managing XML strings. And the StopWatch class was upgraded to match the DotNET implementation, even though it doesn't exist in the core library. I like having a StopWatch class.
Many array contructors have also been included so arrays of specific datatypes can easily be created. This was to help with being able to create an array inline to be passed into the crypto functions that accepted Byte arrays. It was just easier to create constructors instead of constantly declaring a variable and assigning an array prior to usage.
I'm currently reworking the VBCorLibTypes typelibrary. Creating an IDL source file, since there never was one because I used Matt Curland's type library editor. Once that is finished, I'll be adding as much support for the unicode versions of the API functions as I can. Specifically for file, registry and INI support, but, I'll include support where it makes sense. The unicode support will only work on NT machines, which I'm pretty sure includes everyone now-a-days.
There is one place I don't think I'll finish because it may be more trouble than it's really worth, and that is in the DSAParameters class. The "J" parameter is equal to (P - 1) / Q. The parameter is optional. So, I'm not sure I want to delve into dividing 64 byte numbers for such little gain. If I do learn about such large numbers, I might write a BigInteger class. Or if someone with knowledge of such things could point me in the right direction.
Anyways, things are coming together. I have documentation to write, including a whole set of tutorials for all this wonderful cryptography stuff. It should be fun!