The game interface consists of just 3 elements: input box (A), validator box (B) and the decoding area (C).
The decoding area consist of boxes, each containing a single letter of the encoded message (green letter), below there is a space left for what you think is the character in original message. On low difficulty level the game will decode the first letter of the message.
When you press any letter or number key on your keyboard the input box will show which character you have chosen and now the interface expects you to press another key to select to which character you want to change this one.
Also this causes every single use of that character in whole message to lit up in green, so you would now where else you will make a change. Game substitutes every single use of the character you have chosen in the whole message at the same time.
If the letter you have chosen was already used as substitution the previous substitution will be remove. In example below U was substituted by O, but by substitution of N by letter O now U is unsubstituted.
Validator box will inform you when you have correctly subtituted the whole message, which means every single letter is correctly substituted.
All messages are endoded using simple letter substitution, in which every letter is replaced by another one, but always the same one in each cypher. Each cypher is encoded using different key, so even if you try the same message again it will require finding the right substitution character for each letter.