I do the following via the Linux CLI:
printf '\xff\xff\xff\xff\xff\xff\xff\xff' > plaintext.txt
openssl enc -bf-ecb -e -in plaintext.txt -out ciphertext.txt -nosalt -K FFFFFFFFFFFFFFFF -p
I then read the contents of ciphertext.txt with <?= bin2hex(file_get_contents('ciphertext.txt')); ?>
and I get this:
5aacfb5a8dc0155dd0269124c9e81789
According to https://www.schneier.com/code/vectors.txt, however, the result is this:
51866fd5b85ecb8a
That ciphertext.txt is twice as long as the test vector result makes sense because of padding. But shouldn't the first eight bytes of ciphertext.txt match the test vector?
Doing the above with des-ecb
(same plaintext and same key) gives the same output that https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/des/Des-64-64.test-vectors mentions (Set 3, vector#255) so it seems like my test methodology is correct.
Any ideas?