From the Google Play Store: "The data is encrypted using 256 AES keys and can be password protected."
Are you sure that you don't mean that it is encrypted using a 256 bit AES Key?
And I imagine that the private key is stored on the device?
Are you sure that you don't mean that it is encrypted using a 256 bit AES Key?
And I imagine that the private key is stored on the device?
I solved this issue using a pair of RSA public/private keys that are stored in internal storage. The private key is then encrypted by the password whereas the public key is not. So what happens is that on reboot, a random AES key is created, encrypted by the public RSA key and stored in a table. Then, this is used to encrypt any future GPS points until a further reboot. (I didn't want to use the RSA key directly due to efficiency concerns and the lack of a good padding mechanism within the library)