Class BlockCipher
- Namespace
- Renci.SshNet.Security.Cryptography
- Assembly
- Renci.SshNet.dll
Base class for block cipher implementations.
public abstract class BlockCipher : SymmetricCipher
- Inheritance
-
BlockCipher
- Derived
- Inherited Members
Constructors
BlockCipher(byte[], byte, CipherMode, CipherPadding)
Initializes a new instance of the BlockCipher class.
protected BlockCipher(byte[] key, byte blockSize, CipherMode mode, CipherPadding padding)
Parameters
key
byte[]The key.
blockSize
byteSize of the block.
mode
CipherModeCipher mode.
padding
CipherPaddingCipher padding.
Exceptions
- ArgumentNullException
key
is null.
Properties
BlockSize
Gets the size of the block.
public byte BlockSize { get; }
Property Value
- byte
The size of the block.
MinimumSize
Gets the minimum data size.
public override byte MinimumSize { get; }
Property Value
- byte
The minimum data size.
Methods
Decrypt(byte[], int, int)
Decrypts the specified input.
public override byte[] Decrypt(byte[] input, int offset, int length)
Parameters
input
byte[]The input.
offset
intThe zero-based offset in
input
at which to begin decrypting.length
intThe number of bytes to decrypt from
input
.
Returns
- byte[]
The decrypted data.
DecryptBlock(byte[], int, int, byte[], int)
Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
public abstract int DecryptBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
Parameters
inputBuffer
byte[]The input data to decrypt.
inputOffset
intThe offset into the input byte array from which to begin using data.
inputCount
intThe number of bytes in the input byte array to use as data.
outputBuffer
byte[]The output to which to write decrypted data.
outputOffset
intThe offset into the output byte array from which to begin writing data.
Returns
- int
The number of bytes decrypted.
Encrypt(byte[], int, int)
Encrypts the specified data.
public override byte[] Encrypt(byte[] input, int offset, int length)
Parameters
input
byte[]The data.
offset
intThe zero-based offset in
input
at which to begin encrypting.length
intThe number of bytes to encrypt from
input
.
Returns
- byte[]
The encrypted data.
EncryptBlock(byte[], int, int, byte[], int)
Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
public abstract int EncryptBlock(byte[] inputBuffer, int inputOffset, int inputCount, byte[] outputBuffer, int outputOffset)
Parameters
inputBuffer
byte[]The input data to encrypt.
inputOffset
intThe offset into the input byte array from which to begin using data.
inputCount
intThe number of bytes in the input byte array to use as data.
outputBuffer
byte[]The output to which to write encrypted data.
outputOffset
intThe offset into the output byte array from which to begin writing data.
Returns
- int
The number of bytes encrypted.