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));
        }
Пример #2
0
            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[];
            }