gnu.crypto.prng

Class ARCFour

public class ARCFour extends BasePRNG implements Cloneable

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.4 $

Field Summary
static StringARCFOUR_KEY_MATERIAL
The attributes property name for the key bytes.
static intARCFOUR_SBOX_SIZE
The size of the internal S-box.
Constructor Summary
ARCFour()
Default 0-arguments constructor.
Method Summary
voidfillBlock()
voidsetup(Map attributes)

Field Detail

ARCFOUR_KEY_MATERIAL

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

ARCFOUR_SBOX_SIZE

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

Constructor Detail

ARCFour

public ARCFour()
Default 0-arguments constructor.

Method Detail

fillBlock

public void fillBlock()

setup

public void setup(Map attributes)
Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.