Overview Package Class Use Tree Deprecated Index Help
For the latest news and information visit
The GNU Crypto project
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

gnu.crypto.prng
Class ARCFour

java.lang.Object
 extended bygnu.crypto.prng.BasePRNG
 extended bygnu.crypto.prng.ARCFour
All Implemented Interfaces:
java.lang.Cloneable, IRandom

public class ARCFour
extends BasePRNG

RC4 is a stream cipher developed by Ron Rivest. Until 1994 RC4 was a trade secret of RSA Data Security, Inc., when it was released anonymously to a mailing list. This version is a descendent of that code, and since there is no proof that the leaked version was in fact RC4 and because "RC4" is a trademark, it is called "ARCFOUR", short for "Allegedly RC4".

This class only implements the keystream of ARCFOUR. To use this as a stream cipher, one would say:

 out = in ^ arcfour.nextByte();

This operation works for encryption and decryption.

References:

  1. Schneier, Bruce: Applied Cryptography: Protocols, Algorithms, and Source Code in C, Second Edition. (1996 John Wiley and Sons), pp. 397--398. ISBN 0-471-11709-9
  2. K. Kaukonen and R. Thayer, "A Stream Cipher Encryption Algorithm 'Arcfour'", Internet Draft (expired), draft-kaukonen-cipher-arcfour-03.txt

Version:
$Revision: 1.2 $

Field Summary
static java.lang.String ARCFOUR_KEY_MATERIAL
The attributes property name for the key bytes.
static int ARCFOUR_SBOX_SIZE
The size of the internal S-box.
Fields inherited from class gnu.crypto.prng.BasePRNG
buffer, initialised, name, ndx
Constructor Summary
ARCFour()
Default 0-arguments constructor.
Method Summary
java.lang.Object clone()
Returns a clone copy of this instance.
void fillBlock()
void setup(java.util.Map attributes)
Methods inherited from class gnu.crypto.prng.BasePRNG
init, isInitialised, name, nextByte, nextBytes
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Detail

ARCFOUR_KEY_MATERIAL

public static final java.lang.String ARCFOUR_KEY_MATERIAL
The attributes property name for the key bytes.

See Also:
Constant Field Values

ARCFOUR_SBOX_SIZE

public static final int ARCFOUR_SBOX_SIZE
The size of the internal S-box.

See Also:
Constant Field Values
Constructor Detail

ARCFour

public ARCFour()
Default 0-arguments constructor.

Method Detail

clone

public java.lang.Object clone()
Description copied from interface: IRandom

Returns a clone copy of this instance.

Specified by:
clone in interface IRandom
Specified by:
clone in class BasePRNG

setup

public void setup(java.util.Map attributes)
Specified by:
setup in class BasePRNG

fillBlock

public void fillBlock()
 throws LimitReachedException
Specified by:
fillBlock in class BasePRNG
Throws:
LimitReachedException

Overview Package Class Use Tree Deprecated Index Help
For the latest news and information visit
The GNU Crypto project
PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.

AltStyle によって変換されたページ (->オリジナル) /