Is it possible and worth trying to develop some server application using android NDK which will encrypt data (or just use some built in Linux encryption library) passed to it from normal Java based application?
I tried using Cipher library, but it took almost a minute to encrypt 2MB file with AES. And blowfish is not available in Cipher until Android 2.3(?). And I doubt it will be much faster.
I was using blowfish for encryption on Symbian and it was much faster (under 5-10 seconds) so I think in android it is slower because of using Java virtual machine and I'd like to try native app for it.
Have someone done it before?
EDIT: Encrypting in NDK is so much faster. Do it there. There is a similar question with the same answer for AES: AES decryption on Android too slow to be usable. Will NDK be faster? Other ideas?
What version of Android are you testing against? Bear in mind that starting with Froyo, there's a tracing JIT which should work quite well for the math-intensive loops in a crypto library.
For older versions, you'd probably want to do it with the NDK, yes. I don't know why you need a server, though - simply compile any good/fast crypto library and make a wrapper around it using the NDK. Then, you can simply use the wrapper from your java-based app.