using System;
using System.Runtime.InteropServices;
using Mono.Security.Cryptography;
namespace System.Security.Cryptography
{
/// Defines a wrapper object to access the cryptographic service provider (CSP) version of the algorithm. This class cannot be inherited.
// Token: 0x0200053B RID: 1339
[ComVisible(true)]
public sealed class TripleDESCryptoServiceProvider : TripleDES
{
/// Generates a random initialization vector () to use for the algorithm.
// Token: 0x06003110 RID: 12560 RVA: 0x000A89A4 File Offset: 0x000A6BA4
public override void GenerateIV()
{
this.IVValue = KeyBuilder.IV(this.BlockSizeValue >> 3);
}
/// Generates a random to be used for the algorithm.
// Token: 0x06003111 RID: 12561 RVA: 0x000A89BC File Offset: 0x000A6BBC
public override void GenerateKey()
{
this.KeyValue = TripleDESTransform.GetStrongKey();
}
/// Creates a symmetric decryptor object with the specified key () and initialization vector ().
/// A symmetric decryptor object.
/// The secret key to use for the symmetric algorithm.
/// The initialization vector to use for the symmetric algorithm.
/// The value of the property is .-or-The value of the property is , and the value of the property is not 8.-or-An invalid key size was used.-or-The algorithm key size was not available.
///
///
///
// Token: 0x06003112 RID: 12562 RVA: 0x000A89CC File Offset: 0x000A6BCC
public override ICryptoTransform CreateDecryptor(byte[] rgbKey, byte[] rgbIV)
{
return new TripleDESTransform(this, false, rgbKey, rgbIV);
}
/// Creates a symmetric encryptor object with the specified key () and initialization vector ().
/// A symmetric encryptor object.
/// The secret key to use for the symmetric algorithm.
/// The initialization vector to use for the symmetric algorithm.
/// The value of the property is .-or-The value of the property is , and the value of the property is not 8.-or-An invalid key size was used.-or-The algorithm key size was not available.
///
///
///
// Token: 0x06003113 RID: 12563 RVA: 0x000A89D8 File Offset: 0x000A6BD8
public override ICryptoTransform CreateEncryptor(byte[] rgbKey, byte[] rgbIV)
{
return new TripleDESTransform(this, true, rgbKey, rgbIV);
}
}
}