I am trying to implement "Algorithm 2.A" from the PDF-2.0 spec (pages 81-82 of ISO 32000-2:2020(E)). The purpose of the algorithm is to retrieve the "file encryption key" of an encrypted PDF document, using a user-supplied password. Step f of the algorithm starts with the following sentence:
f) Decrypt the 16-byte Perms string using AES-256 in ECB mode with an initialization vector of zero and the file encryption key as the key. ...
My understanding is that ECB mode does not use an initialisation vector, so I am not sure what this means. Is this a mistake in the spec? How should I implement this step?
Many thanks, Jochen
This turned out to be a mistake in the PDF 2.0 spec. The published list of errata shows that the words "with an initialization vector of zero" should be removed.