2017-11-14 12 views
1

今後のフレームワークバージョンで異なるデフォルトが実装されている場合に、暗号化パラメータを明示的に(.NET 4.7のデフォルトから読み込んで)設定してください。Why AesManaged.FeedbackSizeValue = 8 AesManaged.FeedbackSize = 128の場合

FeedbackSizeValueを手動で設定した後、FeedbackSizeValueが変更されないのはなぜですか?ここで

AesManaged aes = new AesManaged(); 
aes.Mode = CipherMode.CBC; 
aes.KeySize = 256; 
aes.Padding = PaddingMode.PKCS7; 
aes.BlockSize = 128; 
aes.FeedbackSize = aes.BlockSize; 

は、AESは、フィードバックの大きさを持っていないFeedbackSizeValue 8

-  aes {System.Security.Cryptography.AesManaged} System.Security.Cryptography.AesManaged 

-  aes {System.Security.Cryptography.AesManaged} System.Security.Cryptography.AesManaged 
     BlockSize 128 int 
     BlockSizeValue 128 int 
     FeedbackSize 128 int 
     FeedbackSizeValue 8 int 
+  IV {byte[16]} byte[] 
     IVValue null byte[] 
+  Key {byte[32]} byte[] 
     KeySize 256 int 
     KeySizeValue 256 int 
     KeyValue null byte[] 
+  LegalBlockSizes {System.Security.Cryptography.KeySizes[1]} System.Security.Cryptography.KeySizes[] 
+  LegalBlockSizesValue {System.Security.Cryptography.KeySizes[1]} System.Security.Cryptography.KeySizes[] 
+  LegalKeySizes {System.Security.Cryptography.KeySizes[1]} System.Security.Cryptography.KeySizes[] 
+  LegalKeySizesValue {System.Security.Cryptography.KeySizes[1]} System.Security.Cryptography.KeySizes[] 
     Mode CBC System.Security.Cryptography.CipherMode 
     ModeValue CBC System.Security.Cryptography.CipherMode 
     Padding PKCS7 System.Security.Cryptography.PaddingMode 
     PaddingValue PKCS7 System.Security.Cryptography.PaddingMode 
+  m_rijndael {System.Security.Cryptography.RijndaelManaged} System.Security.Cryptography.RijndaelManaged 
+  Static members  

答えて

1

CBCモードを参照して、オブジェクトです。 CBC modeを参照してください:

DCBC mode ウィキペディアからグラフィック

また、ブロックサイズ(aes.BlockSize = 128;)を指定する必要はありません、AESのみを1つのブロックサイズを持っています。 Rijndaelはいくつかのブロックサイズをサポートしており、本質的にAESとなるには128ビットのブロックサイズを指定する必要があります。 Rijndaelの多くの実装ではデフォルトで128ビットのブロックサイズに設定されていますが、パラメータを完全に指定する方が常に優れています。

+0

ありがとうございました@zaph – TimDude

関連する問題