public void processAADByte(byte in) { checkStatus(); atBlock[atBlockPos] = in; if (++atBlockPos == BLOCK_SIZE) { // Hash each block as it fills gHASHBlock(S_at, atBlock); atBlockPos = 0; atLength += BLOCK_SIZE; } }
public void processAADBytes(byte[] in, int inOff, int len) { checkStatus(); for (int i = 0; i < len; ++i) { atBlock[atBlockPos] = in[inOff + i]; if (++atBlockPos == BLOCK_SIZE) { // Hash each block as it fills gHASHBlock(S_at, atBlock); atBlockPos = 0; atLength += BLOCK_SIZE; } } }
public int processByte(byte in, byte[] out, int outOff) throws DataLengthException { checkStatus(); bufBlock[bufOff] = in; if (++bufOff == bufBlock.length) { processBlock(bufBlock, 0, out, outOff); if (forEncryption) { bufOff = 0; } else { System.arraycopy(bufBlock, BLOCK_SIZE, bufBlock, 0, macSize); bufOff = macSize; } return BLOCK_SIZE; } return 0; }
public int processBytes(byte[] in, int inOff, int len, byte[] out, int outOff) throws DataLengthException checkStatus();
public int doFinal(byte[] out, int outOff) throws IllegalStateException, InvalidCipherTextException checkStatus();