|
Bouncy Castle Cryptography Library 1.79 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Object | +--org.bouncycastle.crypto.macs.KMAC
KMAC - MAC with optional XOF mode.
From NIST Special Publication 800-185 - SHA-3 Derived Functions:cSHAKE, KMAC, TupleHash and ParallelHash
| Constructor Summary | |
KMAC(int bitLength,
byte[] S)
Base constructor. |
|
| Method Summary | |
int |
doFinal(byte[] out,
int outOff)
Compute the final stage of the MAC writing the output to the out parameter. |
int |
doFinal(byte[] out,
int outOff,
int outLen)
Output the results of the final calculation for this digest to outLen number of bytes. |
int |
doOutput(byte[] out,
int outOff,
int outLen)
Start outputting the results of the final calculation for this digest. |
java.lang.String |
getAlgorithmName()
Return the name of the algorithm the MAC implements. |
int |
getByteLength()
Return the size in bytes of the internal buffer the digest applies it's compression function to. |
int |
getDigestSize()
return the size, in bytes, of the digest produced by this message digest. |
int |
getMacSize()
Return the block size for this MAC (in bytes). |
void |
init(CipherParameters params)
Initialise the MAC. |
void |
reset()
Reset the MAC. |
void |
update(byte in)
add a single byte to the mac for processing. |
void |
update(byte[] in,
int inOff,
int len)
update the message digest with a block of bytes. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public KMAC(int bitLength,
byte[] S)
bitLength - bit length of the underlying SHAKE function, 128 or 256.S - the customization string - available for local use.| Method Detail |
public void init(CipherParameters params)
throws java.lang.IllegalArgumentException
Macinit in interface Macorg.bouncycastle.crypto.Macparams - the key and other data required by the MAC.java.lang.IllegalArgumentException - if the params argument is
inappropriate.public java.lang.String getAlgorithmName()
MacgetAlgorithmName in interface Macorg.bouncycastle.crypto.Macpublic int getByteLength()
ExtendedDigestgetByteLength in interface ExtendedDigestorg.bouncycastle.crypto.ExtendedDigestpublic int getMacSize()
MacgetMacSize in interface Macorg.bouncycastle.crypto.Macpublic int getDigestSize()
DigestgetDigestSize in interface Digestorg.bouncycastle.crypto.Digest
public void update(byte in)
throws java.lang.IllegalStateException
Macupdate in interface Macorg.bouncycastle.crypto.Macin - the byte to be processed.java.lang.IllegalStateException - if the MAC is not initialised.
public void update(byte[] in,
int inOff,
int len)
throws DataLengthException,
java.lang.IllegalStateException
Digestupdate in interface Macorg.bouncycastle.crypto.Macin - the array containing the input.inOff - the index in the array the data begins at.len - the length of the input starting at inOff.java.lang.IllegalStateException - if the MAC is not initialised.DataLengthException - if there isn't enough data in in.
public int doFinal(byte[] out,
int outOff)
throws DataLengthException,
java.lang.IllegalStateException
MacdoFinal leaves the MAC in the same state it was after the last init.
doFinal in interface Macorg.bouncycastle.crypto.Macout - the array the MAC is to be output to.outOff - the offset into the out buffer the output is to start at.DataLengthException - if there isn't enough space in out.java.lang.IllegalStateException - if the MAC is not initialised.
public int doFinal(byte[] out,
int outOff,
int outLen)
XofdoFinal in interface Xoforg.bouncycastle.crypto.Xofout - output array to write the output bytes to.outOff - offset to start writing the bytes at.outLen - the number of output bytes requested.
public int doOutput(byte[] out,
int outOff,
int outLen)
XofdoOutput in interface Xoforg.bouncycastle.crypto.Xofout - output array to write the output bytes to.outOff - offset to start writing the bytes at.outLen - the number of output bytes requested.public void reset()
Macreset in interface Mac
|
Bouncy Castle Cryptography Library 1.79 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||