// System.Security.Cryptography.Aes #if NET20 using System; using System.Runtime.CompilerServices; using System.Security.Cryptography; namespace System.Security.Cryptography { internal abstract class Aes : SymmetricAlgorithm { private static KeySizes[] s_legalBlockSizes = new KeySizes[1] { new KeySizes(128, 128, 0) }; private static KeySizes[] s_legalKeySizes = new KeySizes[1] { new KeySizes(128, 256, 64) }; protected Aes() { base.LegalBlockSizesValue = s_legalBlockSizes; base.LegalKeySizesValue = s_legalKeySizes; base.BlockSizeValue = 128; base.FeedbackSizeValue = 8; base.KeySizeValue = 256; base.ModeValue = CipherMode.CBC; } public new static Aes Create() { return Create("AES"); } public new static Aes Create(string algorithmName) { if (algorithmName == null) { throw new ArgumentNullException("algorithmName"); } return CryptoConfig.CreateFromName(algorithmName) as Aes; } } } #endif