using System;
using System.Runtime.InteropServices;
using Mono.Security.Cryptography;
namespace System.Security.Cryptography
{
/// Accesses the managed version of the algorithm. This class cannot be inherited.
// Token: 0x02000527 RID: 1319
[ComVisible(true)]
public sealed class RijndaelManaged : Rijndael
{
/// Generates a random initialization vector () to be used for the algorithm.
// Token: 0x06003070 RID: 12400 RVA: 0x0009E520 File Offset: 0x0009C720
public override void GenerateIV()
{
this.IVValue = KeyBuilder.IV(this.BlockSizeValue >> 3);
}
/// Generates a random to be used for the algorithm.
// Token: 0x06003071 RID: 12401 RVA: 0x0009E538 File Offset: 0x0009C738
public override void GenerateKey()
{
this.KeyValue = KeyBuilder.Key(this.KeySizeValue >> 3);
}
/// Creates a symmetric decryptor object with the specified and initialization vector ().
/// A symmetric decryptor object.
/// The secret key to be used for the symmetric algorithm. The key size must be 128, 192, or 256 bits.
/// The IV to be used for the symmetric algorithm.
/// The parameter is null.-or-The parameter is null.
/// The value of the parameter is not , , or .
// Token: 0x06003072 RID: 12402 RVA: 0x0009E550 File Offset: 0x0009C750
public override ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV)
{
return new RijndaelManagedTransform(this, false, rgbKey, rgbIV);
}
/// Creates a symmetric encryptor object with the specified and initialization vector ().
/// A symmetric encryptor object.
/// The secret key to be used for the symmetric algorithm. The key size must be 128, 192, or 256 bits.
/// The IV to be used for the symmetric algorithm.
/// The parameter is null.-or-The parameter is null.
/// The value of the parameter is not , , or .
// Token: 0x06003073 RID: 12403 RVA: 0x0009E55C File Offset: 0x0009C75C
public override ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[] rgbIV)
{
return new RijndaelManagedTransform(this, true, rgbKey, rgbIV);
}
}
}