Logo Search packages:      
Sourcecode: libgnucrypto-java version File versions  Download package

gnu::crypto::assembly::Cascade Class Reference

List of all members.

Detailed Description

A Cascade Cipher is the concatenation of two or more block ciphers each with independent keys. Plaintext is input to the first stage; the output of stage i is input to stage i + 1; and the output of the last stage is the Cascade's ciphertext output.

In the simplest case, all stages in a Cascade have k-bit keys, and the stage inputs and outputs are all n-bit quantities. The stage ciphers may differ (general cascade of ciphers), or all be identical (cascade of identical ciphers).

The term "block ciphers" used above refers to implementations of gnu.crypto.mode.IMode, including the gnu.crypto.mode.ECB mode which basically exposes a symmetric-key block cipher algorithm as a Mode of Operations.


  1. [HAC]: Handbook of Applied Cryptography.
    CRC Press, Inc. ISBN 0-8493-8523-7, 1997
    Menezes, A., van Oorschot, P. and S. Vanstone.


Definition at line 83 of file Cascade.java.

Public Member Functions

Object append (Stage stage) throws IllegalArgumentException
Set blockSizes ()
int currentBlockSize ()
void init (Map attributes) throws InvalidKeyException
Object insert (int index, Stage stage) throws IllegalArgumentException, IndexOutOfBoundsException
Object prepend (Stage stage) throws IllegalArgumentException
void reset ()
boolean selfTest ()
int size ()
Iterator stages ()
void update (byte[] in, int inOffset, byte[] out, int outOffset)

Static Public Attributes

static final String DIRECTION = "gnu.crypto.assembly.cascade.direction"

Protected Attributes

int blockSize
LinkedList stageKeys
HashMap stages
Direction wired

Static Private Member Functions

static final int lcm (int a, int b)

The documentation for this class was generated from the following file:

Generated by  Doxygen 1.6.0   Back to index