byte[] data = block.data;
byte[] hbuf = Arrays.copyOfRange(headers, 2, headers.length);
byte[] dbuf = Arrays.copyOf(data, data.length);
// Decipher header first - functions as IV
pcfb.blockDecipher(hbuf, 0, hbuf.length);
pcfb.blockDecipher(dbuf, 0, dbuf.length);
MessageDigest md256 = SHA256.getMessageDigest();
byte[] dkey = key.cryptoKey;
// Check: IV == hash of decryption key
byte[] predIV = md256.digest(dkey);
SHA256.returnMessageDigest(md256); md256 = null;