public interface

Mac

org.bouncycastle.crypto.Mac
Known Indirect Subclasses

Class Overview

The base interface for implementations of message authentication codes (MACs).

Summary

Public Methods
abstract int doFinal(byte[] out, int outOff)
Compute the final stage of the MAC writing the output to the out parameter.
abstract String getAlgorithmName()
Return the name of the algorithm the MAC implements.
abstract int getMacSize()
Return the block size for this MAC (in bytes).
abstract void init(CipherParameters params)
Initialise the MAC.
abstract void reset()
Reset the MAC.
abstract void update(byte[] in, int inOff, int len)
abstract void update(byte in)
add a single byte to the mac for processing.

Public Methods

public abstract int doFinal (byte[] out, int outOff)

Compute the final stage of the MAC writing the output to the out parameter.

doFinal leaves the MAC in the same state it was after the last init.

Parameters
out the array the MAC is to be output to.
outOff the offset into the out buffer the output is to start at.
Throws
DataLengthException if there isn't enough space in out.
IllegalStateException if the MAC is not initialised.

public abstract String getAlgorithmName ()

Return the name of the algorithm the MAC implements.

Returns
  • the name of the algorithm the MAC implements.

public abstract int getMacSize ()

Return the block size for this MAC (in bytes).

Returns
  • the block size for this MAC in bytes.

public abstract void init (CipherParameters params)

Initialise the MAC.

Parameters
params the key and other data required by the MAC.
Throws
IllegalArgumentException if the params argument is inappropriate.

public abstract void reset ()

Reset the MAC. At the end of resetting the MAC should be in the in the same state it was after the last init (if there was one).

public abstract void update (byte[] in, int inOff, int len)

Parameters
in the array containing the input.
inOff the index in the array the data begins at.
len the length of the input starting at inOff.
Throws
IllegalStateException if the MAC is not initialised.
DataLengthException if there isn't enough data in in.

public abstract void update (byte in)

add a single byte to the mac for processing.

Parameters
in the byte to be processed.
Throws
IllegalStateException if the MAC is not initialised.