Do you use dm_crypt on a USB disk?
Can you try this quick benchmark:
echo write command 500 MB:
sync; time sh -c "dd if=/dev/zero of=./test bs=1000k count=500; sync"
echo read command:
sync; time sh -c "dd if=./test of=/dev/null; sync"
I get about 10Mbytes/s read/write on a dm_crypt USB hard disk ext3 partition with hardware encryption (5Mbytes/s with no hardware support and 30Mbytes/s with no encryption at all)
I have hardware crypto with dm_crypt, but that's it. Have not bothered going for anything more as it's the only thing i really use a lot.