package ssh;

/**
 * Cipher is an abstract class that defines the interface to an object
 * that provides encipherment services.
 *
 * @todo replace with JCE interfaces
 * @rcs $Id: Cipher.java,v 1.2 2000/05/22 01:35:48 jonh Exp $ 
 */
public abstract class Cipher {
	byte inputVector[];	// the "input vector," used to carry cipher state
						// from block to block in cipher block chaining.

	Cipher() {
		inputVector = new byte[8];
			// Java zeros new byte[]'s; which is what we want
	}

	abstract public void setKey(byte[] key);

	abstract public void encipher(byte[] dest, byte[] src, int len);

	abstract public void decipher(byte[] dest, byte[] src, int len);

}
