final int nb = blockCipher.getBlockSize() / Long.SIZE;
hi = new long[nb]; // set H{0} to all zero's
}
public void update(long[] mi, long[] ti) {
blockCipher.init(new ThreefishSecretKey(hi), ti);
blockCipher.blockEncrypt(mi, hi);
for ( int i = 0; i < hi.length; i++ ) {
hi[i] ^= mi[i];
}
}