i have a question about the padding scheme you are using for opdata01. In the description of the file format you say:
The plaintext is padded using the following scheme.
If the size of the plaintext is an even multiple of the block size then 1 block of random data is prepended to the plaintext. Otherwise, between 1 and 15 (inclusive) bytes of random data are prepended to the plaintext to achieve an even multiple of blocks.
What I do not understand: why do you add padding when the plaintext length is an even multiple of the block size? Since the plaintext size is known, it seems unnecessary to me.