I have resized encrypted filesystems using this procedure several times without losing any data, but it's been a while since I've done it, so try it at your own peril. I would strongly advise making a backup copy of the file first...
The general outline:
du -m <filename> => to get size in Mb to use for seek value below
dd if=/dev/zero of=<filename> bs=1M seek=<size from above> count=<blocks to add>
e2fsck -f /dev/loop0 <=assuming loop device is loop0
Using real values (I actually used K instead of M although I don't quite remember why):