From Guardian Project Wiki
IOCipher provides encrypted virtual disks on Android without requiring root access. This allows any Android app to securely and private store and use files. The IOCipher API is an almost mirror of the java.io API, so most applications can switch to it by changing some import statements, and adding the mount and unmount logic. A IOCipher filesystem is a SQLite3 database. It is encrypted with AES256 using the SQLCipher version of SQLite. This database is wrapped by libsqlfs, which presents a POSIX-style FUSE I/O API to the underlying database. The Java layer then implements the java.io API using this FUSE API. IOCipher database files can also be mounted on GNU/Linux using the FUSE utilities provided by libsqlfs.