Your best bet is to try modifying the example that encodes and decodes the same data, so that it processes 32 bytes instead of 8.
The example is hard coded to 8 bytes in lots of places.
If you change the example to 32 bytes and it works, then great.
If it doesn't work, your best option is to post an issue on GitHub.
However it may have been specifically designed only to process 8 byte chunks, so you'd also need to modify the library.
I've no idea what the implications on ram requirements would be, if you had to do that
The idea of triple-DES was that it should be well suited for fast throughput in dedicated hardwired chips.
Whilst you might be able to make an emulator, that would not be how that standard was meant to be used.
For the above mentioned, I've tried to look at the library, and there are two files.
DES.cpp
DES.h
in DES.cpp, there are sbox, which contents 254 values. And all these are based on 8 bytes.
What are the things that usually I would need to change, in order to suit that the library can process the 32 byte data.
Using the arduino DES library, I've managed to get a working 8 byte encrypt and decrypt value.
But when I'm sending 32 byte data, only the first 8 byte result are correct. The rest is thrash. (but still in hex).
I'm using keying option 2 for the key. Triple DES - Wikipedia (key 1 similar with key 3)
I know its been a long time since this question was asked. But i think its still nice for google to have it awnsered.
Des is a block cypher. It works on blocks of 8 bytes. To encrypt larger data sets you'll have to chop your data into chunks of 8 bytes and encript each of thouse blocks.