For the latest news and information visit
The GNU Crypto project

gnu.crypto.mac
Class OMAC

java.lang.Object
  extended by gnu.crypto.mac.OMAC
All Implemented Interfaces:
IMac

public class OMAC
extends Object
implements IMac

The One-Key CBC MAC, OMAC. This message authentication code is based on a block cipher in CBC mode.

References:

  1. Tetsu Iwata and Kaoru Kurosawa, OMAC: One-Key CBC MAC.


Field Summary
 
Fields inherited from interface gnu.crypto.mac.IMac
MAC_KEY_MATERIAL, TRUNCATED_SIZE
 
Constructor Summary
OMAC(IBlockCipher cipher)
           
 
Method Summary
 Object clone()
          Returns a clone copy of this instance.
 byte[] digest()
          Completes the MAC by performing final operations such as padding and resetting the instance.
 void digest(byte[] out, int off)
           
 void init(Map attrib)
          Initialises the algorithm with designated attributes.
 int macSize()
          Returns the output length in bytes of this MAC algorithm.
 String name()
          Returns the canonical name of this algorithm.
 void reset()
          Resets the algorithm instance for re-initialisation and use with other characteristics.
 boolean selfTest()
          A basic test.
 void update(byte b)
          Continues a MAC operation using the input byte.
 void update(byte[] buf, int off, int len)
          Continues a MAC operation, by filling the buffer, processing data in the algorithm's MAC_SIZE-bit block(s), updating the context and count, and buffering the remaining bytes in buffer for the next operation.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OMAC

public OMAC(IBlockCipher cipher)
Method Detail

clone

public Object clone()
Description copied from interface: IMac

Returns a clone copy of this instance.

Specified by:
clone in interface IMac
Overrides:
clone in class Object
Returns:
a clone copy of this instance.

name

public String name()
Description copied from interface: IMac

Returns the canonical name of this algorithm.

Specified by:
name in interface IMac
Returns:
the canonical name of this algorithm.

macSize

public int macSize()
Description copied from interface: IMac

Returns the output length in bytes of this MAC algorithm.

Specified by:
macSize in interface IMac
Returns:
the output length in bytes of this MAC algorithm.

init

public void init(Map attrib)
          throws InvalidKeyException
Description copied from interface: IMac

Initialises the algorithm with designated attributes. Permissible names and values are described in the class documentation above.

Specified by:
init in interface IMac
Parameters:
attrib - a set of name-value pairs that describe the desired future instance behaviour.
Throws:
InvalidKeyException - if the key data is invalid.
See Also:
IMac.MAC_KEY_MATERIAL

update

public void update(byte b)
Description copied from interface: IMac

Continues a MAC operation using the input byte.

Specified by:
update in interface IMac
Parameters:
b - the input byte to digest.

update

public void update(byte[] buf,
                   int off,
                   int len)
Description copied from interface: IMac

Continues a MAC operation, by filling the buffer, processing data in the algorithm's MAC_SIZE-bit block(s), updating the context and count, and buffering the remaining bytes in buffer for the next operation.

Specified by:
update in interface IMac
Parameters:
buf - the input block.
off - start of meaningful bytes in input block.
len - number of bytes, in input block, to consider.

digest

public byte[] digest()
Description copied from interface: IMac

Completes the MAC by performing final operations such as padding and resetting the instance.

Specified by:
digest in interface IMac
Returns:
the array of bytes representing the MAC value.

digest

public void digest(byte[] out,
                   int off)

reset

public void reset()
Description copied from interface: IMac

Resets the algorithm instance for re-initialisation and use with other characteristics. This method always succeeds.

Specified by:
reset in interface IMac

selfTest

public boolean selfTest()
Description copied from interface: IMac

A basic test. Ensures that the MAC of a pre-determined message is equal to a known pre-computed value.

Specified by:
selfTest in interface IMac
Returns:
true if the implementation passes a basic self-test. Returns false otherwise.

For the latest news and information visit
The GNU Crypto project

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