sam.cipher
Class Twofish

java.lang.Object
  |
  +--sam.cipher.Cipher
        |
        +--sam.cipher.Twofish

public class Twofish
extends Cipher

Implementation of the Twofish cipher. Retrofitted for personal use by Guillaume Lacôte.

Copyright (c) 1997, 1998 Systemics Ltd on behalf of the Cryptix Development Team. All rights reserved. Copyright © 1998 Systemics Ltd on behalf of the Cryptix Development Team.
All rights reserved.

$Revision: $


Nested Class Summary
static class Twofish.Key
          Key implementation that is adapted to the Twofish cipher.
 
Nested classes inherited from class sam.cipher.Cipher
Cipher.ByteArrayFilter, Cipher.Error
 
Field Summary
 
Fields inherited from class sam.cipher.Cipher
DECRYPT, EMPTY, ENCRYPT, INVERSE, key, REGISTRY
 
Constructor Summary
Twofish(sam.cipher.Key key)
           
 
Method Summary
protected  void decrypt(byte[] data, int offset, sam.cipher.Key aKey)
          Decrypt exactly one block of ciphertext.
protected  void encrypt(byte[] data, int offset, sam.cipher.Key aKey)
          Encrypt exactly one block of plaintext.
 int getPreferredSize(int size)
          Specifiy preferred buffer size.
 
Methods inherited from class sam.cipher.Cipher
cipher, cipher, fill, main, store, store, storeReversed, streamTest, test, unstoreInt, unstoreLong, unstoreReversedLong
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Twofish

public Twofish(sam.cipher.Key key)
Method Detail

getPreferredSize

public int getPreferredSize(int size)
Description copied from class: Cipher
Specifiy preferred buffer size.

May return a fixed value, ignoring suggested size (e.g. return 16;).

By default, this implementation simply returns its argument unchanged.

Overrides:
getPreferredSize in class Cipher
Parameters:
size - proposed buffer size (in bytes)
Returns:
The length in bytes of the Algorithm input block.

encrypt

protected void encrypt(byte[] data,
                       int offset,
                       sam.cipher.Key aKey)
Encrypt exactly one block of plaintext.

Specified by:
encrypt in class Cipher
Parameters:
data - The plaintext.
aKey - The session key to use for encryption.

decrypt

protected void decrypt(byte[] data,
                       int offset,
                       sam.cipher.Key aKey)
Decrypt exactly one block of ciphertext.

Specified by:
decrypt in class Cipher
Parameters:
data - The ciphertext.
aKey - The session key to use for decryption.
Returns:
The plaintext generated from a ciphertext using the session key.