public override ICryptoTransform CreateEncryptor(byte[] key, byte[] iv) { if (key == null) { throw new ArgumentNullException("key"); } if (key.Length < KeySizeInBytes) { throw new ArgumentOutOfRangeException("key", "key must be at least 256 bits long"); } return(base.CreateEncryptor(AesKw.Take(KeySizeInBytes, key), iv)); }
internal AesKwDecryptor(byte[] keyBytes, byte[] iv) { // Create the AES provider _aes = AesKw.Create(keyBytes); // Set the AES IV to Zeroes var aesIv = new byte[_aes.BlockSize >> 3]; aesIv.Zero(); _aes.IV = aesIv; // Remember the real IV _iv = iv.Clone() as byte[]; }