IOCipher lives! encrypted virtual file system for Android


Nathan and I just got the first complete test of IOCipher working in the IOCipherServer/SpotSync app. We created a filesystem sqlite.db file, then mounted it and got all the files via HTTP. In the test suite, I have lots of operations all running fine and encrypting! The core idea here is a java.io API replacement that transparently writes to an encrypted store. So for the most part, just change your import statements from:

java.io.*   --->   info.guardianproject.iocipher.*

Then in your code, make a VirtualFileSystem instance and mount it, and unmount it. That’s about it. Right now, you can have only a single filesystem per app, but you can unmount one and mount another. We hope to add support for multiple filesystems in the not-too-distant future.

Its ready for people to try, some kind of early alpha. Here’s the framework itself:
https://github.com/guardianproject/IOCipher

THe easiest way to get started right now is probably the test suite:
https://github.com/guardianproject/IOCipherTests

Our first app using it is here:
https://github.com/guardianproject/IOCipherServer

Comments, feedback, criticism, welcome and wanted!