EMA software

Development of the EMA software began in late 2021 using Java programming language and is ongoing.
To use the program, you’ll need to install a JDK or JRE of at least version 8, as the minimum required version of Java for the EMA program is Java 8.
Several alpha versions were released before the current beta version 1.24.mmdd. The program is designed to run as a library or standalone and does not have a graphical user interface (GUI).
The java .jar file size is less than 40 KB and there are two versions available: a static version that cannot be instantiated and a non-static version that can be instantiated.
Currently, only the .jar byte code is available and the license for its use is not well defined. However, you can use it for free with some restrictions and a disclaimer.

/*
 * Copyright 2021-2024 EMA (Encryption by Masking)
 * Ema.jar (not static, instantiatable) - Version 1.0 (2024.02.16)
 * Developer: Stefano Fazzino - Udine (Italy)
 * For info and documentation visit https://www.creoart.com (constantly developing and changing)
 *                                    ***
 * 1. EMA is free to use for personal non-profit purposes.
 * 2. Public and private companies, universities, colleges, schools, research
 *    institutes, hospitals, governmental and non-governmental agencies and the
 *    military are only allowed to test and try it freely. For all other purposes
 *    they have to ask for permission to use it.
 * 3. You may not copy and/or include parts of this software in your own code
 *    without the explicit permission of the developer.
 * 2. Before running the program:
 *   - check its checksum and if it does not match to the one signed, DO NOT RUN
 *   - also check the program Ema.jar (not static, instantiatable)
 *     by sites like https://www.virustotal.com
 * 5. For bugs, suggestions, vulnerabilities or anything else send an email:
 *                        i n f o @ c r e o a r t . c o m
 * 6. The developer cannot be held responsible in any way for any damages,
 *    malfunction or any other consequence related to the use of this software.
 * 7. If you do not agree, please avoid using this software.
 *                                     ***
 *                                     ***
 */
The main features of the program:
  • possibility of working with different operating systems (Windows, Unix, Linux, etc.) without having to change anything
  • ability to write to the terminal or file the log
  • possibility of configuring your own time zone
  • the program can work on files or on byte arrays (key files, encrypted and decrypted files are saved, byte arrays not)
  • ability to create keys of desired length by being able to exclude ranges of values
  • regarding the file encryption the byte block can be sized
  • the program encrypts files, preserving the original path, the owner, the group if there is one, the permissions and the operating system on the file is
  • list of the above information only, without decrypting it completely
  • immediate verification that the key used is correct
  • possibility of using or not the checksum verification by inserting the hash directly in the encrypted file
  • 3 checksum algorithms that can be used (MD5, SHA-256 and SHA-512)
  • ability to enable or disable encryption, leaving the original data plus header and checksum, if calculated
What does the EMA program do (exclusively)?
  • reads the configured directories of the key files, the original ones, the encrypted ones and the decrypted ones
  • manages the necessary byte arrays in memory
  • performs operations on the byte arrays
  • writes key files, encrypted files, temporary files, decrypted files and log files to the configured directories
  • delete and rename the temporary decrypted files
What absolutely cannot the EMA software do?
  • does not connect with any internal and/or external IP or link to the network, port, interface or device
  • does not read or write files, with the exception of EMA keys, EMA encrypted, decrypted and temporary files
  • does not delete any files except the temporary files it generates
Two executables are available at the moment:
  • Ema.jar (static and instantiatable and non-static and instantiatable)
  • both have their own checksum (SHA-256) and can only be executed if it matches the checksum of the downloaded file
  • it is also recommended to check them on sites that detect potential threats, such as www.virustotal.com. Again, the checksum must match the one provided
  • however, it is quite easy to check the bytecode of a Java program to know what it really does
Scroll to Top