public MGF1BytesGeneratorExt(Digest digest, int counterStart) { this.digest = digest; this.hLen = digest.getDigestSize(); this.counterStart = counterStart; }
/** * @param data * - message to hash * @return - reipmd160 hash of the message */ public static byte[] ripemd160(byte[] data) { Digest digest = new RIPEMD160Digest(); if (data != null) { byte[] resBuf = new byte[digest.getDigestSize()]; digest.update(data, 0, data.length); digest.doFinal(resBuf, 0); return resBuf; } throw new NullPointerException("Can't hash a NULL value"); }
int outLen = digest.getDigestSize(); byte[] dig = new byte[digest.getDigestSize()];
K2a = new byte[hash.getDigestSize()]; hash.reset(); hash.update(K2, 0, K2.length);
byte[] K2a; if (hashK2) { K2a = new byte[hash.getDigestSize()]; hash.reset(); hash.update(K2, 0, K2.length);
/** * Return the block size (in bits) of the DRBG. * * @return the number of bits produced on each internal round of the DRBG. */ public int getBlockSize() { return _digest.getDigestSize() * 8; }
public byte[] engineDigest() { byte[] digestBytes = new byte[digest.getDigestSize()]; digest.doFinal(digestBytes, 0); return digestBytes; } }
@Override public int getLength() { return getUnderlyingDigest().getDigestSize(); } }
private byte[] calcHash(Digest hashAlg) { byte[] tmp = new byte[hashAlg.getDigestSize()]; hashAlg.doFinal(tmp, 0); return tmp; }
protected boolean engineVerify(byte[] sigBytes) throws SignatureException { byte[] hash = new byte[digest.getDigestSize()]; digest.doFinal(hash, 0); return signer.verifySignature(hash, sigBytes); }
private byte[] calcHash(Digest hashAlg, byte[] input) { byte[] tmp = new byte[hashAlg.getDigestSize()]; hashAlg.update(input, 0, input.length); hashAlg.doFinal(tmp, 0); return tmp; } /**
/** * Given a private key, get the maximum size of the block, considering some digest will be used. * See {@link OAEPEncoding#getInputBlockSize} for details. */ int getMaxBlockSize() { final int keySize = getBitStrength(), digestSize = state.oaepHashType.makeDigest().getDigestSize(), maxBlockSize = keySize / 8 - 2 - 2 * digestSize; return maxBlockSize; } }
private static BigInteger hashPaddedPair(Digest digest, BigInteger N, BigInteger n1, BigInteger n2) { int padLength = (N.bitLength() + 7) / 8; byte[] n1_bytes = getPadded(n1, padLength); byte[] n2_bytes = getPadded(n2, padLength); digest.update(n1_bytes, 0, n1_bytes.length); digest.update(n2_bytes, 0, n2_bytes.length); byte[] output = new byte[digest.getDigestSize()]; digest.doFinal(output, 0); return new BigInteger(1, output); }
public static String keccak(byte[] bytes, int bitLength) { Digest digest = new KeccakDigest(bitLength); digest.update(bytes, 0, bytes.length); byte[] rsData = new byte[digest.getDigestSize()]; digest.doFinal(rsData, 0); return Hex.encode(rsData); }
public static String sha3(byte[] bytes, int bitLength) { Digest digest = new SHA3Digest(bitLength); digest.update(bytes, 0, bytes.length); byte[] rsData = new byte[digest.getDigestSize()]; digest.doFinal(rsData, 0); return Hex.encode(rsData); }
private static BigInteger hashPaddedTriplet(Digest digest, BigInteger N, BigInteger n1, BigInteger n2, BigInteger n3){ int padLength = (N.bitLength() + 7) / 8; byte[] n1_bytes = getPadded(n1, padLength); byte[] n2_bytes = getPadded(n2, padLength); byte[] n3_bytes = getPadded(n3, padLength); digest.update(n1_bytes, 0, n1_bytes.length); digest.update(n2_bytes, 0, n2_bytes.length); digest.update(n3_bytes, 0, n3_bytes.length); byte[] output = new byte[digest.getDigestSize()]; digest.doFinal(output, 0); return new BigInteger(1, output); }
public static BigInteger calculateX(Digest digest, BigInteger N, byte[] salt, byte[] identity, byte[] password) { byte[] output = new byte[digest.getDigestSize()]; digest.update(identity, 0, identity.length); digest.update((byte)':'); digest.update(password, 0, password.length); digest.doFinal(output, 0); digest.update(salt, 0, salt.length); digest.update(output, 0, output.length); digest.doFinal(output, 0); return new BigInteger(1, output); }
private byte[] S2(Digest digest, ECPoint u, byte[] inner) { byte[] rv = new byte[digest.getDigestSize()]; digest.update((byte)0x03); addFieldElement(digest, u.getAffineYCoord()); digest.update(inner, 0, inner.length); digest.doFinal(rv, 0); return rv; }
public int doFinal(byte[] out, int outOff) { byte[] tmp = new byte[digest.getDigestSize()]; digest.doFinal(tmp, 0); digest.update(secret, 0, secret.length); digest.update(OPAD, 0, padLength); digest.update(tmp, 0, tmp.length); int len = digest.doFinal(out, outOff); reset(); return len; }
protected void ssl3Complete(Digest d, byte[] ipad, byte[] opad, int padLength) { byte[] master_secret = context.getSecurityParameters().masterSecret; d.update(master_secret, 0, master_secret.length); d.update(ipad, 0, padLength); byte[] tmp = new byte[d.getDigestSize()]; d.doFinal(tmp, 0); d.update(master_secret, 0, master_secret.length); d.update(opad, 0, padLength); d.update(tmp, 0, tmp.length); } }