git clone https://github.com/rcastrucci/ucrypt.git
Ucrypt is a versatile encryption tool, written in Python and designed to meet the demands of the most
security-conscious software users.
-
AES 256-bit: AES encryption standard with 256-bit keys to ensure an exceptional level of data security.
-
Random Key Generation: Create random symmetric keys to protect your data, making it virtually impervious to breaches.
-
Key Derivation with Passwords: Enhance security by generating keys derived from passwords, requiring both the key and the password for decryption.
-
AES and RSA Hybrid mode: Add an extra layer of security by encrypting the AES key with RSA, allowing decryption only with the corresponding RSA private key.
./install-linux
./install-mac
The basic approach would be to encrypt using a symmetric key. This can be done with one line command
ucrypt --generate-key personal.key --encrypt myFiles --save-as myFilesSecure --key personal.key
ucrypt --decrypt myFilesSecure --save-as myFiles --key personal.key
To enhance security of your symmetric keys. It is possible to encrypt data using a second factor authentication. Setting up a password on Ucrypt conf file to be used automatically each time you encrypt data. This could be done as follows:
ucrypt --auth
This will prompt a input text hidden to type and confirm your password. The password will be saved in a conf file with a Hash SHA-256.
ucrypt --enable-factor
Done! Now each time you encrypt data, Ucrypt will use your password to derivative a key. That means, to decrypt data, one must have the key and must know the password.
# What if I want to perform an automatic task every day to encrypt data, and don't want to have thousands of keys?
# It is possible to set up a default key configuration and with second factor enabled, there are no worries.
ucrypt --generate-key
With a password created, a second factor enabled and your default key set up. To encrypt myData and save as mySecureData, is simple as that:
ucrypt -e myData -s mySecuredData
ucrypt -d mySecuredData -s myData
ucrypt --status
The command above will display if you have your password set up correctly, if second factor is enabled or disabled and show you which key is set as default.
ucrypt --default-key personal.key