It's an Android app that encrypts plain texts. This app does not claim any permissions, so you can trust that it cannot send any of your private data to anyone.
Messages produced by this app are secure and, for example, can be confidently sent over a network. It uses AES in GCM mode with no padding for encryption. It uses Argon2 and a random Salt to derive a secure key from the entered passphrase. This is a very powerful encryption. It also encrypts its settings before storing them on the device.
However, the app might be vulnerable to some attacks. Although it is secure enough to stand attacks from non-expert crackers, e.g. normal users, should not be used for serious data encryption.
It's a big subject to discuss. I recommend reading these two articles:
-
Why do you need PGP? In this article, Phil Zimmermann compares the encryption of emails to putting letters in an envelope: if you don't have anything to hide, why do you hide your messages in envelopes?
-
Why we encrypt? This article tells us that we should encrypt everything, not just to protect our privacy, but also to protect those activists whose lives depend on encryption.
It is recommended to install the app from F-Droid.
You can also directly download the APK from F-Droid if you don't want to install the F-Droid app.
Because Simple Text Crypt uses standard algorithms, you can decrypt your data with any other apps too. Follow these steps.
The first 16
characters of the encrypted string is the IV. It's encoded with Base64. Extract that
from the string and decode it from Base64 to bytes.
You need use Argon2 algorithm to derive a key from your passphrase. With the following arguments:
Mode: ARGON2_ID
Salt: The IV you extracted in the previous step
Cost In Iterations: 5
Cost In Memory: 64 * 1024
Remove the first 16
characters (IV) from the encrypted string. Pass the rest to your AES
decryption function. The AES arguments are as follows:
Algorithm: AES
Transformation: GCM
Padding: No padding
Tag size: 128
Open the directory with Android Studio.
From command line, to run the tests execute: ./gradlew app:connectedAndroidTest
To install the debug build: ./gradlew installDebug
To build release APKs for testing on phone, open build.gradle
file and uncomment the
signingConfig
line. Then call ./gradlew assembleRelease
.
Copyright (c) 2015-2025 Aidin Gharibnavaz
SimpleTextCrypt is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
SimpleTextCrypt is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with SimpleTextCrypt. If not, see https://www.gnu.org/licenses/.