Package org.apache.sshd.common.mac
Class Poly1305Mac
java.lang.Object
org.apache.sshd.common.mac.Poly1305Mac
- All Implemented Interfaces:
AlgorithmNameProvider
,Mac
,MacInformation
Poly1305 one-time message authentication code. This implementation is derived from the public domain C library
poly1305-donna.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final int
private final byte[]
private int
private int
private int
private int
private int
private int
private long
private long
private long
private long
static final int
private long
private long
private long
private long
private long
private long
private long
private long
private long
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
doFinal
(byte[] out, int offset) int
int
void
init
(byte[] key) static void
packIntLE
(int value, byte[] dst, int off) private void
processBlock
(byte[] block, int offset, int length) private void
reset()
static int
unpackIntLE
(byte[] buf, int off) void
update
(byte[] in, int offset, int length) void
updateUInt
(long value) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.sshd.common.mac.MacInformation
isEncryptThenMac
-
Field Details
-
KEY_BYTES
public static final int KEY_BYTES- See Also:
-
BLOCK_SIZE
private static final int BLOCK_SIZE- See Also:
-
r0
private long r0 -
r1
private long r1 -
r2
private long r2 -
r3
private long r3 -
r4
private long r4 -
s1
private long s1 -
s2
private long s2 -
s3
private long s3 -
s4
private long s4 -
k0
private long k0 -
k1
private long k1 -
k2
private long k2 -
k3
private long k3 -
h0
private int h0 -
h1
private int h1 -
h2
private int h2 -
h3
private int h3 -
h4
private int h4 -
currentBlock
private final byte[] currentBlock -
currentBlockOffset
private int currentBlockOffset
-
-
Constructor Details
-
Poly1305Mac
public Poly1305Mac()
-
-
Method Details
-
getAlgorithm
- Specified by:
getAlgorithm
in interfaceAlgorithmNameProvider
-
init
-
update
public void update(byte[] in, int offset, int length) -
updateUInt
public void updateUInt(long value) - Specified by:
updateUInt
in interfaceMac
-
doFinal
-
processBlock
private void processBlock(byte[] block, int offset, int length) -
reset
private void reset() -
getBlockSize
public int getBlockSize()- Specified by:
getBlockSize
in interfaceMacInformation
- Returns:
- MAC output block size in bytes - may be less than the default - e.g., MD5-96
-
getDefaultBlockSize
public int getDefaultBlockSize()- Specified by:
getDefaultBlockSize
in interfaceMacInformation
- Returns:
- The "natural" MAC block size in bytes
-
unpackIntLE
public static int unpackIntLE(byte[] buf, int off) -
packIntLE
public static void packIntLE(int value, byte[] dst, int off)
-