C# Class Renci.SshNet.Security.Cryptography.Ciphers.CastCipher

Implements CAST cipher algorithm
Inheritance: BlockCipher
Mostra file Open project: sshnet/SSH.NET Class Usage Examples

Public Methods

Method Description
CastCipher ( byte key, CipherMode mode, CipherPadding padding ) : System

Initializes a new instance of the CastCipher class.

DecryptBlock ( byte inputBuffer, int inputOffset, int inputCount, byte outputBuffer, int outputOffset ) : int

Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.

EncryptBlock ( byte inputBuffer, int inputOffset, int inputCount, byte outputBuffer, int outputOffset ) : int

Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.

Private Methods

Method Description
Bits32ToInts ( uint inData, int b, int offset ) : void
CastDecipher ( uint L16, uint R16, uint result ) : void
CastEncipher ( uint L0, uint R0, uint result ) : void

Does the 16 rounds to encrypt the block.

F1 ( uint D, uint Kmi, int Kri ) : uint

The first of the three processing functions for the encryption and decryption.

F2 ( uint D, uint Kmi, int Kri ) : uint

The second of the three processing functions for the encryption and decryption.

F3 ( uint D, uint Kmi, int Kri ) : uint

The third of the three processing functions for the encryption and decryption.

IntsTo32bits ( int b, int i ) : uint
SetKey ( byte key ) : void

Sets the subkeys using the same nomenclatureas described in RFC2144.

Method Details

CastCipher() public method

Initializes a new instance of the CastCipher class.
is null. Keysize is not valid for this algorithm.
public CastCipher ( byte key, CipherMode mode, CipherPadding padding ) : System
key byte The key.
mode CipherMode The mode.
padding CipherPadding The padding.
return System

DecryptBlock() public method

Decrypts the specified region of the input byte array and copies the decrypted data to the specified region of the output byte array.
public DecryptBlock ( byte inputBuffer, int inputOffset, int inputCount, byte outputBuffer, int outputOffset ) : int
inputBuffer byte The input data to decrypt.
inputOffset int The offset into the input byte array from which to begin using data.
inputCount int The number of bytes in the input byte array to use as data.
outputBuffer byte The output to which to write decrypted data.
outputOffset int The offset into the output byte array from which to begin writing data.
return int

EncryptBlock() public method

Encrypts the specified region of the input byte array and copies the encrypted data to the specified region of the output byte array.
public EncryptBlock ( byte inputBuffer, int inputOffset, int inputCount, byte outputBuffer, int outputOffset ) : int
inputBuffer byte The input data to encrypt.
inputOffset int The offset into the input byte array from which to begin using data.
inputCount int The number of bytes in the input byte array to use as data.
outputBuffer byte The output to which to write encrypted data.
outputOffset int The offset into the output byte array from which to begin writing data.
return int