AES simetrik şifreleme yöntemi kullanılarak parametrik girdilerle resim şifreleme ve çözme işlemlerine yönelik java uygulaması geliştirilerek performans analizinin yapılması
Parametric using AES symmetric encryption method for image encryption and decryption with inputs performance analysis by developing java application making
Yazar: DAVUT ŞAHİN
Danışman: DR. ÖĞR. ÜYESİ SERKAN GÖNEN
İstanbul Gelişim Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Bu tez çalışmasında, görüntülerin güvenli bir şekilde iletilmesi ve depolanması amacıyla, Java programlama dili kullanılarak bir grafik kullanıcı arayüzüne sahip bir resim şifreleme ve şifre çözme uygulaması geliştirilmiştir. Uygulama, simetrik anahtarlı şifreleme algoritmalarından olan Gelişmiş Şifreleme Standardı (AES) algoritmasını kullanarak 128, 192 ve 256 bitlik şifreleme işlemlerini gerçekleştirebilmektedir. Güvenlik seviyesini artırmak için, şifreleme işlemi kullanıcı tarafından belirlenen tur (iterasyon) sayısı kadar tekrarlanabilmektedir; bu sayı maksimum 100 tur olarak sınırlandırılmıştır. Şifreleme işleminden önce, orijinal resmin bütünlüğünü ve kimliğini doğrulamak amacıyla SHA-256 kriptografik özet fonksiyonu kullanılarak resmin hash değeri hesaplanmaktadır. Benzer şekilde, şifreleme işleminden sonra elde edilen şifreli resmin de SHA-256 hash değeri alınmaktadır. Bu hash değerleri, veri bütünlüğünün ve güvenilirliğinin sağlanması için bir veritabanında saklanmaktadır. Şifre çözme işlemi sırasında, şifreli resmin yeniden hesaplanan hash değeri veritabanındaki değerle karşılaştırılarak veri bütünlüğü doğrulanmakta ve sadece bütünlük sağlanırsa şifre çözme işlemi gerçekleştirilmektedir. Performans analizleri, şifreleme anahtar uzunluğunun ve tur sayısının artmasının işlem süresini belirgin bir şekilde etkilediğini göstermektedir. Özellikle 256 bit anahtar uzunluğu ve yüksek tur sayılarında şifreleme ve şifre çözme sürelerinde artış gözlemlenmiştir. Bu durum, güvenlik ve performans arasında bir denge kurulması gerektiğini ortaya koymaktadır. Geliştirilen arayüz, kullanıcı deneyimini ön planda tutarak sade ve anlaşılır bir tasarım ile oluşturulmuştur. Kullanıcıların şifreleme işlemlerini kolaylıkla gerçekleştirebilmesi hedeflenmiş ve programın eğitim amaçlı olarak şifreleme mantığının anlaşılmasına katkı sağlaması amaçlanmıştır. Uygulamanın modüler yapısı ve ölçeklenebilirliği, gelecekte daha büyük projelere entegrasyonunu mümkün kılmaktadır. Bu çalışma, resim verilerinin güvenliğini artırmak için çoklu tur ve farklı anahtar uzunluklarında AES şifrelemesinin etkili bir şekilde kullanılabileceğini göstermektedir. Ayrıca, veri bütünlüğünün sağlanması için hash fonksiyonlarının entegrasyonu, şifreleme uygulamalarında ek bir güvenlik katmanı oluşturulmasına olanak tanımaktadır.

Abstract:
In this thesis, an image encryption and decryption application with a graphical user interface has been developed using the Java programming language, aiming for the secure transmission and storage of images. The application employs the Advanced Encryption Standard (AES), a symmetric key encryption algorithm, capable of performing encryption operations with 128, 192, and 256-bit keys. To enhance the security level, the encryption process can be repeated for a number of iterations specified by the user, with a maximum limit of 100 iterations. Prior to the encryption process, the original image's integrity and authenticity are verified using the SHA-256 cryptographic hash function, which computes the hash value of the image. Similarly, the encrypted image's SHA-256 hash value is calculated after the encryption process. These hash values are stored in a database to ensure data integrity and reliability. During the decryption process, the hash value of the encrypted image is recalculated and compared with the stored value in the database to verify data integrity. Decryption is performed only if the integrity is confirmed. Performance analyses indicate that increasing the encryption key length and the number of iterations significantly affects processing time. Notably, an increase in encryption and decryption time is observed with the 256-bit key length and higher iteration counts. This finding suggests the need to balance security and performance. The developed user interface is designed with simplicity and clarity, prioritizing user experience. It aims to enable users to perform encryption processes with ease, while also serving an educational purpose by providing an understanding of encryption logic. The modular structure and scalability of the application allow for integration into larger projects in the future. This study demonstrates the effective use of AES encryption with multiple iterations and different key lengths to enhance the security of image data. Furthermore, the integration of hash functions to ensure data integrity provides an additional layer of security in encryption applications.