Package com.trilead.ssh2.crypto.cipher

# Class BlowFish

java.lang.Object
com.trilead.ssh2.crypto.cipher.BlowFish

All Implemented Interfaces:
  `BlockCipher`

public class BlowFish extends Object implements BlockCipher
A class that provides Blowfish key encryption operations, such as encoding data and generating keys. All the algorithms herein are from Applied Cryptography and implement a simplified cryptography interface.

## Constructor Summary

Constructors
Constructor
Description
`BlowFish()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getAlgorithmName()`
`int`
`getBlockSize()`
`void`
`init(boolean encrypting, byte[] key)`
initialise a Blowfish cipher.
`void`
`reset()`
`final void`
`transformBlock(byte[] in, int inOff, byte[] out, int outOff)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### BlowFish

public BlowFish()

## Method Details

### init

public void init(boolean encrypting, byte[] key)
initialise a Blowfish cipher.

Specified by:
  `init` in interface `BlockCipher`
Parameters:
  `encrypting` - whether or not we are for encryption.
  `key` - the key required to set up the cipher.
Throws:
  `IllegalArgumentException` - if the params argument is inappropriate.

### getAlgorithmName

public String getAlgorithmName()

### transformBlock

public final void transformBlock(byte[] in, int inOff, byte[] out, int outOff)

Specified by:
  `transformBlock` in interface `BlockCipher`

### reset

public void reset()

### getBlockSize

public int getBlockSize()

Specified by:
  `getBlockSize` in interface `BlockCipher`