// ECB-encrypted E(H(docname)) serves as IV.
PCFBMode pcfb = PCFBMode.create(aes, key.ehDocname);
pcfb.blockDecipher(decryptedHeaders, 0, decryptedHeaders.length);
// First 32 bytes are the key
byte[] dataDecryptKey = Arrays.copyOf(decryptedHeaders, DATA_DECRYPT_KEY_LENGTH);
aes.initialize(dataDecryptKey);
byte[] dataOutput = block.data.clone();
// Data decrypt key should be unique, so use it as IV
pcfb.reset(dataDecryptKey);
pcfb.blockDecipher(dataOutput, 0, dataOutput.length);
// 2 bytes - data length