N BOYUTLU RUBİK KÜP İLE ŞİFRELEME ALGORİTMASI TASARIMI

ÖZET

İletişim, insanlığın var oluşundan beri sürekli ve her zamankinden daha fazla gelişerek devam eden bir süreçtir. İletişim esnasında iletilen verinin güvenliği de oldukça önem arz etmektedir.

Günümüzde iletişim, akıllı telefonlar, e-postalar, sosyal medya uygulamaları, görüntülü-sesli iletişim araçları vb. gibi çok çeşitli şekillerde ve platformlarda yapılır. Bu iletişimler esnasında aktarılan bilgilerin güvenliğini sağlamak için şifreleme algoritmaları kullanılır. Şifreleme algoritmasının güvenli olması verinin de güvende olduğu anlamına gelir.

Projemizde yeni bir şifreleme algoritması geliştirilmiştir. Algoritmanın oluşturulmasında öncelikli ilke “Şifreleme sistemi tüm ayrıntıları ile açığa çıksa bile anahtara sahip olmadan şifresiz veriye ulaşılamaması” olmuştur. Algoritma, verilerin (resim veya metin) yeterli büyüklükteki küp üzerine yerleştirilmesi ve rasgele eksenlerin, rasgele sıralarının, rasgele yönlerde, rasgele defa dönmesi ve bu işlemin yüzlerce defa tekrarlanması ile verilerin şifrelenmesi mantığına dayanan bir algoritmadır.

Bu algoritmayı uygulayabilmek için Python programlama dili kullanılmıştır. Hem metin hem de resim üzerinde performans testleri yapılarak kullanışlılığı değerlendirilmiştir. Algoritmanın test edilip yaygınlaştırılması için bir web sitesi geliştirilmiştir.

ABSTRACT 

Communication is a process which has been developing continuously and more than ever since the existence of humanity. The security of the data transmitted during communication is extremely important.

In today’s world, we communicate in many ways using many different platforms, such as smartphones, e-mails, social media platforms, and video chat applications. Encryption algorithms are used during these transmissions to ensure the data transmitted is secure. The fact that the encryption algorithms are secure also means that the data is secure.

A new encryption algorithm has been developed with our project. Our primary principle while developing the algorithm was “Even if the encryption system is fully exposed, it’s not possible to obtain the unencrypted data without the key.”. The algorithm works by placing the data (text or image) on a properly sized cube and rotating random rows, on a random axis, towards a random direction, random times. This process is repeated hundreds of times.

We have used the Python programming language to implement this algorithm. The practicality of the algorithm was tested by performing performance tests on both text and image samples. A website has been developed to test and popularize the algorithm.

en_USEN