public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) { return new SHA3Digest(224); } });
private static byte[] doSha3(byte[] message) { SHA3Digest digest = new SHA3Digest(BIT_LENGTH); byte[] hash = new byte[digest.getDigestSize()]; if (message.length != 0) { digest.update(message, 0, message.length); } digest.doFinal(hash, 0); return hash; } }
private static byte[] sha3(byte[] message, int start, int length, SHA3Digest digest, boolean bouncyencoder) { byte[] hash = new byte[digest.getDigestSize()]; if (message.length != 0) { digest.update(message, start, length); } digest.doFinal(hash, 0); return hash; }
static void sha3(byte[] sharedKey) { SHA3Digest d = new SHA3Digest(256); d.update(sharedKey, 0, 32); d.doFinal(sharedKey, 0); } }
protected int doFinal(byte[] out, int outOff, byte partialByte, int partialBits) { if (partialBits < 0 || partialBits > 7) { throw new IllegalArgumentException("'partialBits' must be in the range [0,7]"); } int finalInput = (partialByte & ((1 << partialBits) - 1)) | (0x02 << partialBits); int finalBits = partialBits + 2; if (finalBits >= 8) { absorb(new byte[]{ (byte)finalInput }, 0, 1); finalBits -= 8; finalInput >>>= 8; } return super.doFinal(out, outOff, (byte)finalInput, finalBits); } }
public static byte[] Sha3256(byte[]... args) { SHA3Digest digest = new SHA3Digest(); for (int i = 0; i < args.length; i++) { byte[] bytes = args[i]; digest.update(bytes, 0, bytes.length); } byte[] out = new byte[256 / 8]; digest.doFinal(out, 0); return out; }
private static byte[] doSha3(byte[] message, SHA3Digest digest, boolean bouncyencoder) { byte[] hash = new byte[digest.getDigestSize()]; if (message.length != 0) { digest.update(message, 0, message.length); } digest.doFinal(hash, 0); return hash; }
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) { return new SHA3Digest(384); } });
private static byte[] doSha3(byte[] m1, byte[] m2, SHA3Digest digest, boolean bouncyencoder) { byte[] hash = new byte[digest.getDigestSize()]; digest.update(m1, 0, m1.length); digest.update(m2, 0, m2.length); digest.doFinal(hash, 0); return hash; }
public static Digest createSHA3_512() { return new SHA3Digest(512); } }
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) { return new SHA3Digest(256); } });
public static Digest createSHA3_256() { return new SHA3Digest(256); }
public DigestSHA3(int size) { super(new SHA3Digest(size)); }
public static Digest createSHA3_224() { return new SHA3Digest(224); }
public ExtendedDigest get(AlgorithmIdentifier digestAlgorithmIdentifier) { return new SHA3Digest(512); } });
public static Digest createSHA3_384() { return new SHA3Digest(384); }
public withSha3_512() { super(new SHA3Digest(512), new SPHINCS256Signer(new SHA3Digest(256), new SHA3Digest(512))); } }
public HashMacSHA3(int size) { super(new HMac(new SHA3Digest(size))); } }
public Object clone() throws CloneNotSupportedException { BCMessageDigest d = (BCMessageDigest)super.clone(); d.digest = new SHA3Digest((SHA3Digest)digest); return d; } }
protected static String sha3String(String message, Size bitSize, boolean bouncyencoder) { SHA3Digest digest = new SHA3Digest(bitSize.bits); return sha3String(message, digest, bouncyencoder); }