Class LongDigest
java.lang.Object
org.gudy.bouncycastle.crypto.digests.LongDigest
- All Implemented Interfaces:
Digest
- Direct Known Subclasses:
SHA384Digest
,SHA512Digest
Base class for SHA-384 and SHA-512.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate long
private long
protected long
protected long
protected long
protected long
protected long
protected long
protected long
protected long
(package private) static final long[]
private long[]
private int
private byte[]
private int
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
Constructor for variable length wordprotected
Copy constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate void
adjust the byte counts so that byteCount2 represents the upper long (less 3 bits) word of the byte count.private long
Ch
(long x, long y, long z) void
finish()
private long
Maj
(long x, long y, long z) protected void
protected void
processLength
(long lowW, long hiW) protected void
processWord
(byte[] in, int inOff) void
reset()
reset the digest back to it's initial state.private long
rotateRight
(long x, int n) private long
Sigma0
(long x) private long
Sigma1
(long x) private long
Sum0
(long x) private long
Sum1
(long x) protected void
unpackWord
(long word, byte[] out, int outOff) void
update
(byte in) update the message digest with a single byte.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
Methods inherited from interface org.gudy.bouncycastle.crypto.Digest
doFinal, getAlgorithmName, getDigestSize
-
Field Details
-
xBuf
private byte[] xBuf -
xBufOff
private int xBufOff -
byteCount1
private long byteCount1 -
byteCount2
private long byteCount2 -
H1
protected long H1 -
H2
protected long H2 -
H3
protected long H3 -
H4
protected long H4 -
H5
protected long H5 -
H6
protected long H6 -
H7
protected long H7 -
H8
protected long H8 -
W
private long[] W -
wOff
private int wOff -
K
static final long[] K
-
-
Constructor Details
-
LongDigest
protected LongDigest()Constructor for variable length word -
LongDigest
Copy constructor. We are using copy constructors in place of the Object.clone() interface as this interface is not supported by J2ME.
-
-
Method Details
-
update
public void update(byte in) Description copied from interface:Digest
update the message digest with a single byte. -
update
public void update(byte[] in, int inOff, int len) Description copied from interface:Digest
update the message digest with a block of bytes. -
finish
public void finish() -
reset
public void reset()Description copied from interface:Digest
reset the digest back to it's initial state. -
processWord
protected void processWord(byte[] in, int inOff) -
unpackWord
protected void unpackWord(long word, byte[] out, int outOff) -
adjustByteCounts
private void adjustByteCounts()adjust the byte counts so that byteCount2 represents the upper long (less 3 bits) word of the byte count. -
processLength
protected void processLength(long lowW, long hiW) -
processBlock
protected void processBlock() -
rotateRight
private long rotateRight(long x, int n) -
Ch
private long Ch(long x, long y, long z) -
Maj
private long Maj(long x, long y, long z) -
Sum0
private long Sum0(long x) -
Sum1
private long Sum1(long x) -
Sigma0
private long Sigma0(long x) -
Sigma1
private long Sigma1(long x)
-