
Python Security Project — Updated!
Python-Sicherheitsprojekt, das ein Tool zur Dateiverschlüsselung und -entschlüsselung implementiert
🔐 Desktop-Tool zur kryptografischen Dateiverschlüsselung und -entschlüsselung
Ein produktionsreifes Python-Desktop-Sicherheitsprogramm zum Schutz lokaler Dateisystemressourcen durch authentifizierte symmetrische Verschlüsselung. Diese Anwendung verfügt über eine reaktionsfähige grafische Benutzeroberfläche (GUI) auf Basis von Tkinter, eine unabhängige kryptografische Engine und strukturierte Diagnoseprotokollierung.
Kryptografische Logik
- Verschlüsselung: Klartext + Geheimer Schlüssel ──> Chiffretext
- Entschlüsselung: Chiffretext + Derselbe Geheime Schlüssel ──> Klartext
🚀 Hauptfunktionen
- Tkinter-Desktop-Oberfläche: Eine saubere, reaktionsfähige grafische Benutzeroberfläche (GUI) mit nativen Dateiauswahlen des Betriebssystems, adaptiver Rasterskalierung, benutzerdefinierten Farbübergängen für aktive Zustände und interaktiven Statusmeldungen.
- Entkoppelte Architektur: Vollständige Trennung der Zuständigkeiten zwischen der visuellen Präsentationsebene (
CryptoAppGUI) und den zentralen Backend-Verarbeitungsalgorithmen (MyCryptoProcessor). - Authentifizierte Verschlüsselung (AES-128): Nutzt die robuste Fernet-Spezifikation – aufgebaut auf AES im CBC-Modus mit einem 128-Bit-Schlüssel – und gewährleistet absolute Datenvertraulichkeit und kryptografische Integrität.
- Dual-Ziel-Protokollierungsframework: Ersetzt flüchtige Terminalausgaben durch eine native Protokollierungskonfiguration, die gleichzeitig Echtzeit-Konsolenmetriken ausgibt und dauerhafte Prüfspuren in
crypto_app.logaufzeichnet. - Laufzeit-Fehlerresilienz: Implementierte strenge Pfadbereinigung, String-Sanitisierungsroutinen und granulare try-except-Validierungsbereiche, um Pfad-Traversal-Abstürze zu verhindern und fehlende Dateien elegant zu behandeln.
- UX-Sicherheitsgates (Eingabebeschränkung): Implementierte separate, eingabebeschränkte Verzeichnisbrowser. Der Klartext-Selektor beschränkt die Ansicht auf
.txt-Dateien, während der Chiffretext-Selektor ausschließlich nach.encrypted-Dateien filtert, wodurch versehentliche Auswahlfehler vollständig vermieden werden.
🛠️ Technischer Stack
- Sprache: Python 3.x
- GUI-Framework: Tkinter / TTK (native Komponenten)
- Kryptografische Engine: cryptography (Fernet-Spezifikation)
- Protokollierungs-Engine: logging (native Komponente)
📦 Installation & Einrichtung
-
Repository klonen:
git clone https://gitlab.com/rejithregi-group/SecurityProject.git cd SecurityProject -
Abhängigkeiten installieren:
pip install -r requirements.txt
🖥️ Verwendung & Arbeitsablauf
Starten Sie das Anwendungsfenster über Ihr Terminal:
python FileEncryptionDecryptionTool.py
Typischer betrieblicher Arbeitsablauf
- Neuen Schlüssel generieren: Klicken Sie auf die blaue Schaltfläche, um eine sichere
.key-Datei zu generieren. Speichern Sie sie sicher über die native Betriebssystem-Aufforderung. Warnung: Wenn Sie diesen Schlüssel verlieren, können Ihre verschlüsselten Daten nicht wiederhergestellt werden. - Zieldatei verschlüsseln: Klicken Sie auf „Durchsuchen..." in der Zeile „Ziel-Klartextdatei" (streng auf
.txtgefiltert), wählen Sie Ihren Verschlüsselungs-Hauptschlüssel und klicken Sie auf die grüne Ausführungsschaltfläche. Die App gibt eine geschützte Kopie mit dem Suffix.encryptedaus. - Zieldatei entschlüsseln: Klicken Sie auf „Durchsuchen..." in der dafür vorgesehenen Zeile „Ziel-Chiffretextdatei" (streng auf
.encrypted-Dateien gefiltert), wählen Sie Ihren passenden Validierungsschlüssel und führen Sie die dunkle Schaltfläche aus, um Ihre Klartextressource sicher auf Ihrer Festplatte wiederherzustellen.
🔒 Sicherheitsoperationen & Prüfung
Dieses Programm implementiert aktiv automatisierte Diagnosen, um Entwicklerspuren klar zu halten:
- Systemintegritätsprüfung: Alle Dateiinteraktionen laufen innerhalb sicherer Kontextmanager (
with open), um Datenblock-Leerungen und sichere Speicherbereinigungszyklen zu gewährleisten. - Prüfprotokollierung: Jede Sitzungstransaktion, Schlüsselpfad-Zuordnung und jedes operative Chiffre-Ergebnis wird explizit in einer persistenten Datei namens
crypto_app.logabgebildet.
👨💻 Autor
- Rejith Regi
- GitLab-Profil: rejithregi-group
- Live-Projektrepository: https://gitlab.com/rejithregi-group/SecurityProject
📜 Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert.