Skip to content

SuchodolskiEdvin/ProjectBase

 
 

Repository files navigation

3D Encryption

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.

How the encryption works.

alt text

Image of letter "H". I appears as shifted because we are projecting a square image to a circle.

alt text

Black box

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.

Binary image.

alt text

Interpretation of the binary image - Before and after converting.

alt text alt text

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.

Image spray.

alt text

Density and holes

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.

Visual interpretation of the encrypted file.
Red - The image
Blue - Non informational data created during encryption.
(Obviously this is just a set of points as seen from outside the programme.)

alt text

Summary

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%