The Xceed Encryption Library can be compatible with the Framework’s Rijndael class however you have to be careful when initializing the objects, since we only support the ECB (emoFreeBlocks) and CBC (emoChainedBlocks) encryption modes. Also, you must be careful with the padding method :
.NET 1.0 and 1.1 | .NET 2.0 | Xceed Encryption Library | |
None | Yes | Yes | No |
Zeros | Yes | Yes | No |
ANSIX923 | No | Yes | No |
FIPS81/ISO10126 | No | Yes | Yes |
RFC1423/PKCS7 | Yes | Yes | Yes |
Random | No | No | Yes |
A C# sample that demonstrates the required implementation when using the ChainedBlocks(CBC) encryption mode is available for download (see attachments).
A C# sample that demonstrates the required implementation when using the FreeBlocks (ECB) encryption mode is also available for download. This sample includes a Visual Basic 6 project that uses the Xceed Encryption Library to encrypt data and the Xceed Binary Encoding Library to encode. It also includes a C# project that demonstrates how to use the Framework’s classes to decode and decrypt the data. A C# version of the code required to encrypt using the Xceed Encryption Library is also included in the C# sample (see attachments).
We highly recommend that you use the ChainedBlocks (CBC) encryption mode rather than the FreeBlocks (ECB) encryption mode in order to thwart potential attacks.