In this project we fill a 3D space with points, so that from one particular angle, position and FOV the encrypted image is seen. Of course that is just the visual representation of what the programme is doing.
From GUI the user can select options regarding encryption space, noise, and selecting files to encrypt. It takes in binary image saved as '0' and '1'. It operates on very small images: 50x50 pix takes around a minute to decrypt.
Because of the way our programme works, we need to cast rays out of the point in the shape of the cone. To do that we need to convert square image into an even, circular one.
In order for this programme to work, we need to find a location for our "eye". Once we find it, we cast rays on which we place randomly points that represent pixels (or 'ones' in binary file).
Because of that, if we were to place the "eye near the edge some rays would be much shorter than other, resulting in higher density in that area. Ideally we would put the cone (our image in 3D space is seen as a cone) perpendicularly to the side of the box, this way there would be no unnecessary distortions.
After we create the cone, we calculate based on density number of points we create around. An additional option is creating noise, simply adding some number of points to our space.
This project is not at all comparable to newer (and old) techniques of encryption. It is an educational experiment, a presentation of what encrypting data, and using a key means. But all in all, it was just a fun idea that we wanted to implement.






