|To download a ready-to-use version (v.1.3), visit the ChromaticEncryption repository of my GitHub account.|
Improvements over the previous version:
- Better distribution of encrypted pixels.
- Stronger encryption by converting two constants (i.e., variation limit per pixel and association between DB hardcoded variations and pixel information being affected) into password-dependent variables.
WARNING - Unless expressly stated otherwise, there is no backwards compatibility among versions. When decrypting a file, make sure that you rely on the version used to encrypt it.
- Only PNG files are supported. The higher the quality/resolution the quicker the encrypting/decrypting process, but bigger files consume more resources (i.e., whole process slower).
- Virtually any "normal" image should be fine. Examples of bad input images: the ones including just (shades or slight variations of) one colour or a few of them; black and white is a particularly problematic combination. Additionally, all the versions so far (up to v. 1.3) of the encryption algorithm tend to affect the appearance of artificially-altered images (e.g., including transparency) in a quite relevant way.
- There is a maximum of 500 and 15 characters for text to encrypt and password respectively. All the characters are supported.
- There is a 2 minute timeout. It is usually triggered by wrong inputs (e.g., bad image, not encrypted information or wrong password).
- Under normal conditions, encrypting/decrypting shouldn't take longer than a few seconds.
- No copy of the input information will remain in the server for longer than a few minutes.
- This is the first version of the algorithm and also of this approach (i.e., encrypting information in images without affecting their appearance in a relevant way). That's why I will be happy to get some feedback about it.