AESはRijndaelに基づいていますが、ブロックサイズは128ビットに制限されています。Rijndaelは、より広範囲のブロックサイズをサポートし、多くの暗号化ライブラリは、AESを補完するために別個のRijndael実装を提供します。
Rijndaelアルゴリズムでは、128、160、192、224、および256ビットのブロックサイズがサポートされていますが、AES標準では128ビットのブロックサイズのみが指定されています。[ウィキペディア]
RijndaelManaged
クラスにリンクしました。AESの同等のクラスはですAesManaged
。
クラス間の違いについて:ブロックサイズを128に設定してAesManaged
使用するだけで、 FIPSに準拠していません。使用すると、FIPSグループポリシーフラグが設定されている場合に例外がスローされます。.NET Framework 4.6.2(2016年8月)は、AESアルゴリズムのCNGバージョンの実装であるAesCngクラスを追加しました。RijndaelManaged
AesManaged
RijndaelManaged
IVは、ブロックサイズと同じ長さのランダムデータであり、特定の対称動作モード(CBCモードなど)で必要になります。通常、IVは、平文の最初のブロックまたは暗号文の最初のブロックと結合(XORされます)されます。同じメッセージを同じキーで2回暗号化しても、同じ出力が得られないようにするという考え方です。