This program can be run on any version of Python 3.
As Libarys you have to install:
osshutilopencvPySimpleGUIpillowbitarrayrandomcsvmath
To use the programm you have to run the GenerateNumbers.py file, to generate the numbers and key table. This file the must be shared with all users you want to send messages to.
First select an image (Only .png) by pressing the Choose Image button on the left side. Then enter your text to the textfield below. Then press the Convert button. Then you can save the image by clicking the Save button. Also copy the keyand send it with the image.
First enter the key send with the image to the textfield at the top right. Then click the Choose Image button and select your image. Now click the Convert button and the message appears in the textfield.
First every letter of the message gets converted to a number. Then every number gets charged with the key. All results get converted to binary. Then at every chrominance in every pixel in the image the last bit gets replaced by one bit of the message.
First at every chrominance in every pixel in the image the last bit gets read and added together to a string. Then the strings get split into numbers which get charged with the key. The new numbers get back converted to letters.
This program was original developed for the "Data security" competition of Explore Science 2022 in Mannheim.
With this project, we earned the 1. place.
