Class LongDigest
java.lang.Object
org.gudy.bouncycastle.crypto.digests.LongDigest
- All Implemented Interfaces:
Digest
- Direct Known Subclasses:
SHA384Digest, SHA512Digest
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate longprivate longprotected longprotected longprotected longprotected longprotected longprotected longprotected longprotected long(package private) static final long[]private long[]private intprivate byte[]private int -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedConstructor for variable length wordprotectedCopy constructor. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidadjust the byte counts so that byteCount2 represents the upper long (less 3 bits) word of the byte count.private longCh(long x, long y, long z) voidfinish()private longMaj(long x, long y, long z) protected voidprotected voidprocessLength(long lowW, long hiW) protected voidprocessWord(byte[] in, int inOff) voidreset()reset the digest back to it's initial state.private longrotateRight(long x, int n) private longSigma0(long x) private longSigma1(long x) private longSum0(long x) private longSum1(long x) protected voidunpackWord(long word, byte[] out, int outOff) voidupdate(byte in) update the message digest with a single byte.voidupdate(byte[] in, int inOff, int len) update the message digest with a block of bytes.Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface 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
-
update
public void update(byte[] in, int inOff, int len) Description copied from interface:Digestupdate the message digest with a block of bytes. -
finish
public void finish() -
reset
-
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)
-