A sample GUI which is able to encode the text introduced in the upper box
To compile and execute: javac Simulatore.java java Simulatore
In the GUI we have the upper box where we write the text we want to encode, the box bellow this where appears the encoded text and a little box where we can select the seed used to encode the text.
The text is encoded by a XOR encoder using a cellular automata. Since a XOR operator is based on applying the XOR to every character using a given key, as we already have the text given by the user, we just have to generate a key for every character in order to encode the text. This keys would be generated by the 1D cellular automata definded by the rule 90, which generates "randomly enough" numbers as we could study in the Cellular-Automata repository looking at the Hamming distance and the spatial entropy. So it works aplying a XOR between the character(represented by 8 bits) and the seventh cell of the next eights generations, for every character to encode. It has to be said that the first generation of the CA is generated by the Fishman & Moore 1 generator with the key selected by the user in the small box(being 3 by default).