Skip to content

circulosmeos/triops.apk

Repository files navigation

triops.apk

A simple Android tool for encryption/decryption of files.

Last version available and compiled is v1.7. Check list of changes between versions.

apk available here in project releases.

It uses CHACHA20 as algorithm for encryption/decryption and KECCAK-512 as hash algorithm.

It is based on command-line tool triops, available here. The C code is exactly the same, used via JNI, with just a GUI frontend for Android.

You can also find info about the development of the app here: http://wp.me/p2FmmK-8T.

Features

  • Support for "share with" and "open with" (*.*) Android behaviours: this means that you can use your favorite Android's file explorer, select one or more files within it, and "share" (or "open *.*" with) them with this app in order to crypt or decrypt them (you can mix file types with no problem), and the app will shown waiting just for the password.
  • Same content produces different encrypted outputs every time. This is attained with a random initialization vector (IV) stored within the encrypted file.
  • Files are (by default) encrypted/decrypted on-the-fly, so content is overwritten. This is interesting from a security point of view, as no clear content is left on disk.
  • When decrypting, if password is not the one used for encrypting, the process is aborted, so the file cannot be rendered unusable. This behaviour is achieved thanks to a password hint stored within the encrypted file.
  • Mentioned hint used to check that the password for decryption is correct is not the same used to encrypt (obviously!). Separate hashes are used for both purposes, though both are derived via different ways from the password and IV, using some 500-1000 concatenated KECCAK hashes.
  • Encrypted files are appended the extension .ooo to filename, so they can be recognized.
  • Password can be obtained from keyboard or from a file:
  • Binary files can be used as passwords: for example jpg images, etc. Caution: do not lose this 'password' file and do not modify it!
  • Original date & time of the files are preserved.
  • Files bigger than 2 GiB can be managed.
  • Speed is extremely high: the app uses a native OS library and CHACHA20 is a very fast encryption algorithm: it is as fast as RC4.
  • Code for the Android file browser is a slightly modified version of ingyesid‘s simple-file-chooser: see circulosmeos/simple-file-chooser.
  • Licensed as GPL v3

Additional info

Please, refer to triops command-line project for more details.

Notes

  • The sample encrypted file "gplv3.txt.ooo" can be decrypted with the password "triops!"

  • Files encrypted with version < 1.4 can be decrypted with greater versions, but in general files encrypted with version >=1.4 cannot be decrypted with previous versions. This is related to the change to cmdline triops's version >=9.0 : see project notes here.

  • Version < 1.4 used the extension ".#$3" for encrypted files. It has been changed to ".ooo", though those files are correctly recognized and managed. See previous note.

Known issues

Please, refer to the issues page.

  • If you are using Android < 7 in a Samsung device, you may want to install v1.4, as it has Samsungs Multi-Windows support. This feature was removed in v1.5 as it is incompatible with Android N (7).

License

Licensed as GPL v3 or higher.

About

triops port to Android - Encrypt and decrypt files using CHACHA20+KECCAK

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors