// Assembly: mscorlib
// Full name: Mono.Security.Cryptography.SymmetricTransform

namespace Mono.Security.Cryptography
{
public class SymmetricTransform // TypeDefIndex: 3357
{
	// Fields
	type#26817 algo;
	type#15316 encrypt;
	type#20870 BlockSizeByte;
	type#12863 temp;
	type#12863 temp2;
	type#12861 workBuff;
	type#12861 workout;
	type#24169 padmode;
	type#20870 FeedBackByte;
	type#15314 m_disposed;
	type#15316 lastBlock;
	type#24931 _rng;

	// Methods
	// RVA: -1
	public type#28660 .ctor(type#26816 symmAlgo, type#15313 encryption, type#12860 rgbIV) { }
	// RVA: -1
	protected virtual type#28660 Finalize() { }
	// RVA: -1
	private virtual type#28660 System.IDisposable.Dispose() { }
	// RVA: -1
	protected virtual type#28660 Dispose(type#15313 disposing) { }
	// RVA: -1
	public virtual type#15313 get_CanTransformMultipleBlocks() { }
	// RVA: -1
	public virtual type#20867 get_InputBlockSize() { }
	// RVA: -1
	public virtual type#20867 get_OutputBlockSize() { }
	// RVA: -1
	protected virtual type#28660 Transform(type#12860 input, type#12860 output) { }
	// RVA: -1
	protected abstract type#28660 ECB(type#12860 input, type#12860 output) { }
	// RVA: -1
	protected virtual type#28660 CBC(type#12860 input, type#12860 output) { }
	// RVA: -1
	protected virtual type#28660 CFB(type#12860 input, type#12860 output) { }
	// RVA: -1
	protected virtual type#28660 OFB(type#12860 input, type#12860 output) { }
	// RVA: -1
	protected virtual type#28660 CTS(type#12860 input, type#12860 output) { }
	// RVA: -1
	private type#28660 CheckInput(type#12860 inputBuffer, type#20867 inputOffset, type#20867 inputCount) { }
	// RVA: -1
	public virtual type#20867 TransformBlock(type#12860 inputBuffer, type#20867 inputOffset, type#20867 inputCount, type#12860 outputBuffer, type#20867 outputOffset) { }
	// RVA: -1
	private type#15313 get_KeepLastBlock() { }
	// RVA: -1
	private type#20867 InternalTransformBlock(type#12860 inputBuffer, type#20867 inputOffset, type#20867 inputCount, type#12860 outputBuffer, type#20867 outputOffset) { }
	// RVA: -1
	private type#28660 Random(type#12860 buffer, type#20867 start, type#20867 length) { }
	// RVA: -1
	private type#28660 ThrowBadPaddingException(type#24167 padding, type#20867 length, type#20867 position) { }
	// RVA: -1
	protected virtual type#12860 FinalEncrypt(type#12860 inputBuffer, type#20867 inputOffset, type#20867 inputCount) { }
	// RVA: -1
	protected virtual type#12860 FinalDecrypt(type#12860 inputBuffer, type#20867 inputOffset, type#20867 inputCount) { }
	// RVA: -1
	public virtual type#12860 TransformFinalBlock(type#12860 inputBuffer, type#20867 inputOffset, type#20867 inputCount) { }
}
}
