Class LongDigest
- java.lang.Object
-
- org.gudy.bouncycastle.crypto.digests.LongDigest
-
- All Implemented Interfaces:
Digest
- Direct Known Subclasses:
SHA384Digest
,SHA512Digest
public abstract class LongDigest extends java.lang.Object implements Digest
Base class for SHA-384 and SHA-512.
-
-
Field Summary
Fields Modifier and Type Field Description private long
byteCount1
private long
byteCount2
protected long
H1
protected long
H2
protected long
H3
protected long
H4
protected long
H5
protected long
H6
protected long
H7
protected long
H8
(package private) static long[]
K
private long[]
W
private int
wOff
private byte[]
xBuf
private int
xBufOff
-
Constructor Summary
Constructors Modifier Constructor Description protected
LongDigest()
Constructor for variable length wordprotected
LongDigest(LongDigest t)
Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
adjustByteCounts()
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
processBlock()
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 Detail
-
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 Detail
-
LongDigest
protected LongDigest()
Constructor for variable length word
-
LongDigest
protected LongDigest(LongDigest t)
Copy constructor. We are using copy constructors in place of the Object.clone() interface as this interface is not supported by J2ME.
-
-
Method Detail
-
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)
-
-