gnu.crypto.exp

Class Helix

public class Helix extends Object implements IBlockCipher, IMac

The Helix stream cipher and message authentication code. Helix combines a word-aligned stream cipher with a message authentication code in a single cryptographic primitive.

References:

  1. Niels Ferguson, Doug Whiting, Bruce Schneier, John Kelsey, Stefan Lucks, and Tadayoshi Kohno. "Helix: Fast Encryption and Authentication in a Single Cryptographic Primitive". http://www.macfergus.com/helix/helix.pdf
Field Summary
static intDECRYPTION
The state constant for decryption and optional MAC.
static intENCRYPTION
The state constant for encryption and optional MAC.
static intMAC
The state constant for MAC-only.
static StringNONCE
Property name for the nonce.
static StringSTATE
Property name for the state.
Constructor Summary
Helix()
Method Summary
IteratorblockSizes()
Objectclone()
intcurrentBlockSize()
voiddecryptBlock(byte[] in, int inOff, byte[] out, int outOff)
intdefaultBlockSize()
intdefaultKeySize()
byte[]digest()
voidencryptBlock(byte[] in, int inOff, byte[] out, int outOff)
voidinit(Map attributes)
IteratorkeySizes()
intmacSize()
Stringname()
voidreset()
booleanselfTest()
voidupdate(byte b)
voidupdate(byte[] buf, int off, int len)

Field Detail

DECRYPTION

public static final int DECRYPTION
The state constant for decryption and optional MAC.

ENCRYPTION

public static final int ENCRYPTION
The state constant for encryption and optional MAC.

MAC

public static final int MAC
The state constant for MAC-only.

NONCE

public static final String NONCE
Property name for the nonce. This parameter is always required and must be a sixteen-byte array.

STATE

public static final String STATE
Property name for the state. This is an Integer containing one of the constants ENCRYPTION, DECRYPTION, or MAC.

If omitted, ENCRYPTION is assumed.

Constructor Detail

Helix

public Helix()

Method Detail

blockSizes

public Iterator blockSizes()

clone

public Object clone()

currentBlockSize

public int currentBlockSize()

decryptBlock

public void decryptBlock(byte[] in, int inOff, byte[] out, int outOff)

defaultBlockSize

public int defaultBlockSize()

defaultKeySize

public int defaultKeySize()

digest

public byte[] digest()

encryptBlock

public void encryptBlock(byte[] in, int inOff, byte[] out, int outOff)

init

public void init(Map attributes)

keySizes

public Iterator keySizes()

macSize

public int macSize()

name

public String name()

reset

public void reset()

selfTest

public boolean selfTest()

update

public void update(byte b)

update

public void update(byte[] buf, int off, int len)
Copyright © 2001, 2002, 2003 Free Software Foundation, Inc. All Rights Reserved.