Top Description Fields Constructors Methods
org.bouncycastle.crypto.digests

public Class SHA256Digest

extends GeneralDigest
implements SavableDigest
Class Inheritance
All Implemented Interfaces
org.bouncycastle.crypto.SavableDigest, org.bouncycastle.util.Memoable, org.bouncycastle.crypto.digests.EncodableDigest, org.bouncycastle.crypto.ExtendedDigest, org.bouncycastle.crypto.Digest
Imports
org.bouncycastle.crypto.CryptoServiceProperties, .CryptoServicePurpose, .CryptoServicesRegistrar, .Digest, .SavableDigest, org.bouncycastle.util.Memoable, .Pack

FIPS 180-2 implementation of SHA-256.
        block  word  digest
SHA-1   512    32    160
SHA-256 512    32    256
SHA-384 1024   64    384
SHA-512 1024   64    512

Field Summary

Modifier and TypeField and Description
private static final int
private int
private int
private int
private int
private int
private int
private int
private int
pack-priv static final int[]
K

private int[]
X

private int
Inherited from org.bouncycastle.crypto.digests.GeneralDigest:
purpose

Constructor Summary

AccessConstructor and Description
public
SHA256Digest()

Standard constructor

public
SHA256Digest(CryptoServicePurpose purpose)

Standard constructor, with purpose

public
SHA256Digest(SHA256Digest t)

Copy constructor.

public
SHA256Digest(byte[]
the encoded state from the originating digest.
encodedState
)

State constructor - create a digest initialised with the state of a previous one.

Method Summary

Modifier and TypeMethod and Description
private static int
Ch(int x, int y, int z)

public Memoable
copy()

Implements org.bouncycastle.util.Memoable.copy.

Produce a copy of this object with its configuration and in its current state.
private void
protected CryptoServiceProperties
public int
doFinal(byte[]
the array the digest is to be copied into.
out
,
int
the offset into the out array the digest is to start at.
outOff
)

Implements org.bouncycastle.crypto.Digest.doFinal.

close the digest, producing the final digest value.
public String
public int
getDigestSize()

Implements org.bouncycastle.crypto.Digest.getDigestSize.

return the size, in bytes, of the digest produced by this message digest.
public byte[]
getEncodedState()

Implements org.bouncycastle.crypto.digests.EncodableDigest.getEncodedState.

Return an encoded byte array for the digest's internal state
private static int
Maj(int x, int y, int z)

public static SavableDigest
public static SavableDigest
public static SavableDigest
public static SavableDigest
newInstance(byte[] encoded)

protected void
protected void
protected void
public void
public void
reset(Memoable
an object originally copied from an object of the same type as this instance.
other
)

Implements org.bouncycastle.util.Memoable.reset.

Restore a copied object state into this object.
private static int
Sum0(int x)

private static int
Sum1(int x)

private static int
Theta0(int x)

private static int
Theta1(int x)

Inherited from org.bouncycastle.crypto.digests.GeneralDigest:
copyInfinishgetByteLengthpopulateStateupdateupdate

Field Detail

DIGEST_LENGTHback to summary
private static final int DIGEST_LENGTH
H1back to summary
private int H1
H2back to summary
private int H2
H3back to summary
private int H3
H4back to summary
private int H4
H5back to summary
private int H5
H6back to summary
private int H6
H7back to summary
private int H7
H8back to summary
private int H8
Kback to summary
pack-priv static final int[] K
Xback to summary
private int[] X
xOffback to summary
private int xOff

Constructor Detail

SHA256Digestback to summary
public SHA256Digest()

Standard constructor

SHA256Digestback to summary
public SHA256Digest(CryptoServicePurpose purpose)

Standard constructor, with purpose

SHA256Digestback to summary
public SHA256Digest(SHA256Digest t)

Copy constructor. This will copy the state of the provided message digest.

SHA256Digestback to summary
public SHA256Digest(byte[] encodedState)

State constructor - create a digest initialised with the state of a previous one.

Parameters
encodedState:byte[]

the encoded state from the originating digest.

Method Detail

Chback to summary
private static int Ch(int x, int y, int z)
copyback to summary
public Memoable copy()

Implements org.bouncycastle.util.Memoable.copy.

Doc from org.bouncycastle.util.Memoable.copy.

Produce a copy of this object with its configuration and in its current state.

The returned object may be used simply to store the state, or may be used as a similar object starting from the copied state.

copyInback to summary
private void copyIn(SHA256Digest t)
cryptoServicePropertiesback to summary
protected CryptoServiceProperties cryptoServiceProperties()

Implements abstract org.bouncycastle.crypto.digests.GeneralDigest.cryptoServiceProperties.

doFinalback to summary
public int doFinal(byte[] out, int outOff)

Implements org.bouncycastle.crypto.Digest.doFinal.

Doc from org.bouncycastle.crypto.Digest.doFinal.

close the digest, producing the final digest value. The doFinal call leaves the digest reset.

Parameters
out:byte[]

the array the digest is to be copied into.

outOff:int

the offset into the out array the digest is to start at.

getAlgorithmNameback to summary
public String getAlgorithmName()

Implements org.bouncycastle.crypto.Digest.getAlgorithmName.

Doc from org.bouncycastle.crypto.Digest.getAlgorithmName.

return the algorithm name

Returns:String

the algorithm name

getDigestSizeback to summary
public int getDigestSize()

Implements org.bouncycastle.crypto.Digest.getDigestSize.

Doc from org.bouncycastle.crypto.Digest.getDigestSize.

return the size, in bytes, of the digest produced by this message digest.

Returns:int

the size, in bytes, of the digest produced by this message digest.

getEncodedStateback to summary
public byte[] getEncodedState()

Implements org.bouncycastle.crypto.digests.EncodableDigest.getEncodedState.

Doc from org.bouncycastle.crypto.digests.EncodableDigest.getEncodedState.

Return an encoded byte array for the digest's internal state

Returns:byte[]

an encoding of the digests internal state.

Majback to summary
private static int Maj(int x, int y, int z)
newInstanceback to summary
public static SavableDigest newInstance()
newInstanceback to summary
public static SavableDigest newInstance(CryptoServicePurpose purpose)
newInstanceback to summary
public static SavableDigest newInstance(Digest digest)
newInstanceback to summary
public static SavableDigest newInstance(byte[] encoded)
processBlockback to summary
protected void processBlock()

Implements abstract org.bouncycastle.crypto.digests.GeneralDigest.processBlock.

processLengthback to summary
protected void processLength(long bitLength)

Implements abstract org.bouncycastle.crypto.digests.GeneralDigest.processLength.

processWordback to summary
protected void processWord(byte[] in, int inOff)

Implements abstract org.bouncycastle.crypto.digests.GeneralDigest.processWord.

resetback to summary
public void reset()

Overrides org.bouncycastle.crypto.digests.GeneralDigest.reset.

Implements org.bouncycastle.crypto.Digest.reset.

reset the chaining variables

resetback to summary
public void reset(Memoable other)

Implements org.bouncycastle.util.Memoable.reset.

Doc from org.bouncycastle.util.Memoable.reset.

Restore a copied object state into this object.

Implementations of this method should try to avoid or minimise memory allocation to perform the reset.

Parameters
other:Memoable

an object originally copied from an object of the same type as this instance.

Sum0back to summary
private static int Sum0(int x)
Sum1back to summary
private static int Sum1(int x)
Theta0back to summary
private static int Theta0(int x)
Theta1back to summary
private static int Theta1(int x)