Skip to content

Releases: cl-ement05/ZCrypt

ZCrypt V4.1

12 Jun 21:36
Compare
Choose a tag to compare

New Features 🎉

Automatic mode detection 🤖

  • ZCrypt will now automatically detect the encryption mode of a file when trying to decrypt
  • So you no longer need to specify whether is uses RSA or zcrypt mode ; just enter the filename and ZCrypt takes care of the rest

Use of the unidecode module 👌

  • Previously, in zcrypt mode, if you typed characters containing accents or special characters like µ or $, ZCrypt would crash and raise an exception since zcrypt encryption algo does not really know how to encrypt them (one of zcrypt weaknesses 😬 )
  • Now, when entering text like message, sender or receiver ZCrypt will use the unidecode module to remove all accents and avoid ZCrypt crash

GUI to select file 💻

  • This is probably the biggest new feature of this release : now you select files to save/open using your OS file explorer
  • Not only this is much more user-friendly and easy to use, but also it adds a new ability : use file from everywhere on your computer (could even be on a USB stick) and not only from the files in ZCrypt dir
  • Note : this feature is only available when choosing filename for encrypted content and when choosing the file containing encrypted content when decrypting
  • This also means the file name has been removed from settings which makes it easier for you to change the file name of encrypted content

Improvements ↗️

  • Some print messages have been changed to make ZCrypt more consistent and simpler in its whole UX
  • zcrypt encryption algo is now much faster (removed two processing-power-hungry while-loops 🔁)
  • Now, files are opened in a way which ensures that the resource is freed when it is not longer needed after zcrypt operations

For devs

Major change ! Some functions were moved to files in a misc/ folder for clearer and esay-to-read code. Functions related to the same topic were merged in the same file (eg settings and update)
Be careful : there were some big changes in function args and returns (mostly printDecrypted and checkForUpdates)

And as always performance improvements ⏩

And that's pretty much it for ZCrypt V4.1 😃
For next release, expect something a bit special... :
image

ZCrypt V4.0

04 May 20:24
Compare
Choose a tag to compare

New Features 🎉

Automatic updates 🔄

  • ZCrypt will now check if updates are available (using a manifest) and fetch these updates if necessary
  • This new feature comes of course with a new parameter in settings which lets you specify when you want ZCrypt to check for available updates
  • No extra libraries required ! ZCrypt uses built-in modules from Python

Settings permanently saved ✅

  • ZCrypt will now save your settings in a file so you never lose them after exiting ZCrypt
  • This file is automatically updated each time you change a setting ! No need to worry about saving your changes
  • You can also manually change this file 😉 but be careful with that : you could corrupt your settings file
  • In this situation, ZCrypt won't be able to boot however ZCrypt offers you the option to restore the default settings file

Security improvements 🔒

zcrypt encryption algorithm got a very cool security improvement 🔑

  • Now, the limits (both high and low) are generated randomly and not fixed to a number like in previous zcrypt version
  • These limits are saved in the encrypted file output just like the key

File ouput is now much harder to read (for humans) 📁

  • Zcrypt won't use semi-colons anymore to separate numbers
  • Based on the fact that encrypted number will always be composed of three binary representation of three digits (8 * 3), ZCrypt will separate numbers each 24 digits

As always

  • A lot of bug fixes 🐛
  • Performance improvements ⏩

ZCrypt V3.1

21 Apr 12:30
Compare
Choose a tag to compare
  • Added ability to encrypt metadata even with encrypting with RSA 👍
  • External modules (like RSA or printy) can now be automatically installed if they are missing
  • Added ability to recognize commands even with spaces before or after the text itself
  • Improved settings, especially when setting a custom RSA key length. Now a check is performed to verify the entered value is a power of 2
  • For devs : ZCrypt's main code now only run when name == "main", also merged decrypt into one main function
  • Fixed a bug which caused ZCrypt to crash when printing decrypted in zcrypt mode (see 4064657 for details)
  • And optimisations as usual ;)

ZCrypt V3.0

31 Mar 16:56
Compare
Choose a tag to compare

New Features

RSA

  • ZCrypt now offers encrypting messages with RSA using Python RSA module
  • Only messages can be encrypted for now
  • Support for crypting time, sender and receiver will come in a future release
  • RSA mode has many ZCrypt mode features see comparison below

Added two new options in setting

  1. Ability to set a default encryption mode (using RSA or ZCrypt)
  2. Ability to set a custom RSA key length (bits)

Improvements

  • Better UI -> unified message titles (error, warning, infos...)

Key differences and features between ZCrypt algorithm and RSA

Features ZCrypt RSA
Encrypt messages
Encrypt metadata (sender, receiver, date)
Save encrypted content to a file ✅ (in byte mode)
Warning before file overwrite
Save decrypted content to external file
Automatically retrieve key from file ✅ (if you saved privKey when encrypting)

RSA or ZCrypt ?

ZCrypt encryption algorithm offers low security level of encryption but a very fast encryption process
RSA on the other hand offers much better security at slower speed
Here is a little comparison between both

Time taken to encrypt "This is a test message for ZCrypt V3.0 release !!"

Tested on a non-overclocked Raspberry Pi 4 on a single process

Operation (in sec) ZCrypt RSA (512 bits) RSA (1024 bits) RSA (2048 bits)
Generate keys < 0.1 0.2 0.8 3.0
Encrypt message 0.3 0.5 1.2 11.1

Choose the one that best suits your needs !

ZCrypt V2.3

24 Mar 10:47
Compare
Choose a tag to compare

New features

Ability to either print either save decrypted output to a file

  • Settings have been updated and a new value was added
  • Three options : always ask user for input, always save to file or lastly always print to screen

Improvements for Error Code

  • Now only a single Error code at a time (changed from list to str)
  • The part of the manual which deals with this code is automatically printed

Optimisations

Global variables

  • Removed a lot of them (almost 15)
  • Use of returns and function parameter

Algorithms

  • Date decrypt much more readable
  • fileCheck before decrypting has also been improved

Use of an encrypt and decrypt engine

  • Since encryption/decryption is code is reused in many function (for sender, reciever...) it was not clever to copy/paste the encryption algorithm (which processes ASCII...)
  • So I added two new main functions which are called when decryption/encryption is needed (DRY code ) -> removed 200 lines of code

Bug fixes

  • Fixed an issue which caused crash when entering a non-int while changing a setting (ValueError was raised because converting to int() without an except-block)

ZCrypt V2.2

21 Mar 19:53
Compare
Choose a tag to compare

New feature

Save decrypted content to a text file

  • name of the file is chose by user
  • if the name is not valid -> ZCrypt uses a default name

ZCrypt V2.1

21 Mar 13:17
Compare
Choose a tag to compare

New Features

Settings Page

  • Two new option to customize ZCrypt even more :
    • Change the displayed date format (dd/mm/YYYY, dd/mm/YY, YYYY-mm-dd or even plain-text)
    • Warning before file overwrite can now be disabled

Removed some unnecessary imports

ZCrypt V2.0

21 Mar 13:10
Compare
Choose a tag to compare

New Features

Colors

  • Output text is now displayed in colors so it will be much easier to read
  • Every type of message (warning, information, error...) has its own color scheme

Error codes

  • Starting from V2.0, when a crypted mail can't be decrypted, instead of just showing an error, ZCrypt will provide an error code
  • All are error codes are listed in the Manual that has been updated

ZCrypt V1.0

21 Mar 13:02
Compare
Choose a tag to compare

Introduction of ZCrypt !
Note : initially released on February the 24th 2020 (but not on GitHub)