Here is the example that I have run. It has the same Mode, Padding, BlockSize, KeySize. I am using the same init vector, key and data.
Using the RijndaelManaged pr
Response from Microsoft:
RijndaelManaged class and
AesCryptoServiceProvider class are two
different implementations.
RijndaelManaged class is a kind of
implementation of Rijndael algorithm
in .net framework, which was not
validated under NIST (National
Institute of Standards and Technology)
Cryptographic Module Validation
Program (CMVP).
However,
AesCryptoServiceProvider class calls
the Windows Crypto API, which uses
RSAENH.DLL, and has been validated by
NIST in CMVP. Although Rijndael
algorithm was the winner of the NIST
competition to select the algorithm
that would become AES, there are some
differences between Rijndael and
official AES. Therefore,
RijndaelManaged class and
AesCryptoServiceProvider class have
subtle differences on implementation.
In addition, RijndaelManaged class
cannot provide an equivalent
implementation with AES. There is
another class implemented in .net
framework, AesManaged class. This
class just wrapped RijndaelManaged
class with a fixed block size and
iteration count to achieve the AES
standard. However, it does not support
the feedback size, especially, when
the mode is set as CFB or OFB, the
CryptographicException will be thrown.
For more information, please refer to the following MSDN documents.
AesManaged Class and AesManaged.Mode Property
If you want to pick up standard AES as
security algorithm in your
application, we recommend using the
AesCryptoServiceProvider class. If you
want to mix the RijndaelManged class
and AesCryptoServiceProvider class in
your application, we suggest using CBC
mode instead of CFB mode in your
program, since the implementation of
the CBC mode in both classes is the
same.