CryptSharp.Utility Namespace

CryptSharp

CryptSharp.Utility Namespace CryptSharp
These classes are not directly related to the crypt functionality, but most were necessary for its implementation, so I see no reason not to make them available. You may find them useful for other purposes.
Classes

  Class Description
Public class Base16Encoding
Base-16 binary-to-text encodings.
Public class Base2Encoding
Base-2 binary-to-text encodings.
Public class Base32Encoding
Base-32 binary to text encodings. I needed multiple variations of base-64 for the various crypt algorithms, and base-16 (hex) for test vectors, so base-32 is mostly a freebie. It's great for e-mail verifications, product keys - really anywhere you need someone to type in a randomly-generated code.
Public class Base64Encoding
Base-64 binary-to-text encodings.
Public class BaseEncoding
Performs generic binary-to-text encoding.
Public class BlowfishCipher
Performs low-level encryption and decryption using the Blowfish cipher.
Public class DesCipher
Performs low-level encryption and decryption using the DES cipher.
Public class Code example Pbkdf2
Implements the PBKDF2 key derivation function.
Public class Salsa20Core
Implements the Salsa20 hash function.
Public class SCrypt
Implements the SCrypt key derivation function.
Public class SecureComparison
Provides comparison methods resistant to timing attack.
Delegates

  Delegate Description
Public delegate BaseEncodingDecodeFilterCallback
A callback to map arbitrary characters onto the characters that can be decoded.
Enumerations

  Enumeration Description
Public enumeration EksBlowfishKeyExpansionFlags
Modifiers for Expensive Key Schedule (EKS) Blowfish key expansion behavior.