Proje Özeti
AES Locker, kullanıcıların hassas verilerini (dosya ve klasörler) güvenli bir şekilde şifrelemesini sağlayan, Python ve Tkinter tabanlı modern bir masaüstü uygulamasıdır. AES-256 algoritması kullanılarak geliştirilen bu proje, sürükle-bırak arayüzü ve opsiyonel RSA hibrit şifreleme desteği ile hem güvenlik hem de kullanım kolaylığı sunar.
Bu proje, kriptografi temelleri, dosya sistemi işlemleri ve GUI tasarımı konularında pratik yapmak amacıyla geliştirilmiştir.
Teknik Mimari ve Özellikler
Güçlü Şifreleme
- AES-256: Endüstri standardı AES-256 algoritması kullanılarak verileriniz kırılması imkansız hale getirilir.
- RSA Hibrit Şifreleme: Opsiyonel olarak RSA anahtar çifti kullanılarak şifreleme anahtarı da şifrelenir, böylece ekstra bir güvenlik katmanı sağlanır.
Anahtar Yönetimi
- Anahtar Dosyası (.keyinfo): Şifreleme anahtarı ayrı bir dosyada saklanabilir veya şifrelenmiş dosyanın içine gömülebilir (.aesf).
- Geçerlilik Süresi: Anahtarların belirli bir süre sonra otomatik olarak geçersiz hale gelmesi sağlanabilir.
Kullanıcı Dostu Arayüz
- Sürükle-Bırak: Dosya ve klasörleri sürükleyip bırakarak kolayca şifreleyebilirsiniz.
- Çoklu Dil Desteği: Türkçe ve İngilizce dil seçenekleri sunar.
- Loglama: Yapılan tüm işlemler (şifreleme, çözme, hata vb.) log dosyasına kaydedilir.
Kullanılan Teknolojiler
| Teknoloji | Rolü | |-----------|----------------| | Python 3.x | Ana geliştirme dili | | Tkinter | Grafiksel kullanıcı arayüzü (GUI) | | PyCryptodome | Kriptografik işlemler (AES, RSA) | | OS / Sys | Dosya sistemi yönetimi |
Tech Stack
- Python 3.x
- Tkinter (GUI)
- PyCryptodome (AES/RSA)
- OS / Sys (dosya islemleri)
Technical Architecture
Masaustu arayuz uzerinden islem akisi, sifreleme orkestrasyonu ve dosya sistemi uzerine kuruludur.
UI -> Encryption Orchestrator -> Crypto Engine (AES/RSA) -> File System
Challenges & Lessons Learned
- Anahtar yonetimi ve anahtar dosyasi formatinin guvenli tasarimi
- Buyuk dosyalarda performans ve hata kurtarma akislari
- Kullanici hatalarini azaltan akici bir UX
Testing / Logging / Monitoring
- Tests: Manuel senaryolar (sifrele/coz, hatali anahtar); otomasyon planlaniyor
- Logging: Islem loglari (sifreleme/cozme/hata)
- Monitoring: Yerel uygulama, izleme gerektirmez
Kurulum
Projeyi yerel ortamda çalıştırmak için:
- Depoyu klonlayın:
git clone https://github.com/furkandalyan/AESLocker-.git - Gerekli bağımlılığı yükleyin:
pip install pycryptodome - Başlatın:
python main.py