public Digest() { super(new WhirlpoolDigest()); }
public int doFinal(byte[] out, int outOff) { // sets out[outOff] .. out[outOff+DIGEST_LENGTH_BYTES] finish(); for (int i = 0; i < 8; i++) { convertLongToByteArray(_hash[i], out, outOff + (i * 8)); } reset(); return getDigestSize(); }
public void update(byte in) { _buffer[_bufferPos] = in; //System.out.println("adding to buffer = "+_buffer[_bufferPos]); ++_bufferPos; if (_bufferPos == _buffer.length) { processFilledBuffer(_buffer, 0); } increment(); }
byte[] bitLength = copyBitLength(); processFilledBuffer(_buffer, 0); update((byte)0); update((byte)0); processFilledBuffer(_buffer, 0);
private void processFilledBuffer(byte[] in, int inOff) { // copies into the block... for (int i = 0; i < _state.length; i++) { _block[i] = bytesToLongFromBuffer(_buffer, i * 8); } processBlock(); _bufferPos = 0; Arrays.fill(_buffer, (byte)0); }
int v2 = maskWithReductionPolynomial(v1 << 1); int v4 = maskWithReductionPolynomial(v2 << 1); int v5 = v4 ^ v1; int v8 = maskWithReductionPolynomial(v4 << 1); int v9 = v8 ^ v1; C0[i] = packIntoLong(v1, v1, v4, v1, v8, v5, v2, v9); C1[i] = packIntoLong(v9, v1, v1, v4, v1, v8, v5, v2); C2[i] = packIntoLong(v2, v9, v1, v1, v4, v1, v8, v5); C3[i] = packIntoLong(v5, v2, v9, v1, v1, v4, v1, v8); C4[i] = packIntoLong(v8, v5, v2, v9, v1, v1, v4, v1); C5[i] = packIntoLong(v1, v8, v5, v2, v9, v1, v1, v4); C6[i] = packIntoLong(v4, v1, v8, v5, v2, v9, v1, v1); C7[i] = packIntoLong(v1, v4, v1, v8, v5, v2, v9, v1);
byte[] bitLength = copyBitLength(); processFilledBuffer(_buffer, 0); update((byte)0); update((byte)0); processFilledBuffer(_buffer, 0);
private void processFilledBuffer(byte[] in, int inOff) { // copies into the block... for (int i = 0; i < _state.length; i++) { _block[i] = bytesToLongFromBuffer(_buffer, i * 8); } processBlock(); _bufferPos = 0; Arrays.fill(_buffer, (byte)0); }
int v2 = maskWithReductionPolynomial(v1 << 1); int v4 = maskWithReductionPolynomial(v2 << 1); int v5 = v4 ^ v1; int v8 = maskWithReductionPolynomial(v4 << 1); int v9 = v8 ^ v1; C0[i] = packIntoLong(v1, v1, v4, v1, v8, v5, v2, v9); C1[i] = packIntoLong(v9, v1, v1, v4, v1, v8, v5, v2); C2[i] = packIntoLong(v2, v9, v1, v1, v4, v1, v8, v5); C3[i] = packIntoLong(v5, v2, v9, v1, v1, v4, v1, v8); C4[i] = packIntoLong(v8, v5, v2, v9, v1, v1, v4, v1); C5[i] = packIntoLong(v1, v8, v5, v2, v9, v1, v1, v4); C6[i] = packIntoLong(v4, v1, v8, v5, v2, v9, v1, v1); C7[i] = packIntoLong(v1, v4, v1, v8, v5, v2, v9, v1);
public Digest() { super(new WhirlpoolDigest()); }
public int doFinal(byte[] out, int outOff) { // sets out[outOff] .. out[outOff+DIGEST_LENGTH_BYTES] finish(); for (int i = 0; i < 8; i++) { convertLongToByteArray(_hash[i], out, outOff + (i * 8)); } reset(); return getDigestSize(); }
public void update(byte in) { _buffer[_bufferPos] = in; //System.out.println("adding to buffer = "+_buffer[_bufferPos]); ++_bufferPos; if (_bufferPos == _buffer.length) { processFilledBuffer(_buffer, 0); } increment(); }
public Memoable copy() { return new WhirlpoolDigest(this); }
public HashMac() { super(new HMac(new WhirlpoolDigest())); } }
public HashMac() { super(new HMac(new WhirlpoolDigest())); } }
public WhirlpoolWithRSAEncryption() { super(new WhirlpoolDigest(), new RSABlindedEngine()); } }
public Object clone() throws CloneNotSupportedException { Digest d = (Digest)super.clone(); d.digest = new WhirlpoolDigest((WhirlpoolDigest)digest); return d; } }
public Object clone() throws CloneNotSupportedException { Digest d = (Digest)super.clone(); d.digest = new WhirlpoolDigest((WhirlpoolDigest)digest); return d; } }
public WhirlpoolWithRSAEncryption() { super(new WhirlpoolDigest(), new RSABlindedEngine()); } }
CipherParameters p = new KeyParameter(key.getBytes("UTF-8")); WhirlpoolDigest w = new WhirlpoolDigest(); HMac hm = new HMac(w); hm.init(p); hm.update(inbytes, 0, inbytes.length); byte[] result = new byte[hm.getMacSize()]; hm.doFinal(result, 0);